Packet writing to CDRWs and DVDs

You need to apply the following patches in the following order:

This has been tested for kernel version 2.4.22; it should work with 2.4.21 and 2.4.23 also, but I haven't tried it.

What does this do?

The big problem at the moment is performance. Copying a lot of small files onto a packet-written CDRW or DVD is very slow. If you've got enough patience, you'll find that it does work, but it is certainly not usable. Copying a few large files is fine, though.

You might also like to look at the links below, especially if you're using the 2.4.23 kernel. It looks like the more recent versions of the CDRW and DVD+RW patches incorporate my changes, so that they now work together nicely. The instructions below on how to format and mount disks are still relevent, though.

Instructions

  1. Once you've applied the first patch, you can write to CDRWs as though they were very large, slow floppy disks. You format the disk and make a file system on it with the command
    cdrwtool -d /dev/scd0 -q
    and then mount it with
    mount /dev/pktcdvd0 /mnt/cdrom -t udf -o noatime
  2. The second patch allows you to do the same sort of thing with DVD+RWs, but it only works with some DVD writers (Sony but not NEC). Once you've applied this patch, you can make a file system on the DVD+RW with the command
    mkudffs /dev/scd0
    and mount the disk with
    mount /dev/scd0 /mnt/cdrom -t udf -o noatime
  3. When you apply the second patch, the first (CDRW) patch stops working. The third patch repairs this; once you've applied the third patch, you can use both CDRWs and DVD+RWs as described above.
  4. If you've got a DVD writer for which the second patch does not work (such as an NEC ND1300) all is not lost. Just apply the third patch. Then format the disk with the command
    dvd+rw-format /dev/scd0
    and make a file system with the command
    mkudffs /dev/pktcdvd0
    and mount the disk with
    mount /dev/pktcdvd0 /mnt/cdrom -t udf -o noatime
  5. Finally, if you want to use a DVD-RW disk, you need to apply all four patches. Then you need to put the disk into restricted-overwrite mode by typing
    dvd+rw-format /dev/scd0
    and then fill the disk with binary zeros
    growisofs -Z /dev/scd0=/dev/null
    and make a file system on it
    mkudffs /dev/pktcdvd0
    and finally mount it with
    mount /dev/pktcdvd0 /mnt/cdrom -t udf -o noatime

Links:

Linux CDRW packet writing
DVD+RW/+R/-R[W] for Linux
Another collection of DVD and CDRW patches, more recent than mine
suse packet-writing mailing list
cdwrite mailing list
The author