I'm making backups of about 2.3 GB of important data from a server onto
DVD+R and DVD+RW, using dvd+rw-tools-5.17.4.8.6.  The server is a Redhat
9 box, with a LiteOn IDE DVD+R/+RW drive inside.  I also want to be able
to read the backups on Windows XP machines.
I have to do something strange to make that happen.  Here are the steps
I take.

1. I make, format, mount, fill, and umount a UDF image:

dd bs=32k if=/dev/zero of=/var/backup/backup.udf count=(calc'd size)
mkudffs --media-type=dvd /var/backup/backup.udf
mount -o loop -t udf /var/backup/backup.udf /mnt/udf
cp -pf (files) /mnt/udf
umount /mnt/udf

2. I burn the UDF image to DVD+R/+RW with growisofs:

growisofs -dvd-compat -Z /dev/cdrom=/var/backup/backup.udf

At this point, the DVD is readable in the Linux box, but not on Windows,
even though I used -dvd-compat.

3. I use dvd+rw-format to write the lead-out (again?).  If the disc is a
DVD+R, I can't do this step:
dvd+rw-format -lead-out /dev/cdrom

Now the disc is readable on Windows.  I thought that step would be
redundant, because I got the impression that dvd+rw-format -lead-out and
growisofs -dvd-compat did the same thing.

This workaround is fine for DVD+RW's, but I can't use it on DVD+R's, so
I can't make the more durable, less expensive DVD+R's readable on
Windows.

I poked around the dvd+rw-tools sources for a bit and found the sections
where I think the lead-out is being written.  They all seem to send the
same commands:

        fprintf (stderr,"%s: writing lead-out\n",ioctl_device);
        cmd[0] = 0x5B;          // CLOSE TRACK/SESSION
        cmd[1] = 0x01;          // "IMMED"
        cmd[2] = 0x02;          // "Close session"
        cmd[9] = 0;
        if ((err=cmd.transport()))
                sperror ("CLOSE SESSION",err);

Am I missing something?  Anyone know why I need to write the lead-out
twice for Windows to see it?

Thanks,
James Athey

Reply via email to