xorriso is a command line and dialog application, which creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions.
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>.
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+.