Packet writing to CDRWs and DVDs
You need to apply the following patches in the following order:
-
The CDRW packet writing patch from here.
Note The previous version of this patch destroyed some LG
CDROM drives which had a firmware bug. This updated version is safe.
-
A modified DVD+RW patch from here.
-
My patch from here.
-
Finally, a patch here
to make it work with DVD-RW; this patch was published by Dyson
on the Suse packet-writing mailing list.
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 CDRW packet writing patch allows you to mount a CDRW and treat
it just like any other disk - you can copy files to it, delete them,
rename them,... and so on. Of course the performance is slow.
Read the instructions on how to do this here.
-
The DVD+RW patch allows you to do the same thing with DVD+RW disks.
The instructions (with a link to the original version of this patch)
are here.
The above link is to a modified version of the DVD+RW patch which
is source-compatible with the CDRW patch.
-
My patch fixes two problems with the previous two patches:
-
The DVD+RW patch causes the CDRW patch to stop working.
-
The DVD+RW patch only works with some DVD writers. In particular,
it doesn't work with my NEC ND1300 writer. If you have this
problem, apply all three patches, follow the instructions for
making the /dev/pktcdvd0 device and running the pktsetup
program, and then use /dev/pktcdvd0 instead of /dev/scd0 for
mounting your dvd+rw disk.
-
Finally, Dyson's patch makes it all work with DVD-RW disks.
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
-
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
-
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
-
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.
-
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
-
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