資料包寫入¶
快速入門¶
在塊裝置部分選擇資料包支援,並在檔案系統部分選擇 UDF 支援。
編譯並安裝核心及模組,然後重啟。
你需要 udftools 軟體包 (pktsetup, mkudffs, cdrwtool)。從此處下載:https://github.com/pali/udftools
準備一張新的 CD-RW 光碟並格式化它(假設 CD-RW 為 hdc,請酌情替換)
# cdrwtool -d /dev/hdc -q
設定你的燒錄機
# pktsetup dev_name /dev/hdc
現在你可以掛載 /dev/pktcdvd/dev_name 並向其複製檔案。盡情享受吧
# mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime
DVD-RW 媒體的資料包寫入¶
如果 DVD-RW 光碟處於所謂的“受限覆蓋”模式,它們就可以像 CD-RW 光碟一樣進行寫入。要將光碟置於受限覆蓋模式,請執行
# dvd+rw-format /dev/hdc
然後你就可以像使用 CD-RW 光碟一樣使用該光碟了
# pktsetup dev_name /dev/hdc
# mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime
DVD+RW 媒體的資料包寫入¶
根據 DVD+RW 規範,支援 DVD+RW 光碟的驅動器應實現“2KB 粒度的真隨機寫入”,這意味著可以在此類光碟上放置任何塊大小 >= 2KB 的檔案系統。例如,應該可以進行
# dvd+rw-format /dev/hdc (only needed if the disc has never
been formatted)
# mkudffs /dev/hdc
# mount /dev/hdc /cdrom -t udf -o rw,noatime
然而,有些驅動器不遵循規範,並期望主機在 32KB 邊界上執行對齊寫入。其他驅動器確實遵循規範,但如果寫入未對齊 32KB,則會遇到嚴重的效能問題。
這兩個問題都可以透過使用 pktcdvd 驅動程式來解決,該驅動程式始終生成對齊寫入
# dvd+rw-format /dev/hdc
# pktsetup dev_name /dev/hdc
# mkudffs /dev/pktcdvd/dev_name
# mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime
DVD-RAM 媒體的資料包寫入¶
DVD-RAM 光碟是隨機可寫入的,因此不需要使用 pktcdvd 驅動程式。然而,使用 pktcdvd 驅動程式可以像對 DVD+RW 媒體那樣提高效能。
備註¶
CD-RW 媒體通常不能被覆蓋超過約 1000 次,因此為了避免對媒體造成不必要的磨損,你應該始終使用 noatime 掛載選項。
缺陷管理(即壞扇區的自動重對映)尚未實現,因此如果光碟磨損,你很可能會遇到檔案系統損壞的情況。
由於 pktcdvd 驅動程式使光碟顯示為具有 2KB 塊大小的常規塊裝置,你可以在光碟上放置任何你喜歡的檔案系統。例如,執行
# /sbin/mke2fs /dev/pktcdvd/dev_name
以在光碟上建立 ext2 檔案系統。
使用 pktcdvd sysfs 介面¶
自 Linux 2.6.20 以來,pktcdvd 模組具有一個 sysfs 介面,並可以透過它進行控制。例如,“pktcdvd”工具使用此介面。(參見 http://tom.ist-im-web.de/linux/software/pktcdvd )
“pktcdvd”的工作方式類似於“pktsetup”,例如:
# pktcdvd -a dev_name /dev/hdc
# mkudffs /dev/pktcdvd/dev_name
# mount -t udf -o rw,noatime /dev/pktcdvd/dev_name /dvdram
# cp files /dvdram
# umount /dvdram
# pktcdvd -r dev_name
有關 sysfs 介面的描述,請檢視檔案
使用 pktcdvd debugfs 介面¶
要以人類可讀的形式讀取 pktcdvd 裝置資訊,請執行
# cat /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/info
有關 debugfs 介面的描述,請檢視檔案
連結¶
有關 DVD 寫入的更多資訊,請參見 http://fy.chalmers.se/~appro/linux/DVD+RW/。