LinuxQuestions.org
Review your favorite Linux distribution.
Go Back LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
 Search this Thread
Old08-23-2024, 11:37 AM  #1
exerceo
Member
 
Registered: Oct 2022
Posts: 60

Rep: Reputation: 18
Question Is there any tool for multisessioning UDF on Linux?


[Log in to get rid of this advertisement]
While growisofs and genisoimage can create UDF file systems, they require the existence of an ISO9660 file system to resume a disc, meaning to create more than one session. It can not resume UDF-only file systems that have no co-existing ISO9660 tree. It also can not resume file systems that have files above 2 GB, which is a limitation of ISO9660. And xorriso can only work with ISO9660. mkudffs can, as the name implies, only create new UDF file systems.

Is there any multisessioning tool that can work with UDF-only discs?

I am not talking about packet writing (which is also poorly supported on Linux), but sequential multisession writing.

On Windows, there are plenty of tools for this since the 2000s: ImgBurn, Nero, CDBurnerXP. Please don't tell me nothing has been developed for this for Linux in over two decades.

(For reference, ISO9660 was made for CD-ROM, where as UDF for DVD and Blu-ray and any future media, since its file size limitation is in the exabyte realm.)
 
Old08-23-2024, 01:20 PM  #2
exerceo
Member
 
Registered: Oct 2022
Posts: 60

Original Poster
Rep: Reputation: 18
Exclamation Pre-empting question

Before anyone asks "Why don't you just use Rock Ridge?":

Rock Ridge is not a file system of its own. It is an extension for ISO9660. What it does is enable longer file names and Unix-style permissions (rwxrwxrwx), but it does not get past the 2 GB limit of ISO9660 (which was designed for 700MB CD-ROMs to begin with).

Joliet is also an extension for ISO9660, not a file system. Its official specification has a 64-character limit. However, it technically supports up to 103 characters according to Wikipedia, but some devices might not recognize file names beyond 64 characters (e.g. a DVD player I tested it with). Still, this is well below the 255 characters supported by Rock Ridge and UDF.

This means ISO9660 is useless for storing files beyond 2 GB. According to Wikipedia, the limit is 4.2 GB and duplicate entries of the same file can get past that limit, but growisofs and genisoimage appear to not have implemented this.

genisoimage and growisofs can create a hybrid file system where ISO9660 and UDF reference the same files. But they can only create multisession from ISO9660 file systems. It can not expand an existing UDF file system and can not convert UDF into a hybrid (ISO9660+UDF) file system.

In other words, you can not have both files over 2 GB and multisession. If you want to create a disc with files over 2 GB, you need to fill the entire disc in one go, or you waste any unused space.

Last edited by exerceo; 08-23-2024 at 01:53 PM. Reason: post was unfinished
 
Old08-23-2024, 06:22 PM  #3
teckk
LQ Guru
 
Registered: Oct 2004
Distribution: Arch
Posts: 5,219
Blog Entries: 6

Rep: Reputation: 1874Reputation: 1874Reputation: 1874Reputation: 1874Reputation: 1874Reputation: 1874Reputation: 1874Reputation: 1874Reputation: 1874Reputation: 1874Reputation: 1874
https://www.man7.org/linux/man-pages...udfinfo.1.html
Search for Multisession.

I've never tried to make a multisession UDF disk.
 
Old08-24-2024, 01:22 AM  #4
scdbackup
Member
 
Registered: Oct 2013
Posts: 165

Rep: Reputation: Disabled
Hi,

exerceo wrote:
> Rock Ridge [...] does not get past the 2 GB limit of ISO9660

There is no such limit in the ISO 9660 / ECMA-119 specification.
(2 GiB was an old Linux limit when file size was stored in signed
32 bit integers.)

The limit of "Level of interchange" 1 and 2 is 4 GiB - 1.
The limit for level 3 is the maximum size of an ISO 9660 filesystem,
i.e. nearly 8 TiB. This is achieved by having multiple directory records
for the same file name (aka multi-extent).

(Released xorriso has a filesystem limit of 4 TiB because of libburn
and own use of 32 bit signed integers. This will be raised to the
theoretical maximum of 8 TiB in the next release.)

Mounting and reading level 3 is supported at least by Linux and by
MS-Windows. If the operating system does not support multiple extents
then xorriso can still copy multi-extent files out of the ISO filesystem.

xorriso in its native command mode enables level 3 by default.
For its mkisofs emulation it uses the traditional default 1, which can
be overriden by option [code] -iso--level 3[code].


> According to https://en.wikipedia.org/wiki/ISO_9660#Directories_and_files
> the limit is 4.2 GB

No. It mentions 4.2 GB as limit for a single extent:

"* Level 3: [...] Files are also allowed to consist of multiple
non-contiguous sections (with some restrictions as to order).
[...]
As the length of a file's extent on disc is stored in a 32 bit value,
it allows for a maximum length of just over 4.2 GB (more precisely, one
byte less than 4 GiB). It is possible to circumvent this limitation
by using the multi-extent (fragmentation) feature of ISO 9660 Level 3
to create ISO 9660 file systems and single files up to 8 TB. With this,
files larger than 4 GiB can be split up into multiple extents
(sequential series of sectors), each not exceeding the 4 GiB limit.
For example, the free software such as [...] mkisofs [...] are able
to create ISO 9660 file systems that use multi-extent files to store
files larger than 4 GiB on appropriate media such as recordable DVDs.
[...] Linux supports multiple extents."


> In other words, you can not have both files over 2 GB and multisession.

You are invited to try:

Code:
# To address a DVD or Blu-ray dive as target device do:
iso=/dev/sr0
# But before using slow optical media, try with an image file on fast disk.
# (Make sure this file does not exist yet.)
iso=/...some.large.filesystem.../test.iso

# Choose some large test files
file1=/.../some_large_file
file2=/.../some_other_large_file

# Write first session
test -e "$iso" && rm "$iso"
xorriso -outdev "$iso" -map "$file1" /file1

# Write second session
xorriso -dev "$iso" -map "$file2" /file2

# Mount on a GNU/Linux system
mount_point=/mnt/iso
sudo mount "$iso" "$mount_point"
ls -l "$mount_point"
You will see /mnt/iso/file1 and /mnt/iso/file2 with their large sizes
(as long as they are below 4 TiB, that is). Use "wc" to count their
bytes if you do not believe the sizes given by "ls -l".

Have a nice day

Thomas
 
2 members found this post helpful.
Old08-24-2024, 05:04 AM  #5
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,238

Rep: Reputation: 4150Reputation: 4150Reputation: 4150Reputation: 4150Reputation: 4150Reputation: 4150Reputation: 4150Reputation: 4150Reputation: 4150Reputation: 4150Reputation: 4150
Thank you Thomas - nice to get real information rather than uninformed conjecture perpetrated yet again.
 
Old08-24-2024, 05:57 AM  #6
scdbackup
Member
 
Registered: Oct 2013
Posts: 165

Rep: Reputation: Disabled
Hi,

syg00 wrote:
> nice to get real information rather than uninformed conjecture
> perpetrated yet again.

There are reasons why people can get to these wrong assessments:

The web is full of misinformation, including references to the totally
outdated Linux file size limit of 2 GiB - 1.

exerceo, the original poster of this thread, possibly tried with growisofs
and genisoimage, which seems to indeed ignore option "-iso-level 3". See
https://www.linuxquestions.org/quest...ile-4g-581814/

I just verified that it indeed refuses on a file of 8 GiB
Code:
$ genisoimage -iso-level 3 -o test.iso file_of_8_GB
...
File file_of_8_GB is larger than 4GiB-1.
-allow-limited-size was not specified. There is no way do represent this file size. Aborting.
But as above old thread from 2007 mentions, mkisofs usually obeys this
option.

xorriso's mkisofs emulation obeys, too:
Code:
$ ls -l file_of_8_GB
-rw-r--r-- 1 ... ... 8086618112 Aug 24 12:14 file_of_8_GB

$ xorrisofs -iso-level 3 -o test.iso file_of_8_GB
...
Written to medium : 3948727 sectors at LBA 0
Writing to 'stdio:test.iso' completed successfully.

$ sudo mount test.iso /mnt/iso
...
mount: /dev/loop0 is write-protected, mounting read-only

$ ls -l /mnt/iso
total 7897088
-rw-r--r-- 1 ... ... 8086618112 Aug 24 12:14 file_of_8_GB

$ wc /mnt/iso/file_of_8_GB
  31087708  165244132 8086618112 /mnt/iso/file_of_8_GB
People who prefer to use growisofs for multi-session burning, instead
of native xorriso as shown in my previous post, may use xorrisofs
instead of genisoimage or mkisofs by:
Code:
export MKISOFS="xorrisofs"
export GENISOIMAGE="xorrisofs"
growisofs -Z /dev/sr0 -iso-level 3 ...options.and.input.files...
growisofs -M /dev/sr0 -iso-level 3 ...options.and.input.files...
Original growisofs looks at variable MKISOFS, Debian's at GENISOMAGE.
See
https://sources.debian.org/src/dvd%2...ode.patch/#L28

The Debian developer who forked genisoimage and wodim in 2006 meanwhile
deprecated both for most puposes. Only genisoimage runs with option "-udf"
or "-hfs", and exotic wodim CD write options like "-xa" or "-raw96r" are
still valid reasons to use these programs. Your mileage may vary.

Debian still makes its inofficial ISOs for the "powerpc" architecture
by genisoimage because they need option "-hfs". All official ISOs, e.g.
for "amd64", "i386", "arm64", are made by xorrisofs.

Have a nice day

Thomas

Last edited by scdbackup; 08-24-2024 at 06:15 AM. Reason: Replaced a filename by the one mentioned in the example
 
1 members found this post helpful.
Old08-29-2024, 03:18 PM  #7
exerceo
Member
 
Registered: Oct 2022
Posts: 60

Original Poster
Rep: Reputation: 18
Post udfinfo does not write any data

Quote:
Originally Posted by teckk View Post
https://www.man7.org/linux/man-pages...udfinfo.1.html
Search for Multisession.

I've never tried to make a multisession UDF disk.
udfinfo is, as the name implies, for showing information about a UDF file system. It does not write any data.

My goal is to write multisession data.

(I will respond to the other posts shortly, I just wanted to get this one out of the way.)
 
Old08-29-2024, 04:18 PM  #8
exerceo
Member
 
Registered: Oct 2022
Posts: 60

Original Poster
Rep: Reputation: 18
Lightbulb

Quote:
Originally Posted by scdbackup View Post
Hi,

exerceo wrote:
> Rock Ridge [...] does not get past the 2 GB limit of ISO9660

There is no such limit in the ISO 9660 / ECMA-119 specification.
(2 GiB was an old Linux limit when file size was stored in signed
32 bit integers.)

The limit of "Level of interchange" 1 and 2 is 4 GiB - 1.
The limit for level 3 is the maximum size of an ISO 9660 filesystem,
i.e. nearly 8 TiB. This is achieved by having multiple directory records
for the same file name (aka multi-extent).
Then how come the growisofs manual states this?

Quote:
-allow-limited-size
When processing files larger than 2GiB which cannot be easily represented in ISO9660, add them with a shrunk visible file size to ISO9660 and with the correct visible file size to the UDF system. The result is an in‐
consistent filesystem and users need to make sure that they really use UDF rather than ISO9660 driver to read a such disk. Implies enabling -udf.
Is this an error?


Quote:
Originally Posted by scdbackup View Post
(Released xorriso has a filesystem limit of 4 TiB because of libburn
and own use of 32 bit signed integers. This will be raised to the
theoretical maximum of 8 TiB in the next release.)

Mounting and reading level 3 is supported at least by Linux and by
MS-Windows. If the operating system does not support multiple extents
then xorriso can still copy multi-extent files out of the ISO filesystem.

xorriso in its native command mode enables level 3 by default.
For its mkisofs emulation it uses the traditional default 1, which can
be overriden by option [code] -iso--level 3[code].
I see.

Quote:
Originally Posted by scdbackup View Post
> According to https://en.wikipedia.org/wiki/ISO_9660#Directories_and_files
> the limit is 4.2 GB

No. It mentions 4.2 GB as limit for a single extent:

"* Level 3: [...] Files are also allowed to consist of multiple
non-contiguous sections (with some restrictions as to order).
[...]
As the length of a file's extent on disc is stored in a 32 bit value,
it allows for a maximum length of just over 4.2 GB (more precisely, one
byte less than 4 GiB). It is possible to circumvent this limitation
by using the multi-extent (fragmentation) feature of ISO 9660 Level 3
to create ISO 9660 file systems and single files up to 8 TB. With this,
files larger than 4 GiB can be split up into multiple extents
(sequential series of sectors), each not exceeding the 4 GiB limit.
For example, the free software such as [...] mkisofs [...] are able
to create ISO 9660 file systems that use multi-extent files to store
files larger than 4 GiB on appropriate media such as recordable DVDs.
[...] Linux supports multiple extents."
But it appears genisoimage and growisofs don't make use of this ability.

Quote:
Originally Posted by scdbackup View Post
> In other words, you can not have both files over 2 GB and multisession.

You are invited to try:

Code:
# To address a DVD or Blu-ray dive as target device do:
iso=/dev/sr0
# But before using slow optical media, try with an image file on fast disk.
# (Make sure this file does not exist yet.)
iso=/...some.large.filesystem.../test.iso

# Choose some large test files
file1=/.../some_large_file
file2=/.../some_other_large_file

# Write first session
test -e "$iso" && rm "$iso"
xorriso -outdev "$iso" -map "$file1" /file1

# Write second session
xorriso -dev "$iso" -map "$file2" /file2

# Mount on a GNU/Linux system
mount_point=/mnt/iso
sudo mount "$iso" "$mount_point"
ls -l "$mount_point"
You will see /mnt/iso/file1 and /mnt/iso/file2 with their large sizes
(as long as they are below 4 TiB, that is). Use "wc" to count their
bytes if you do not believe the sizes given by "ls -l".

Have a nice day

Thomas
Unfortunately, xorriso does not support UDF.

Nonetheless, thanks for your response, Thomas. These are interesting insights.
 
Old08-29-2024, 05:16 PM  #9
scdbackup
Member
 
Registered: Oct 2013
Posts: 165

Rep: Reputation: Disabled
Hi,

Quote:
Then how come the growisofs manual states this?
Code:
When processing files larger than 2GiB which cannot be easily
represented in ISO9660 [...]
Is this an error?
Plainly: Yes.

The Debian developers who forked genisoimage from mkisofs not only
spoiled "-iso-level 3" but also invented reasoning for this in ~2007.
About the fork, see https://en.wikipedia.org/wiki/Cdrkit

Don't get me wrong: Those guys are my friends. One of them, former
Debian Project Leader Steve McIntyre, still leads production of Debian
installation ISOs by help of xorriso, of which i am the developer (if
that did not become obvious until now).

Quote:
But it appears genisoimage and growisofs don't make use of this ability.
In my second post i show how you can uses xorrisofs instead of genisoimage
by giving growisofs the name "xorrisofs" in the exported variable MKISOFS
and GENISOIMAGE. Set both of them, to cater for both growisofs flavors.

Quote:
Unfortunately, xorriso does not support UDF.
You motivated your wish for UDF by the need to store large files on
optical media. Well, that wish can be fulfilled by ISO 9660, too.

Quote:
Please don't tell me nothing has been developed for this for Linux in
over two decades.
I am indeed not aware of a program for UDF multi-session on GNU/Linux.

The specifications ECMA-167 and UDF-2.60 are ugly to read.
Obviously nobody in the free software community was motivated enough
to implement the multi-session aspect on optical media.
For multi-session on ISO 9660 (aka ECMA-119) there were a handful of
interested programmers. I am the last who is still active on that topic.

And i do my daily incremental backups on BD-R, BD-RE, and DVD+RW media.
Record holder is a BD-RE with
Code:
$ xorriso -indev /dev/sr3 -toc
...
TOC layout   : Idx ,  sbsector ,       Size , Volume Id
ISO session  :   1 ,        32 ,   1646012s , UPDATE_HOME_2022_07_16_193848
ISO session  :   2 ,   1646048 ,      9793s , UPDATE_HOME_2022_07_17_203026
...
ISO session  : 774 ,  11220096 ,     17174s , UPDATE_HOME_2024_08_27_191136
ISO session  : 775 ,  11237280 ,     17353s , UPDATE_HOME_2024_08_28_210842
ISO session  : 776 ,  11254656 ,     11424s , UPDATE_HOME_2024_08_29_214008
Media summary: 776 sessions, 11254313 data blocks, 21.5g data, 1606m free
More than two years of daily snapshots of about 5 GB of various software
projects and personal data. Many of the files are zisofs compressed, a
format known to the iso9660 driver of the Linux kernel. Regrettably zisofs
is restricted to files which are smaller than 4 GiB.

If you want more than 128 sessions on BD-R, you need an ASUS BW-16D1HT
burner. LG for example closes BD-R automatically after 128 to 135
sessions.
To our luck the multi-session on BD-RE is emulated similar to
what growisofs does. So there is few wasted space between sessions and
no limit on the number of sessions. The risk of medium failure lets me do
these backups twice on separate media. If one BD-RE fails, i copy the
other to a new one before i go on with more sessions.

Have a nice day

Thomas

Last edited by scdbackup; 08-29-2024 at 05:31 PM. Reason: Mentioned that the shown multi-session backup is zisofs compressed
 
1 members found this post helpful.
Old09-17-2024, 06:51 PM  #10
exerceo
Member
 
Registered: Oct 2022
Posts: 60

Original Poster
Rep: Reputation: 18
Lightbulb xorriso suggestions, UDF benefits

Quote:
Originally Posted by scdbackup View Post
Hi,


Plainly: Yes.

The Debian developers who forked genisoimage from mkisofs not only
spoiled "-iso-level 3" but also invented reasoning for this in ~2007.
About the fork, see https://en.wikipedia.org/wiki/Cdrkit

Don't get me wrong: Those guys are my friends. One of them, former
Debian Project Leader Steve McIntyre, still leads production of Debian
installation ISOs by help of xorriso, of which i am the developer (if
that did not become obvious until now).
I see. Thanks for explaining. I have a suggestion for xorriso: It should not spin down the disc after finishing a command, for example:

Code:
xorriso -indev /dev/sr0 -pvd_info
Spinning down actually increases power consumption because the drive needs to spin up again if the user accesses any data. And having to spin up again adds delays when running multiple commands.

If spinning down the disc is desirable, it can already be accomplished using one of these:

Code:
hdparm -y /dev/sr0
sdparm --readonly --command=stop /dev/sr0
hdparm appears to only work with internal drives, not external drives or externally connected internal drives.

It appears more recent HL-DT-ST slim drives do not forcibly spin down the disc when entering stand-by mode, but just let it spin down on its own (like hard drives do). This saves power compared to forcibly slowing down the disc, because that takes effort. But most optical drives ever made waste energy on forcibly slowing down the disc. This also has the disadvantage that if the user tries to access data in the exact second a drive spins down the disc, they need to wait for the disc to spin down to zero speed and then spin up again, which can take over five seconds.

Quote:
Originally Posted by scdbackup
In my second post i show how you can uses xorrisofs instead of genisoimage
by giving growisofs the name "xorrisofs" in the exported variable MKISOFS
and GENISOIMAGE. Set both of them, to cater for both growisofs flavors.


You motivated your wish for UDF by the need to store large files on
optical media. Well, that wish can be fulfilled by ISO 9660, too.
UDF support is necessary to make file names with over 64 characters readable on Windoze because the Joliet extension for ISO9660 has a 64-character limit, and the Rock Ridge extension for ISO9660 is unsupported on Windoze.

I am not even sure if Windoze is able to recognize multi-part ISO9660 files that exceed 4 GB.

Quote:
Originally Posted by scdbackup
I am indeed not aware of a program for UDF multi-session on GNU/Linux.
I think lots of code from genisoimage and growisofs can be re-used. After all, all that needs to be done is to take an existing UDF file tree and add some new entries with new sector numbers to it in each directory where new files were added. The existing files with the existing sector numbers can simply be imported from the previous session (or an earlier session if the user wishes so).

If this is already possible for ISO9660, and genisoimage can already create single-session UDF, multisession UDF shouldn't be too distant.

genisoimage and growisofs can not create UDF-only images, they can only add UDF to ISO9660. Only mkudffs can create UDF-only images, but it can not add any files to them. Curiously, mkudffs is able to create empty UDF 1.01, 1.02, and 1.50 images, but Linux can't write any data to them.

Quote:
Originally Posted by scdbackup
The specifications ECMA-167 and UDF-2.60 are ugly to read.
Obviously nobody in the free software community was motivated enough
to implement the multi-session aspect on optical media.
For multi-session on ISO 9660 (aka ECMA-119) there were a handful of
interested programmers. I am the last who is still active on that topic.
It doesn't have to be UDF 2.60. UDF 1.02 (the classic version which is used on DVD) is enough for multisessioning.

UDF 1.50 and above is for more fancy stuff like packet writing (using an ordinary file manager) and DVD recording, and UDF 2.60 is for Pseudo Overwrite on BD-R, but this being implemented on Linux is a distant dream for now. It was requested in 2008; perhaps it will finally have been done by 2040 (31 years after Windows 7 got it).

But UDF 2.60 writing is not urgent anyway, and UDF 2.60 reading is already thankfully supported, so packet-written discs created on Windows can at least be read on Linux.

UDF 1.02 multisessioning already fulfills the purpose of being able to add data to a disc incrementally.

Quote:
Originally Posted by scdbackup
And i do my daily incremental backups on BD-R, BD-RE, and DVD+RW media.
Record holder is a BD-RE with
Code:
$ xorriso -indev /dev/sr3 -toc
...
TOC layout   : Idx ,  sbsector ,       Size , Volume Id
ISO session  :   1 ,        32 ,   1646012s , UPDATE_HOME_2022_07_16_193848
ISO session  :   2 ,   1646048 ,      9793s , UPDATE_HOME_2022_07_17_203026
...
ISO session  : 774 ,  11220096 ,     17174s , UPDATE_HOME_2024_08_27_191136
ISO session  : 775 ,  11237280 ,     17353s , UPDATE_HOME_2024_08_28_210842
ISO session  : 776 ,  11254656 ,     11424s , UPDATE_HOME_2024_08_29_214008
Media summary: 776 sessions, 11254313 data blocks, 21.5g data, 1606m free
More than two years of daily snapshots of about 5 GB of various software
projects and personal data.
776 sessions on a single disc?

Quote:
Originally Posted by scdbackup
Many of the files are zisofs compressed, a
format known to the iso9660 driver of the Linux kernel. Regrettably zisofs
is restricted to files which are smaller than 4 GiB.
And I am guessing Windoze won't recognize it either.

Quote:
Originally Posted by scdbackup
If you want more than 128 sessions on BD-R, you need an ASUS BW-16D1HT
burner. LG for example closes BD-R automatically after 128 to 135
sessions.
To our luck the multi-session on BD-RE is emulated similar to
what growisofs does. So there is few wasted space between sessions and
no limit on the number of sessions. The risk of medium failure lets me do
these backups twice on separate media. If one BD-RE fails, i copy the
other to a new one before i go on with more sessions.

Have a nice day

Thomas
Good to know, Thomas. Thank you.

But the benefit of write-once media such as BD-R is that you can rest assured that nothing can tamper with the data once it's written, so it is inviolable by malware or unlikely accidental overwriting.

A failed burn of write-once media should ideally be handled by creating a new cleaned-up file tree in a new session, with all non-written files removed. Obviously, the the one "break point" file that was partially written should also be removed from the file tree. After that, the missing files can be added again in a new session with a new file tree.

genisoimage, and consequently growisofs and K3b which rely on it, are unfortunately unable to remove existing files from an imported session. This has been requested in 2004 but is still not implemented in K3b, whereas Windows tools like ImgBurn and CDburnerXP had this since the 2000s.

Looking at the manual of xorriso, it has an -rm option for this purpose. I haven't tried it yet, but I am assuming it will work, so thank you for implementing it.

Last edited by exerceo; 09-17-2024 at 07:03 PM. Reason: more details
 
OldYesterday, 03:01 AM  #11
scdbackup
Member
 
Registered: Oct 2013
Posts: 165

Rep: Reputation: Disabled
Hi,

Quote:
I have a suggestion for xorriso: It should not spin down the disc after
finishing a command
Within the same xorriso run, this can be disabled by command -calm_drive.
Code:
xorriso -calm_drive off -indev /dev/sr0 -pvd_info
The command may be written into a startup file, like $HOME/.xorrisorc .

At the end of the program run, the calming is done unconditionally.
I will think about a new mode for -calm_drive which prevents this.
(Main obstacle for a quick hack is that libisoburn and libburn do not
offer an opportunity for this in their API calls *_drive_release()
although the non-API libburn call burn_drive_release_fl() offers this.)

Quote:
I am not even sure if Windoze is able to recognize multi-part ISO9660
files that exceed 4 GB.
Somebody with a MS-Windows machine should make experiments and report
the outcome. Very old Linux and some of the BSDs have problems with
directory trees which are stored above 4 GiB.

The idea of the overall superblock and session superblocks was invented
by Andy Polyakov for growisofs. The idea of a recognizable chain of
session blocks is by me. For details see
"ISO 9660 multi-session emulation on overwriteable media" and
"ISO 9660 based TOC emulation on overwriteable media" in
https://dev.lovelyhq.com/libburnia/l...c/cookbook.txt

Quote:
I think lots of code from genisoimage and growisofs can be re-used
[for UDF multi-session].
growisofs has no own stake in ISO 9660 or UDF. It just operates the drive
and leaves filesystem production to an external program.
The UDF capability of genisoimage is inherited from mkisofs. Out of
copyright reasons i never took code or widescale code concepts from
mkisofs. (Joerg Schilling was opposed to my work. I respect this even
posthumously.)

Quote:
776 sessions on a single disc?
I do not expect that the hardware TOC of BD-R media would take such an
amount. But with the emulated TOC on BD-RE the only hard limit is media
size. A soft limit is the time to assess all sessions.
Meanwhile my backup needs nearly half a minute:
Code:
libisoburn: UPDATE : Found 795 ISO sessions by scanning 50 MB in 28 seconds
...
Media summary: 795 sessions, 11544617 data blocks, 22.0g data, 1038m free
(The "50 MB" are computed from 795 read operations of 64 KiB which load
the system area and the volume descriptors of each session while crawling
along the session chain.)

I will probably have to employ new BD-RE media in about a month.

Quote:
But the benefit of write-once media such as BD-R is that you can rest
assured that nothing can tamper with the data once it's written, so it is
inviolable by malware or unlikely accidental overwriting.
The drawback is that the multi-session structure cannot be easily copied
to another medium. One would have to load session by session from the
origin medium and create them one-by-one on the target medium.
Also there are firmware limits and probably medium limits for the number
of sessions.

A damaged TOC on BD-R normally makes the whole medium unreadable
whereas on BD-RE there is much more hope to retrieve much of the data.

Quote:
genisoimage, and consequently growisofs and K3b which rely on it, are
unfortunately unable to remove existing files from an imported session.
Regrettably the development of GUI burner programs had already ended
when xorriso gained a standing in the GNU/Linux world. So the only GUI
program on GNU/Linux which offers removal/hiding of files is my demo
xorriso-tcltk. See https://packages.debian.org/bookworm/xorriso-tcltk

Quote:
Looking at the manual of xorriso, it has an -rm option for this purpose.
I haven't tried it yet, but I am assuming it will work
I test this capability daily by my backup runs which use xorriso command
-update_r. New or changed files get added to the new session. Vanished
files get removed/hidden from the new session but stay accessible from
the previous session.

Have a nice day

Thomas
 
  


Reply

Tags
blu-ray, dvd



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
ThreadThread StarterForumRepliesLast Post
Why is there still no support for creating UDF 2.5/2.6 images in Linux?TobiSGDLinux - Software405-21-2012 11:05 PM
Can't mount UDF Disks in CentOS - UDF-fs: No fileset foundspoovyLinux - Desktop405-29-2010 12:06 PM
is there any way to support for udf 2.5wyzgregLinux - Kernel109-05-2008 02:59 PM
Is there any Automated Test tool which works with Linux/Linux GUI?eposSUSE / openSUSE104-16-2008 03:08 AM
Is there a CD-RW UDF plugin for Linux?lectraplayerLinux - Newbie204-18-2003 10:11 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 05:00 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Open Source Consulting | Domain Registration