Page 1 of 4

Microsoft, Puppy and the UDF Format

Posted: Tue 08 May 2012, 23:36
by Smithy
I find myself using Puppy more often now over Windows, now I know a bit more about what the hell is going on, but there are a few caveats, and one of them is discs that have been done in UDF.

P Burn just insists it is a blank disc in there.
I really like the P Burn prog, it has never done a bad burn yet, and Puppy feels so solid, no stuff kicking in in the background, it would be nice if it could do UDF (R/W+DL as well, and I think the ability to read and write is still in recent kernels?

I always found multisession to be a bit convoluted, whereas udf, though dodgy sometimes, was always a good choice for laying off mixes, remixes and re remixes etc.

Possibly there is not much interest in having it or using it in Puppy?

Posted: Wed 09 May 2012, 01:27
by musher0
Hello, Smithy.

I am no great specialist of UDF, but I believe it is rather unusual to use the format under Linux. You might want to see here as a starting point:

http://www.info.com/searchw?qkw=udf+lin ... =udf+linux

I have also read (a few years back) that Linux more or less skipped using UDF DVD's in favor of USB thumb drives.

Best of luck.

Posted: Wed 09 May 2012, 01:32
by Flash
UDF is in the kernel but more has to be done before you can use it. Forum member Ted Dog tried a few years ago but I don't think he got very far. Others have tried as well. As far as I know, no one has made packet writing work in Puppy.

Posted: Wed 09 May 2012, 02:40
by jamesbond
UDF can be used with or without packet-writing.

1. Most DVD that has UDF also has ISO filesystem on it, using the so-called ISO/UDF bridge. Thus the DVD can be read as if it is a regular ISO disc.

2. If all you want is to be able to read UDF disc, just do "modprobe udf" from the command line and you're good to go.

3. Without packet-writing, UDF is just another read-only filesystem. You need to pre-master it just like you pre-master ISO filesystem using mkisofs - use mkudffs & loop device instead. But you can also easily put any filesystem to a DVD ( not only ISO or UDF) e.g. ext2, ext3, ntfs ... UDF is not special here.

4. As far as I know, you cannot use multi-session with UDF. Once you write an UDF filesystem to a DVD - that's it; that's the end of the line. No further changes (unless you enable packet-writing, see below).

5. With packet writing, assuming DVD+RW media, UDF is a writable filesystem *but it has to be a pure UDF disc without ISO/UDF bridge*. You can do mkudffs straight to the device without having to pre-master it. But as said above, you can easily use ext2, ext3 ...

6. Note: Packet-writing is slow. Note again: Packet-writing is very slow. Last reminder: Packet-writing is extremely slow. It is a lot faster to do bulk writes (e.g. using growisofs).

7. It is not possible to boot from pure UDF disc. If you know how to do this, even if it's a trick, I'm interested to hear that.

I was playing with packet-writing and was thinking to support UDF/packet-writing in Fatdog despite its slowness, but point 7 is the killer.

Posted: Wed 09 May 2012, 04:58
by zigbert
Jamesbond
Interesting reading, thank you. I have to admit that my UDF-knowledge is close to none.

Pburn supports writing UDF, but the standard seems to be unsharp, since Linux-UDF can't be read by Windows. I also thought that Linux wouldn't read Windows-UDF, but you mention 'modprobe udf'.... Will this work for a disc written in Windows? if so, why isn't this setup by default during boot?


Sigmund

Posted: Wed 09 May 2012, 05:52
by jamesbond
zigbert wrote:Pburn supports writing UDF, but the standard seems to be unsharp, since Linux-UDF can't be read by Windows.
UDF has a few versions. Different version of Windows supports different version of UDF. I haven't tested it yet, but I don't see why Windows won't read UDF disc created by Linux if the version matches.

EDIT: How you do write UDF in Pburn? mkudffs? or mkisofs? If you use mkisofs, you are actually creating UDF/ISO bridge and that should work straightaway (because even if Windows can't read UDF part, it will still be able to read the ISO part).
I also thought that Linux wouldn't read Windows-UDF, but you mention 'modprobe udf'.... Will this work for a disc written in Windows?
It should be, again as long as Linux supports the UDF versions (which, as far as I know, is much better than Windows). If you have an UDF disc, try do modprobe udf then mount the disc on command line "mount -t udf /dev/sr0 /mnt/cdrom" and see what you get. Don't click the drive icon because who knows what rox is doing behind the scene :P
if so, why isn't this setup by default during boot?
I suppose to reduce memory footprint? I have found DVD disc with HFS+ (yes, HFS+ - that's Apple filesystem) on it, which is also supported as long as you do "modprobe hfs" first. It isn't loaded automatically, again I suppose because the likelihood of encountering such discs are rare. You can always load them in rc.local if you want to.

cheers!

Posted: Wed 09 May 2012, 08:15
by Smithy
Thanks for all the info and tips!

Yes James Bond, UDF is a bit slow, but I am usually only laying off a couple of hundred megs at a time.

I gave it a try with a UDF disc:

sh-4.1# modprobe udf
sh-4.1# mount -t udf /dev/sr0 /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/sr0,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

Well maybe it is time to lay off to a different format.
Is multisession reliable in Puppy?

I usually do a song/track and then write to udf dvd/cd. Then maybe a month or so later I might come back to a track or song and decide to do a jazz version or a dance version.
Normally I would just stick the udf in and make a new folder within the track folder.

If I can achieve the same thing with Pburn in a multisession way, that would do!

Posted: Wed 09 May 2012, 12:02
by Flash
Multisession seems to be utterly reliable. I've been running Puppy from a multisession CD or DVD for over 5 years. I turn off the computer every night and reboot from the DVD every morning. I can't remember a boot problem that had anything to do with multisession.

See here for a discussion about burning a separate session on a multisession DVD.

Oh, and could you please change your avatar? The movement is extremely distracting. Maybe have it cycle once when it comes into view, then stop? :)

Posted: Wed 09 May 2012, 12:16
by jamesbond
This works for Windows XP and Windows 7, I tested with dvd+rw. With other forms of media your result may vary.

Code: Select all

dd if=/dev/zero of=test.img count=0 seek=10 bs=1M # create small image file, just to speed up things
mkudffs test.img # make udf file system (mkudffs from udf-tools)
dd if=test.img of=/dev/sr0  bs=32k # burn it to DVD - be  patient. growisofs -Z /dev/sr0=test.img also works here.

#### obviously you could replace the above with mkudffs /dev/sr0 directly - but you will be in for a very very long wait .... (in fact I never finished mine, I rebooted the computer before it finished...)

mount -t udf /dev/sr0 /mnt/data # mount it back - read/write !
echo some data > /mnt/data/file # write some data to the udf disc
umount /mnt/data # save and unmount - be patient again, kernel will "finalise" the disc
Note: no packet writing driver is involved. You don't need it, but on certain writers it can help performance (a lot). Linux packet writing driver (pktcdvd) is actually only a write-combining driver - it buffers small writes and write them in one go. But dvd is still a slow device, though :)
Take the disc out and put it under Windows machines - I can read the file. In fact, this post http://superuser.com/questions/39942/us ... lash-drive says you use it on flash drive even. If it doesn't work - do you have any packet writing driver installed in Windows? InCD/DirectCD and the like? It may interfere with windows implementation of UDF (ie it will reject the disc if the UDF version is incorrect). By default, mkudffs creates UDF version 2.01 (most compatible).
mount: wrong fs type, bad option, bad superblock on /dev/sr0,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Exactly as it says, it fails to mount the disc. What is the output of dmesg?
How did you create the dvd disc (what authoring software to you use?)
Is multisession reliable in Puppy?
I don't use multisession myself so you have to take Flash's word for it.
I usually do a song/track and then write to udf dvd/cd
I never used dvd audio, so I can't tell.
Unless you're telling me you burn your raw wav/flac files to dvd.
If I can achieve the same thing with Pburn in a multisession way, that would do!
Zigbert is the best person to reply
Pburn is an awesome goodness that I only use but don't understand :)

Posted: Wed 09 May 2012, 20:00
by Smithy
There's two words in your post Flash that are most appealing: Utterly and Reliable :)

Just to clarify, the multisession burns I want to do are nothing to do with booting Puppy up, but I guess you are writing (and rewriting/ updating your save file to dvd)?
I love the versatility of Puppy Linux.

I am just backing up (archiving) recorded data, wavs, Reaper, Podium setups Cover Designs and the like, all pertaining to the same project so I don't have to rummage through loads of discs, and then I am appending data when doing remixes, maybe a month later to the same DVD disc.

James Bond, I have been using Sonic Direct Letter Access for a very long time under Windows usually udf 1.02 or 1.05. I used Roxio, but it buggered up a lot more than Veritas/Sonic programme.
Burn time for 200meg was/ is about 3 minutes or so. Time to make a cup of tea after a session.

I've had to do a few "emergency" recoveries from dual layer discs in my time, usually due to impatience, the wind blowing the wrong way or some stupid programme trying to kick in (I think, but never really got to the bottom of it). People always warned me about packet writing, but on the whole, it did the job, and when I see a button on an airplane that says "Do not press" I just can't help pressing it.

That's some very clever stuff you are doing there with no packet writing driver involved!

From what I remember about Multisession burning, it drags the last session up and links it to your new session, so that you can see it when you next load the disc, I think it needed to use up some of the megs on the disc to do this, fair enough, but I used to run out of storage space on the cd occasionally, now we are on dvd this 'aint a problem...especially dual layer.

I tried slotting in a hard disk(s) to archive, but then it adds more noise (I run a Zalman Quiet PC 'cos I record vocalists and acoustic stuff).

I will try some multisession tests with the lovely P Burn and see how it holds up!

Posted: Wed 09 May 2012, 23:41
by Flash
Read the thread I linked to above. It has links to more threads that I think you'll find useful.

Posted: Thu 10 May 2012, 03:03
by jamesbond
Smithy wrote:but I guess you are writing (and rewriting/ updating your save file to dvd)?
No. In standard multi-session puppy, savefile is never re-written. At each shutdown, changes / additional files are recorded as separate session. Previous sessions are not modified. So as you use the system like Flash does, at the end of every day you will have create a new session on you disc. This is very efficient and relatively fast (compared to packet writing).

The examples I wrote above is *not* standard puppy stuff, it's just to show that you can have udf in puppy and treat dvd+rw as if it is a slow harddisk :)
I am just backing up (archiving) recorded data, wavs, Reaper, Podium setups Cover Designs and the like, all pertaining to the same project so I don't have to rummage through loads of discs, and then I am appending data when doing remixes, maybe a month later to the same DVD disc.
If this is what you're doing, I am sure that Pburn would do this just fine. Again, I never use it myself (the times I used Pburn I always closed and finalise the session - never had the need to do multi-session), but multi-session is such a popular feature that I'm sure Ziggy would have put it in.
James Bond, I have been using Sonic Direct Letter Access for a very long time under Windows usually udf 1.02 or 1.05. I used Roxio, but it buggered up a lot more than Veritas/Sonic programme.
Burn time for 200meg was/ is about 3 minutes or so. Time to make a cup of tea after a session.
Ah, in theory it should work. UDF 1.02/1.05 is relatively old standard. What does your "dmesg" says? 200 meg that's not too bad (for packet writing).
I've had to do a few "emergency" recoveries from dual layer discs in my time, usually due to impatience, the wind blowing the wrong way or some stupid programme trying to kick in (I think, but never really got to the bottom of it). People always warned me about packet writing, but on the whole, it did the job, and when I see a button on an airplane that says "Do not press" I just can't help pressing it.
:wink: Well if it works for you then why not.
That's some very clever stuff you are doing there with no packet writing driver involved!
Not me, I'm just a user like you. The people who wrote the kernel modules are the one who deserve the praise (or the curse in case it doesn't work :wink:)
From what I remember about Multisession burning, it drags the last session up and links it to your new session, so that you can see it when you next load the disc, I think it needed to use up some of the megs on the disc to do this, fair enough, but I used to run out of storage space on the cd occasionally, now we are on dvd this 'aint a problem...especially dual layer.
Correct. If you use DVD+R you will waste less space than when you use DVD-R.

Btw - I'm wrong about UDF not supporting multi-session. The specs does support multi-session, but whether the software implementation supports it - that's another matter.
I tried slotting in a hard disk(s) to archive, but then it adds more noise (I run a Zalman Quiet PC 'cos I record vocalists and acoustic stuff).
Reminds me, I haven't been making music for a while, too busy writing scripts and compiling stuff ... I need to take a break :wink: But how about using flash drive, though? I'm quite sure that the read/write performance of a flash drive is faster than a disc? (Not to mention the capacity). I remember I avoided getting a camcorder with DVD exactly because of the noise factor problem - I ended up getting one with harddisc (and later with SD card) instead.
I will try some multisession tests with the lovely P Burn and see how it holds up!
Hopefully it meets your need. If not - you can always contact Zigbert and see what he can do.

cheers

Posted: Thu 10 May 2012, 04:50
by 01micko

Code: Select all

# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y
That's part of the kernel configuration in Slacko, not a module so it is loaded with the kernel.

FYI

Posted: Thu 10 May 2012, 17:05
by 8-bit
I downloaded a consumer preview of windows 8.
The info for it said it would wipe out any existing OS as part of the installation and the original OS and all user files would be lost.
But anyway, clicking on the ISO file opens a ISO 9660 part that has one text file that more or less says UDF support is needed to view the contents of the DVD.

I do not know if Puppy has any command line options to mount that ISO in UDF file system format. I tried using pmount with the file and that just brought up the pmount window.
Suggestions?

Posted: Thu 10 May 2012, 19:08
by zigbert
jamesbond wrote:EDIT: How you do write UDF in Pburn? mkudffs? or mkisofs? If you use mkisofs, you are actually creating UDF/ISO bridge and that should work straightaway (because even if Windows can't read UDF part, it will still be able to read the ISO part).
these switches are added to mkisofs when UDF is activated in Pburn:

Code: Select all

-allow-limited-size -udf 

Posted: Thu 10 May 2012, 19:10
by zigbert
jamesbond wrote:try do modprobe udf then mount the disc on command line "mount -t udf /dev/sr0 /mnt/cdrom"
Will do next time I get a windows-burnt disc in house


Thank you
Sigmund

Posted: Thu 10 May 2012, 19:27
by zigbert
Smithy wrote:If I can achieve the same thing with Pburn in a multisession way, that would do!
The only reason for using UDF (as I see it) is if your files are more than 4Gb. Else, a multisession with ISO9660 combined with an extended filesystem (Rockridge and/or Joliet) would be just perfect.

The above answer is only true if you mean audio-files written to a data-CD/DVD. If you on the other side actually mean an audio CD, you wouldn't use UDF, so ISO9660 would obviously also fail (Pburn supports burning Audio-CD). Audio-DVD is a completely different story. It is a set standard, but never active used. If this is what you are talking about, we have to dig deeper to learn more about the Audio-DVD specs.


Sigmund

Posted: Thu 10 May 2012, 19:28
by zigbert
jamesbond wrote:Pburn is an awesome goodness that I only use but don't understand :)
I guess that mean my coding is unreadable :roll:


Sigmund

Posted: Thu 10 May 2012, 20:51
by Karl Godt
The mount command should normally load the udf driver by itself .

If mount fails, it indicates a incompatibility with the driver or something written on the dvd disk like a MBR or whatever makes mount-FULL binary believe something is not (100%) correct or whatever .

I can mount udf dvd without problems, if i haven't experimented too much with them .

mount has got the '-s' option to tolerate sloppy mounts .
AND
Mount options for udf

udf is the "Universal Disk Format" filesystem defined by the Optical Storage Technology Association, and is often used for DVD-ROM. See also iso9660.

gid=
Set the default group.

umask=

Set the default umask. The value is given in octal.

uid=

Set the default user.

unhide

Show otherwise hidden files.

undelete
Show deleted files in lists.
nostrict
Unset strict conformance.

iocharset
Set the NLS character set.
bs=
Set the block size. (May not work unless 2048.)

novrs

Skip volume sequence recognition.

session=
Set the CDROM session counting from 0. Default: last session.
anchor=
Override standard anchor location. Default: 256.
volume=
Override the VolumeDesc location. (unused)
partition=
Override the PartitionDesc location. (unused)
lastblock=
Set the last block of the filesystem.
fileset=
Override the fileset block location. (unused)
rootdir=
Override the root directory location. (unused)
So i would try something like

Code: Select all

mkdir /mnt/DVD
mount-FULL -s -o nostrict /dev/sr0 /mnt/DVD
The codepage option might be of interest, too ; for now i have no idea about the codepage thingy.
Default codepage is mostly cp437 for western i think .

Posted: Thu 10 May 2012, 22:57
by jamesbond
zigbert wrote:
jamesbond wrote:Pburn is an awesome goodness that I only use but don't understand :)
I guess that mean my coding is unreadable :roll:
It's a compliment, really :D It means pburn works so well that I never need to see the innards to figure out what's wrong with it :D