有关 Linux 和 CD-R 的支援情况
支援的 CD-R
YAMAHA 的 CDE-10x (两倍速及四倍速都没问题)
Philips 的 CDD-52x、CDD-2000 (都是两倍速以下的)
HP 的 4020i (这台其实是 Philips CDD-2000, 但少了些规格)
支援的 kernel
理论上 1.2.x 以上的均可,但要在 drivers/scsi/scsi.c 中 做一个修改 (你可以用文字编辑器的 find
功能去找『WORM』字眼), 把 TYPE_WORM 的 writeable 打开。
case TYPE_TAPE:
case TYPE_DISK:
case TYPE_MOD:
case TYPE_PROCESSOR:
case TYPE_SCANNER:
case TYPE_WORM:
SDpnt->writeable = 1;
break;
case TYPE_ROM:
SDpnt->writeable = 0;
break;
default:
printk (\"scsi: unknown type %d\\n\", type);
把 SCSI Generic Device (sg) 也加入 kernel config 中,但可以 compile 成 module 没问题。
准备软体
mkisofs 1.05
cdwrite 2.0
cdwrite 的 source code 在 compile 时需要 /usr/include/linux 下的 .h 档, 所以要在 kernel 已做过 make dep
之後才能 compile 之。
准备一个 partition 放 image 档
DOS partition: 只要 670MB 即可。
linux native partition for ext2 fs: 约 692MB (如果 inode size=4K) 即可。
如果您需要编辑音乐光碟,则需要 760MB 的空间才足够。不过一般在 DOS/Windows
下编辑会方便很多。
如何使用 mkisofs?
一般而言,我们在 Linux 上 (或说是 Unix 上) 跑这玩意儿都只是为了做出支援 长档名的 image
来供烧录程式烧入 CD 中,所以我们大概只需要下列参数:
-R
-A [Applications ID] : 加上本 CD 的专辑名称
-p [preparer\s ID] : 加上准备者的 ID
-P [Publisher\s ID] : 加上出版者的 ID
-V [Volumn ID] : 加上本 Volume ID
-v : verbose mode
我想後面那五个应该很好懂,而『-R』是指做出 Rock Ridge 延伸格式的 ISO9660 image
档,以支援长档名及各类档案属性 (ownership, permission, link 等等)。 至於如何安排这些参数?As you
wish,只要别忘了加上 -o [output file] 及 最後加上 [source dir] 就是了。直接打 mkisofs 也会提示这些参数。
如何使用 cdwrite?
这是一个很危险的程式,一不小心还说是损失掉一片空白片,甚至有可能会损坏 您的硬碟资料。
先搞清楚您的 scsi device 有哪些?
它们在开机时被 probe 到的顺序?
OK,上面的顺序请从 a 列到 z 分别给它们一个字母代号 (这是最重要的一件事, 千万不要算错)。
您的 CD-R 是哪个字母代号?以下我们以 f 为例,请记住 sgf 就是您的 CD-R 的 generic scsi device 名称。
在 /dev/ 下作一个 symbolic link /dev/cdwriter 到 /dev/sgf:
cd /dev ; ln -s sgf cdwriter
搞清楚您的 CD-R 的牌子、烧写速度?例如是 YAMAHA 4 倍速的。
最後再确定一次您的 image 档所在?例如它放在 /dos/thisimg.iso
准备好了?那就执行 cdwrite -s 4 -v /dos/thisimg.iso 就可以了, 这个 cdwrite 会分辨该 CD-R 的 vendor name
(所以应该会显示出 正确的资讯),预设值是烧 data (不是 audio)
其他参数请自行研究 man cdwrite。
发布人:netbull 来自:LinuxAid