Skip to content

UDF multisessioning #73

@HT-7

Description

@HT-7

It appears that currently no tools to resume an UDF-only disc session exist for Linux.

I suggest the creation of a tool named something like growudf or udfmultisession for multisessioning with UDF.

There are already genisoimage (creating image file) and growisofs (direct burning to disc), but they require an ISO9660 file tree, and ISO9660 has file name and file size limitations (4 GB). After all, it was created for 700 MB CD-ROMs. And its extensions (Rock Ridge, Joliet) appear to struggle with unicode characters.

If the -r or -J options were not specified, growisofs can only generate the file tree of the new session based on the garbage ISO9660 file names which are all-uppercase, spaces replaced with underscores, shortened.

This means that creating an UDF file system on a write-once disc on Linux requires using the entire space at once, and any unused space on the disc is wasted.

On Windows, tools like ImgBurn and CDburnerXP have had this ability since the 2000s.

Perhaps this proposed tool should be based on genisoimage and growisofs, but both the abilities to create an image and to write to disc in one tool.

In the long term, this multisessioning tool should ideally get features like:

  • Revert back to an older session without adding new files
  • Create new session based on an older session
  • Change attributes like permissions
  • Remove files (useful for cleaning up after an interrupted burn)
  • Change UDF version
    • This includes upgrading an UDF 1.02 file system to a higher version to enable packet writing, and the reverse, if it is technically possible.
  • Convert UDF-only session into UDF+ISO9660, optionally with Rock Ridge and/or Joliet extensions.
    • Overlength file names should be cut off on Joliet without affecting the file name on UDF, and without affecting the extension. The file extension (for example .mp4) should not be affected by the shortening of file names.
    • Oversized files are truncated to 4 GiB.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions