Re: How to fstab
I just discovered that the default fstab line for /cdrom isn't good when you have a dvd with a file >4GB on it, which requires UDF. It should be iso9660,udf, not udf,iso9660. mount seems to try filesystems in reverse order, so putting it last makes it get tried first. edit: mount only tries the last one. reversing the order makes it fail to mount normal discs without UDF filesystems. I'll file a bug report.
I'm posting here because it took me a while to figure this out, but I don't know if it should be considered a bug, and if so what package is responsible for the default /etc/fstab anyway.
You make such a disk by using the latest version of growisofs/genisoimage (in Gutsy testing, but not Feisty.) The -allow-limited-size option makes an iso9660 filesystem with the file sizes truncated to 32 (or 31) bits, and a UDF filesystem with the proper sizes.
(This option is supported by the latest k3b, but k3b doesn't work in my gutsy chroot. It can't see the filesystem and complains about file:/// URLs. I don't know where all the sockets are for the kde IPC stuff...)
Anyway, so if you write the image to a file (genisoimage -o), and mount -o loop, Linux will use the UDF filesystem structures because /proc/filesystems lists udf before iso9660. This means the directory listing shows a 4.3GB file, in my case. Burning to a disk and doing mount /cdrom makes Linux use the iso9660 (+Rock Ridge) filesystem, which means my directory listing shows a 300MB file. With sudo mount -t udf ... I can mount the optical disc and see the 4.3GB file. The only problem anywhere with this is that Ubuntu defaults to trying iso9660 first.
BTW, it's only a problem if you have a disc with a bogus iso9660 filesystem, like genisoimage creates with -allow-limited-size. Otherwise I don't know of a reason why you'd rather have UDF instead of RR. genisoimage can't currently create images with no iso9660 filesystem, apparently because they don't trust their UDF code enough.
BTW, I like to use these options for growisofs to master+burn large files all in one go:
growisofs -volid 'disc name' /dev/dvd -speed=6 \
-use-the-force-luke=notray -dvd-compat \
-allow-limited-size -udf -rational-rock \
-allow-leading-dots -full-iso9660-filenames -relaxed-filenames -allow-lowercase \
-no-iso-translate -allow-multidot -omit-period -iso-level 3 \
-graft-points -f \
foo.vol000....par2 foo foo.vol128...par2
(par2 is forward error correction data to make the data recoverable in case of scratches. Not putting all the recovery files next to each other on disc should give you a better chance of not losing them all. growisofs orders files in the image in the order they appear on the command line.)
Usually I use k3b to set up and burn. I even have some perl scripts that I can run on a k3b project file to create par2 files for the set of files that will be on the CD. (I should publish those somewhere... email me if you want them.)
Last edited by Peter Cordes; July 8th, 2007 at 02:31 AM.
Tags for this Thread