linux/Documentation/cdrom/packet-writing.rst
<<
>>
Prefs
   1==============
   2Packet writing
   3==============
   4
   5Getting started quick
   6---------------------
   7
   8- Select packet support in the block device section and UDF support in
   9  the file system section.
  10
  11- Compile and install kernel and modules, reboot.
  12
  13- You need the udftools package (pktsetup, mkudffs, cdrwtool).
  14  Download from http://sourceforge.net/projects/linux-udf/
  15
  16- Grab a new CD-RW disc and format it (assuming CD-RW is hdc, substitute
  17  as appropriate)::
  18
  19        # cdrwtool -d /dev/hdc -q
  20
  21- Setup your writer::
  22
  23        # pktsetup dev_name /dev/hdc
  24
  25- Now you can mount /dev/pktcdvd/dev_name and copy files to it. Enjoy::
  26
  27        # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime
  28
  29
  30Packet writing for DVD-RW media
  31-------------------------------
  32
  33DVD-RW discs can be written to much like CD-RW discs if they are in
  34the so called "restricted overwrite" mode. To put a disc in restricted
  35overwrite mode, run::
  36
  37        # dvd+rw-format /dev/hdc
  38
  39You can then use the disc the same way you would use a CD-RW disc::
  40
  41        # pktsetup dev_name /dev/hdc
  42        # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime
  43
  44
  45Packet writing for DVD+RW media
  46-------------------------------
  47
  48According to the DVD+RW specification, a drive supporting DVD+RW discs
  49shall implement "true random writes with 2KB granularity", which means
  50that it should be possible to put any filesystem with a block size >=
  512KB on such a disc. For example, it should be possible to do::
  52
  53        # dvd+rw-format /dev/hdc   (only needed if the disc has never
  54                                    been formatted)
  55        # mkudffs /dev/hdc
  56        # mount /dev/hdc /cdrom -t udf -o rw,noatime
  57
  58However, some drives don't follow the specification and expect the
  59host to perform aligned writes at 32KB boundaries. Other drives do
  60follow the specification, but suffer bad performance problems if the
  61writes are not 32KB aligned.
  62
  63Both problems can be solved by using the pktcdvd driver, which always
  64generates aligned writes::
  65
  66        # dvd+rw-format /dev/hdc
  67        # pktsetup dev_name /dev/hdc
  68        # mkudffs /dev/pktcdvd/dev_name
  69        # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime
  70
  71
  72Packet writing for DVD-RAM media
  73--------------------------------
  74
  75DVD-RAM discs are random writable, so using the pktcdvd driver is not
  76necessary. However, using the pktcdvd driver can improve performance
  77in the same way it does for DVD+RW media.
  78
  79
  80Notes
  81-----
  82
  83- CD-RW media can usually not be overwritten more than about 1000
  84  times, so to avoid unnecessary wear on the media, you should always
  85  use the noatime mount option.
  86
  87- Defect management (ie automatic remapping of bad sectors) has not
  88  been implemented yet, so you are likely to get at least some
  89  filesystem corruption if the disc wears out.
  90
  91- Since the pktcdvd driver makes the disc appear as a regular block
  92  device with a 2KB block size, you can put any filesystem you like on
  93  the disc. For example, run::
  94
  95        # /sbin/mke2fs /dev/pktcdvd/dev_name
  96
  97  to create an ext2 filesystem on the disc.
  98
  99
 100Using the pktcdvd sysfs interface
 101---------------------------------
 102
 103Since Linux 2.6.20, the pktcdvd module has a sysfs interface
 104and can be controlled by it. For example the "pktcdvd" tool uses
 105this interface. (see http://tom.ist-im-web.de/download/pktcdvd )
 106
 107"pktcdvd" works similar to "pktsetup", e.g.::
 108
 109        # pktcdvd -a dev_name /dev/hdc
 110        # mkudffs /dev/pktcdvd/dev_name
 111        # mount -t udf -o rw,noatime /dev/pktcdvd/dev_name /dvdram
 112        # cp files /dvdram
 113        # umount /dvdram
 114        # pktcdvd -r dev_name
 115
 116
 117For a description of the sysfs interface look into the file:
 118
 119  Documentation/ABI/testing/sysfs-class-pktcdvd
 120
 121
 122Using the pktcdvd debugfs interface
 123-----------------------------------
 124
 125To read pktcdvd device infos in human readable form, do::
 126
 127        # cat /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/info
 128
 129For a description of the debugfs interface look into the file:
 130
 131  Documentation/ABI/testing/debugfs-pktcdvd
 132
 133
 134
 135Links
 136-----
 137
 138See http://fy.chalmers.se/~appro/linux/DVD+RW/ for more information
 139about DVD writing.
 140