电脑技术学习

如何在 FreeBSD 上使用 CD 刻录机?

dn001
目前只在;Phillips;CDD;521/522/2000/2600、HP;4020i;及相容机型上测试过,笔者使用;CD522;还没有烧坏过任何一片,还可以边跑;X;Window;上网路、看;Netscape。(附注∶笔者使用;FreeBSD;2.2-CURRENT,没试过;2.1.5R);

你可以看看;/usr/share/example/worm/;目录下的说明,内有制造;ISO;Image;的方法,以及烧;CD;的;script。;

步骤∶;
1.;add;"device;worm0";into;kernel;config;file;
2.;install;mkisofs;and;team;from;freebsd;packages;
3.;use;"makecdfs.sh";to;make;an;ISO;image;from;a;directory;source,;or;"dd;if=/dev/rcd0c;of=/tmp/cd.iso;bs=2048";if;making;image;from;CDROM;
4.;use;"burncd.sh";shell;script;to;burn;CD;ISO;Image;

*新的烧录软体*;
这个新的;cdrecord;程式号称支援大多数的;CDR,有兴趣的可以试试看。;
ftp://freebsd.csie.nctu.edu.tw/pub/jdli/collect/cd-recorder/;

---------------------;

SUPPORT;DRIVE;
=============;

HP∶HP4020,;HP6020;
PHILIPS∶CDD522,;CDD2000,;CDD2600;
PLASMON∶RF4100;

FreeBSD;Version;2.2;or;newer;

CONFIG;DEVICE;
=============;

1.;kernel;config;

在;kernel;config;里加上下面几行∶;

controller;ncr0;;;depend;on;which;SCSI;card;you;use;
controller;scbus0;;;MUST;HAVE;
device;worm0;at;scbus?;;;MUST;HAVE;

後重新;compile;kernel。;

2.;device;node;

到;/dev;下执行;./MAKEDEV;worm0;


USAGE;
=====;

1.;烧;raw;image;

/usr/share/examples/worm/burncd.sh;

这是个用来将;raw;image;烧入;CD-R;里的;shell;script。使用前需先安装team;这个;package,如果用的是;Philips;CDD2000;or;CDD2600,还要修改;35;行,把;HP;4020i;改为;PHILIPS;CDD2000。然後直接用∶;

burncd.sh;[raw;image;file;name];

来烧录。raw;image;的来源可以是用;mkisofs;做出来的,也可以是用;Easy;CDPro、WinOnCD;等软体制作出来之;image。;

2.;制作;ISO9660;/;Rock;Ridge;之;raw;image;

/usr/share/examples/worm/makecdfs.sh;

使用这个;shell;script;来将一个目录结构转成;ISO9660;或;Rock;Ridge;格式的;raw;image。使用前需安装;mkisofs;这个;package。使用方法为∶;

makecdfs.sh;[-b];{cd-title};{input-tree};{output-file};{ID};

-b∶加上这个参数可以做出可开机光碟。内定的;boot;image;是;floppies/boot.flp;(相对於;input-tree);boot.flp;可以直接拿;FreeBSD;的安装片来用。;

cd-title∶这片;CD;的;volume;name。;

input-tree∶要制作;raw;image;的目录顶点。;

output-file∶做出来的;raw;image;之档名。;

ID∶这片;CD;是谁做的。;

这样子做出来的光碟片在;DOS;上面还是;8.3;档名档式,不能有长档名。;使用;Rock;Ridge;格式,在;UNIX;下面有长档名,但不支援中文长档名。;如果不喜欢这样做出来的光碟每个目录都有个;TRANS.TBL,把;script;里;mkisofs;的;-T;参数去掉。如果不需要;Rock;Ridge;格式,把;-R;参数去掉。;

3.;On;the;Fly;

by;Kaede.bbs@sob.m7.ntu.edu.tw∶;

#!/bin/sh;
if;[;$#;-lt;3;];;then;
echo;"usage:;$0;input-tree;"cd-title";"copyright";[dummy]";
elif;[;!;-d;$1;];;then;
echo;"$0:;$1;is;not;a;directory;tree.";
elif;[;"`id;-u`";!=;"0";];;then;
echo;"Sorry,;this;must;be;done;as;root.";
else;
tree=$1;;shift;
title="$1";;shift;
copyright="$1";;shift;
echo;-n;"Place;CD;in;the;worm;drive;now;and;press;return:;";
read;junk;
scsi;-f;/dev/rworm0.ctl;-c;"0;0;0;0;0;0";>/dev/null;2>&1;
wormcontrol;select;HP;4020i;
wormcontrol;prepdisk;double;$*;
wormcontrol;track;data;
#;若需使用;Rock;Ridge;再加上;-R;参数;
mkisofs;-a;-d;-N;-D;-V;"$title";-P;"$copyright";$tree
|;rtprio;5;team;-v;1m;5;|;rtprio;5;dd;of=/dev/rworm0;obs=20k;
wormcontrol;fixate;1;onp;

4.;CD;Copy;

by;Dinosaur.bbs@bbs.ee.nthu.edu.tw;

#!/bin/sh;
if;[;"`id;-u`";!=;"0";];;then;
echo;"Sorry,;this;must;be;done;as;root.";
else;
echo;-n;"Place;CD;in;the;worm;drive;now;and;press;return:;";
read;junk;
scsi;-f;/dev/rworm0.ctl;-c;"0;0;0;0;0;0";>/dev/null;2>&1;
wormcontrol;select;PHILIPS;CDD2000;
wormcontrol;prepdisk;double;$*;
wormcontrol;track;data;
rtprio;5;dd;if=/dev/wcd0c;bs=2048;|;rtprio;5;team;-v;1m;5
|;rtprio;5;dd;of=/dev/rworm0;obs=20k;
wormcontrol;fixate;1;
fi;

经过测试,在;Panasonic;CR-584(IDE);上面完全成功,没出过飞盘。但是;SONY;CDU-415(SCSI);上面只成功过一片,剩下四片全部失事。不知道为什么,完成推翻;SCSI;CD;比较适合;CD;Copy;的说法。这种;CD;Copy;只能拷贝;mode;1;的;CD-ROM,不过不管;CD9660、Joliet、Rock;Ridge;格式均可。;

Reported;by;Enoch.bbs@bbs.math.nthu.edu.tw∶;

另外提一下;SCSI;cdrom;on-the-fly;cd-copy;
我用;12TS;对烤过;Officx97,;Diablx..etc;没出过什么问题,烤出来的片子使用也很正常,但在对烤结束时有时候会出现;dd:;invalid;argument;还没研究是什么原因找个时间再来转;image;做;md5;,确认;cd-copy;是否正常再来报告。;

5.;cd-write;

ftp://freebsd.csie.nctu.edu.tw/pub/FreeBSD-current/ports/sysutils/cd-write;

图形介面的;CD;烧录软体。除了可以烧资料光碟外,也可以拿来抓;CD;音轨、烧录;Audio;CD。在;FreeBSD;下面似乎不支援;Disk;At;Once;烧录。目前有;ports;可以直接安装。;

6.;cd-record;

ftp://freebsd.csie.nctu.edu.tw/pub/jdli/collect/cd-recorder/cdrecord/
cdrecord-1.5a5.tar.gz;

支援不少;CD-R,可烧录;multi-seesion、Audio;CD,支援;mode;1、mode;2;CD-ROM;XA;mode;1、CD-ROM;XA;mode;2、CDI;等格式;(看来好像可以烧;Video-CD?);功能看起来很强,不过在;FreeBSD;下面还没看到比较多的使用心得。在;FreeBSD;下面使用需要先做∶;

cd;/dev;;ln;-s;rworm0.ctl;scgx;

的动作;(Report;by;wte.bbs@bbs.ee.ncu.edu.tw);

Reported;by;joe@nlhyper.et.ntust.edu.tw∶;

Freebsd2.2.5;
CDR:;YAMAHA;400tx;
烧录软体:;cdrecord1.5;
(抓自freebsd.csie.nctu.edu.tw;/pub/packages-stable/All/cdrecord-1.5.tgz);

机器硬体配备;p90,;48M;ram,;IDE光碟,;AHA2940U,;两个SCSI;HD;

简单说明:;
1.;cdrecord可以支援多种CDR(包括YAMAHA;CDR这是为何要用这个软体的原因.;:);
2.;不必用到;worm;
3.;kernel部份只要有SCSI光碟机相关设定就可以.(;如;device;cd0;);因为我们本来的光碟机是IDE的,所以加上CDR後修改kernel设定加上;scsi;cdrom;的;device,;然後重做kernel.;
4.;pkg_add;之後到;/dev/;下;
ln;-s;cd0c;scgx;(cd0c:;请依自己的连接做修正);
(此部份与freebsd.csie.nctu.edu.tw内文件有点出入,;该文件说明是;ln;-s;rworm0.ctl;scgx);
5.;cdrecord;-scanbus;可以测试看看CDR是否抓到cdrecord;列出相关参数;
6.;基本操作;
cdrecord;-v;-dummy;speed=4;dev=6,0;cdrom1.iso;
-dummy表示测试..除了lazer不起动外,;其它动作会跑一次。speed=2;or;speed=4;(就是两倍或四倍速写入);
dev=6,0;(请看;CDR;是设成"几号";);建议用dummy先测一下再烧..;

ps.1;image;file;用;mkisofs;做,;mkisofs;有;packages;可以用。;
ps.2;个人用四倍速烧woju的freebsd2.2.5;v7完全没问题.;

7.;tosha;

ftp://freebsd.csie.nctu.edu.tw/pub/FreeBSD-current/ports/audio/tosha;

FreeBSD;下面用来抓音轨的程式,目前只适用於;SCSI;CD-ROM;上面。;

标签: