一.關於內核的配置
我們使用的是刻錄機是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 COND99vION)
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 COND99vION)
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