数据包写入¶
快速入门¶
在块设备部分选择数据包支持,在文件系统部分选择 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 接口的描述,请查看文件
Documentation/ABI/testing/sysfs-class-pktcdvd
使用 pktcdvd debugfs 接口¶
要以人类可读的形式读取 pktcdvd 设备信息,请执行
# cat /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/info
有关 debugfs 接口的描述,请查看文件
Documentation/ABI/testing/debugfs-pktcdvd
链接¶
有关 DVD 写入的更多信息,请参阅 http://fy.chalmers.se/~appro/linux/DVD+RW/。