Linux下刻录CDR经验点滴
时间:2007-02-17 来源:PHP爱好者
一.关于内核的配置
我们使用的是刻录机是SONY CDU928S,IDE接口的.准备采用的刻录软件是cdrecord.
机器配置如下:
CPU--Cyrix P166+
内存--EDO 48M
硬盘--IBM 10.1G
OS--RedHat 5.2,Kernel 2.2.2
首先要重新配置和编译内核.这里只列出和刻录软件有关的选项:
1. Block devices --->
<*> Include IDE/ATA-2 DISK support(否则你的硬盘起不来:-))
<> Include IDE/ATAPI CDROM support(这里注意是不要选中)
<*> SCSI emulation support(SCSI设备仿真)
Loopback device support
2. <*> SCSI support
<*> SCSI support
<*> SCSI CD-ROM support (NEW)
<*> SCSI generic support (NEW)
Verbose SCSI error reporting (kernel size +=12K) (NEW)(下面这两个选项有助于排错)
我们使用的是刻录机是SONY CDU928S,IDE接口的.准备采用的刻录软件是cdrecord.
机器配置如下:
CPU--Cyrix P166+
内存--EDO 48M
硬盘--IBM 10.1G
OS--RedHat 5.2,Kernel 2.2.2
首先要重新配置和编译内核.这里只列出和刻录软件有关的选项:
1. Block devices --->
<*> Include IDE/ATA-2 DISK support(否则你的硬盘起不来:-))
<> Include IDE/ATAPI CDROM support(这里注意是不要选中)
<*> SCSI emulation support(SCSI设备仿真)
Loopback device support
2. <*> SCSI support
<*> SCSI support
<*> SCSI CD-ROM support (NEW)
<*> SCSI generic support (NEW)
- SCSI logging facility (NEW)
3.Filesystems --->
<*> ISO 9660 CDROM filesystem support
二.关于cdrecord的版本
注意,尽量使用高版本的cdrecord,目前是cdrecord-1.8a15-2
"惨痛"的教训是,由于使用了比较低版本的cdrecord(记得是1.6a3),刻录总是不能成功,报错如下:
cdrecord: Input/output error. write_g1: scsi sendcmd: retryable error
CDB: 2A 00 00 00 00 00 00 00 10 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 12 00 00 00 00 20 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x20 Qual 0x00 (invalid command operation code) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.009s timeout 40s
write track data: error after 0 bytes
Sense Bytes: 70 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00 00 00
Writing time: 5.120s
Fixating...
cdrecord: Input/output error. close track/session: scsi sendcmd: retryable erro r
CDB: 5B 00 02 00 00 00 00 00 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 12 00 00 00 00 24 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x24 Qual 0x00 (invalid field in cdb) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.007s timeout 480s
Fixating time: 0.018s
cdrecord: fifo had 128 puts and 1 gets.
cdrecord: fifo was 0 times empty and 0 times full, min fill was 100%.
为了解决以上的问题,不知编译了多少遍内核,甚至怀疑是硬盘的问题,最后用了高版本的cdrecord-1.8a15,就一帆风顺了.
三 关于自启动的光盘的制作
关键是在制作iso文件时要找对boot.img(RedHat时的情况).我是用mkisofs,如下打命令即可:mkisofs -r -b images/boot.img -o ../rh52.iso .
以上假设你的目录结构如下:
..RedHat-5.2______
|
|__images
|
|__RedHat
|
|__doc
mkisofs是在RedHat-5.2目录下执行的,最终生成的rh52.iso在RedHat-5.2的上一级目录.
更详细的介绍请参考man cdrecord,man mkisofs,/usr/doc/cdrecord-1.xx/,/usr/doc/HOWTO/CD-Writting
php爱好者站 http://www.phpfans.net 为phper提供一切资讯.
相关阅读 更多 +