Linux下面光盤刻錄

本文摘自 linux 伊甸園(http://www.linuxeden.com/edu/doctext.php?docid=2447)

在linux下刻盤分四部曲:

1.編譯內核(依系統情況可以略過).
2.加載相應驅動模塊.
3.製作iso9660文件系統的映象文件
4.刻盤

缺省情況下,你的linux內核或許不支持SCSI設備,而現在的刻錄機卻許多接在一個scsi卡上的.因此,在這種情況下,需要從新編譯內核,讓它支持SCSI設備,並且要根據SCSI卡所採用的芯片,將其編譯到內核或編譯成模塊.此外,爲方便測試將要刻錄的映象文件,還應該編譯時在塊設備裏面選擇支持"LOOPBACK DEVICE SUPPORT".最後,還要選擇"SCSI generic support",將其編譯成模塊,這專門是爲支持這種連接在一塊SCSI卡上的刻錄機刻錄時用的.

然後,重新啓動系統,啓動過程中會檢測SCSI設備,因爲檢測的特別快,可能看不清. 沒有關係,登錄後用"dmesg"命令來看系統查到了什麼東西,比如屏幕上打印了這麼一塊信息:

sym53c8xx: at PCI bus 0, device 9, function 0
sym53c8xx: setting PCI_COMMAND_PARITY...(fix-up)

sym53c8xx: 53c810a detected
sym53c810a-0: rev=0x23, base=0xe6000000, io_port=0xe400, irq=11
sym53c810a-0: ID 7, Fast-10, Parity Checking
sym53c810a-0: restart (scsi reset).
scsi0 : sym53c8xx - version 1.3c
scsi : 1 host.
Vendor: MATSHITA Model: CD-R CW-7502 Rev: 4.17
Type: CD-ROM ANSI SCSI revision: 02

當然了,這是在我的系統啓動時打印的信息,如果你沒有看到類似的信息,說明你沒有把SCSI卡所用芯片編譯到內核或在系統啓動時沒有把自動加載相應的驅動模塊(通過配製/etc/conf.modules在啓動時加載相應模塊).這時候,你可以手工加載模塊.當模塊加載到系統中後,就應該出現以上類似的信息了.在我用的SCSI卡上採用的芯片BIOS是"SYMBIOS 53C810AE",因此在編譯內核時選擇了"SYM53C8XX SCSI SUPPORT",並把它編譯成模塊.下面簡單介紹一下以上信息:

首先它顯示在PCI插槽上發現了SCSI卡,緊接着,發現了SCSI卡上連接的設備,它的ID號是7,在scsi0上.

當找到設備後,剩下的事情就簡單了,現在需要找的就是一些製作ISO映象程序刻錄時用的軟件.我用的軟件是cdrecord,軟件很不錯,本身可以在SCSI卡上檢測所連接設備,也支持multi-session刻錄(允許你一次刻不完下次再刻).製作ISO映象文件用的是mkisofs這個程序,一般的linux都帶這個包,在redhat中包的名字和文件的名字一樣.

假如我有一個整理好待刻的目錄,裏面有一堆很好的收藏.我首先把用下面的命令作成一個ISO格式的映象文件(這並不是刻錄,只是在硬盤上按1:1的比例將要刻的東西作並不是刻錄,只是在硬盤上按1:1的比例將要刻的東西作成一個映象):

mkisofs -r -o cd_image my_private/

"-r"指明將所有的文件屬性變成對所有人是可讀屬性的,"-o"是輸出, my_private是要刻東西所在的目錄.

作完映象文件後,可以檢測它是否正確,此時要加載曾經編譯的loop模塊,將此映象文件作爲一個文件系統"mount"上來.

mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /mnt/cdrom

進入/mnt/cdrom就可以查看文件是否正確.主意的是,用mkisofs可以製作帶光盤啓動的映象,這要通過"-b"參數,"-b"後面緊接着的是可以啓動的內核文件,它的大小是有限制的,必須是1.2或1.44或2.88MB,它的路徑也是相對於my_private目錄而言的.

最後一步,"天下無盤",你可別刻費了吆.:-) 現在就開始真正動手了.用下載來的刻錄軟件進行刻錄.

這裏只對cdrecord進行簡略介紹,還有一些圖形界面的刻錄工具,各位就自己找吧.關於cdrecord可以在 http://hkt.linuxberg.com這個網站找到.用

cdrecord -scanbus

可以顯示出下列類似信息:

Cdrecord release 1.6.1 Copyright (C) 1995-1998 J鯢g Schilling
scsibus0:
0) *
1) *
2) *
3) *
3) *
4) *
5) *
6) 'MATSHITA' 'CD-R CW-7502 ' '4.17' Removable CD-ROM

ID號爲7的一個刻錄機找到,下面開始了.

cdrecord -v speed=2 dev=6,0 cd_image

"speed=2"指明刻盤速度爲2倍速, "dev=6,0"指明關於刻錄設備的一些信息,完整的形式是"dev=devicename:scsibus,target,lun",我們這裏只有一個接在SCSI卡上的設備, 因此只些了簡略形式"dev=target,lun",其中devicename是CD-R所對應的設備名,SCSIBUS是SCSI總線號,TARGET就是剛纔檢測出來的第六項,LUN指的是SCSI設備的邏輯單元號,一般的SCSI設備只支持一個LUN.
發佈了51 篇原創文章 · 獲贊 3 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章