Full support for udf filesystem

I had my nose down for another intense bout of coding. This time, implementing proper support for the udf filesystem.

The Woof commit shows the many scripts that I edited, including an overhaul of 'probepart'.

I had to change the output of probepart slightly, which will affect some scripts. For optical media, the 2nd field previously had one of these:

iso9660 none

Now it will have one of these:

iso9660 none udf audiocd

Furthermore, if no optical media is inserted, probepart will not list the optical drive at all.
Which differs from before, which listed it even when no media inserted:


As I also edited /usr/local/bin/drive_all and /usr/sbin/pmount, I also took the opportunity to convert them from the i18n "technosaurus method" (also known as the "zigbert method" as he used it for awhile) to the gettext method.
So, a couple of scripts for the translation maintainers to tackle.

One thing that I haven't looked into is how udf can be used with multi-session pup -- maybe someone has ideas about that?

Woof commit:

Posted on 28 Jan 2013, 21:53


Posted on 29 Jan 2013, 8:27 by Ted Dog
UDF Overjoyed
sniff, constant whining and begging has finally hit paydirt! thanks, BK! udf allows files as large as the disc - the 1G data protection area. So databases, larger harddrive image files, and of course HD video can co-exist, now i am off to perfect udf multisession, with bootable udf puppylinx.

Posted on 29 Jan 2013, 8:00 by Ted Dog
UDF boot code

#growisofs -Z /dev/sr0 -udf -R -D -quiet -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
#growisofs -use-the-force-luke=notray -Z /dev/sr0 -f -iso-level 3 -D -R -allow-limited-size -udf -V \"bluracy5390\" -p root -publisher \"Ted_Dog\" -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./
growisofs -use-the-force-luke=notray -Z /dev/sr0 -udf -V \"BluSlackbones\" -p root -publisher \"Ted_Dog\" -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./
eject /dev/sr0

This contains the bootable UDF script for SlackBones, the prior hybrid version for Racy is commented out. This will also work on DVD-Rs but the large file size gained is moot. So you would not need a bluray burner for testing

Posted on 31 Jan 2013, 17:08 by BarryK
Re new probepart
Regarding my above statement:

Furthermore, if no optical media is inserted, probepart will not list the optical drive at all.
Which differs from before, which listed it even when no media inserted

Actually, this is just returning to the behaviour for kernel versions prior to 3.2 (though, not personally confirmed this behaviour change came in at 3.2, so it could have been earlier, though reports from 01micko indicate 3.2 is the culprit).

Posted on 31 Jan 2013, 18:07 by 01micko
latest woof slightly broken
Hi Barry

There is no /sbin/probedisk2 so no desktop drive icons show, I just made a symlink to /sbin/probedisk, solved problem.

Posted on 3 Feb 2013, 3:45 by amigo
UDF bs multi-session
If using UDF, then multi-session is neither possible, nor wanted. udfs (with packet-writing) allows you to treat a CD just like a big floppy or hard-disk. The whole disk must be formatted to udf and this is done at the start. Thereafter, you just write to it like a normal writable disk -except, when you delete something then it uses a system similar to aufs/unionfs 'whiteout' to ignore the previously-wriiten file. You can't really remove a file, so anything ever written to the disk stays on there and takes up space -whether still visible or not.

Posted on 3 Feb 2013, 10:36 by BarryK
Re udf "multisession"
Yes, we should be able to install Puppy to a udf disc, just like we would install to a flash drive.

Posted on 7 Feb 2013, 4:25 by amigo
Re udf "multisession"
Yes, udf should work like using a normal read-write hard-disk or flash drive -you'll want to make sure that /tmp and possibly /var (and /proc, /sys, ??) are mounted on tmpfs or otherwise isolated from / so that any writes there do not go to the udf filesystem. aufs could still be useful there, but should not be required.

There are relevant patches floating around between debian, gento and arch, for the udftools -I see I don't have my more-complete patch-set uploaded -you need some init scripts to set the device up at startup also. I was just working on this a few days ago -adding still another patch, so I'll try to get the sources all tidied up and uploaded.

Posted on 7 Feb 2013, 4:42 by amigo
UDF patches, etc.
OK, here you go:

You should find everything you need there to get it going. Best to download everything you find there as it is not all available elsewhere any longer. There's quite a few docs, there too in Resources.