xorriso is a command line and dialog application, which creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is part of the libisoburn release tarball.
It copies file objects from POSIX compliant
filesystems into Rock Ridge enhanced ISO 9660 filesystems and performs
session-wise manipulation of such filesystems. It can load the management
information of existing ISO images and it writes the session results to
optical media or to filesystem objects. If linked with zlib
then it is able
to produce the zisofs compression format. Directory tree,
whole session, and single data files may be equipped with MD5 checksums.
Vice versa xorriso is able to copy file objects from ISO 9660 filesystems
to the disk filesystem. At that occasion it can restore ACLs and user xattr
which it may have recorded when creating the filesystem.
It can also decode zisofs
compression. MD5 checksums may be used to detect any data corruption.
To avoid unpleasant user surprises, the ISO-to-disk feature has first to be
enabled by option -osirrox.
By its -as mkisofs
emulation, xorriso is serving several GNU/Linux
distributions for the production of bootable ISO images, which not only
boot from CD, DVD, and BD, but also from disk-like devices like USB pen drives.
For an overview of known and supported boot sectors see
page about command -report_system_area.
A special property of xorriso is that it needs neither an external ISO 9660 formatter program nor an external burn program for CD, DVD, or BD but rather uses the libraries of libburnia-project.org . Especially it is related to libisoburn which hosts source and object code of xorriso. The dynamically linked binary of xorriso is therefore very lean.
All xorriso features may be used by other programs via a C language API libisoburn/xorriso.h.
Another approach for frontends via a pair of pipes and xorriso dialog mode is demonstrated by xorriso-tcltk See this screenshot of xorriso-tcltk.
Have a look at the GNU xorriso home page which gives some examples of xorriso usage, its man page, and its installation instructions.
GNU xorriso is feature-wise equivalent to the dynamic compilation of libburnia libraries and libburnia program xorriso. It restricts itself to a technical form where the legal commitments of the libburnia project and the legal intentions of FSF match completely.
Libburnia project is committed to provide support for this copy in the same way as for its own software releases. It is further committed to keep its own licenses open for obtaining future copies under GPLv2+.