当前位置:Linux教程 - Linux - Linux下刻录CDR经验点滴

Linux下刻录CDR经验点滴

一.关于内核的配置  

 我们使用的是刻录机是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)(下面这两个选项有助于排错)
[*] 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