libisofs is a library to create an ISO-9660 filesystem with extensions
like Rock Ridge or Joliet. It is also a full featured ISO-9660 editor,
allowing you to modify an ISO image or multisession disc, including file
addition/removal, change of file names and attributes, etc.
ISO-9660 images can be made bootable from CD, DVD, or BD via an El Torito
boot record and appropriate boot image files from boot managers like GRUB,
ISOLINUX, or system specific boot loaders. It is also possible to install
a Master Boot Record and a GUID Partition Table for hard-disk-like media,
e.g. USB memory sticks. For an overview of boot record combinations see
wiki page about xorriso -report_system_area.
If desired,the MBR can bear a first partition with non-zero start address.
In this case, the image bears a second superblock and file tree which
can be used to mount the image from the device file of the first partition.
See Partition Offset.
libisofs supports the extension AAIP which can store ACLs and xattr
in ISO-9660 filesystems.
If linked with zlib then it supports zisofs compression which is
transparently uncompressed by some Linux kernels. It is possible to have
data file content compressed to gzip format or to have it filtered by
an external process.
The code is maintained in a git repository at
Lovely HQ. You can download it with: