You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6.3 KiB

xorriso. By Thomas Schmitt <>
Integrated sub project of but also published via:
Copyright (C) 2006-2008 Thomas Schmitt, provided under GPL version 2.

xorriso is a program which maps file objects from POSIX compliant
filesystems into Rock Ridge enhanced ISO 9660 filesystems and allows
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.

Currently it is only supported on Linux with kernels >= 2.4.

A special property of xorriso is that it needs neither an external ISO 9660
formatter program nor an external burn program for CD or DVD but rather
incorporates the libraries of .

By using this software you agree to the disclaimer at the end of this text:
"... without even the implied warranty ..."

Compilation, First Glimpse, Installation

The most simple way to get xorriso is the xorriso standalone tarball.

The tarball contains anything that is needed except libc and libpthread.
libreadline and the libreadline-dev headers will make dialog mode
more convenient, but are not mandatory.

Obtain xorriso-0.1.0.tar.gz, take it to a directory of your choice and do:

tar xzf xorriso-0.1.0.tar.gz
cd xorriso-0.1.0

Within that directory execute:

./configure --prefix=/usr

This will produce a binary named

which you may strip to reduce it in size
strip ./xorriso/xorriso

You may copy or move it to a directory where it can be found by the shell,
you may execute xorriso at the place where it was built, or you may execute
as superuser:
make install

For general concepts, options and usage examples see
man 1 xorriso

This man page is part of the tarball as
You may get a first glimpse by
man ./xorriso/xorriso.1

It gets installed with "make install" but may also be placed manually in the
./man1 directory below one of the directories mentioned in environment
variable $MANPATH.

Drives and Disk File Objects

The user of xorriso needs rw-permission for the CD burner device.
A list of rw-accessible drives can be obtained by

xorriso -devices

CD devices which offer no rw-permission are invisible to normal users.
The superuser should be able to see any usable drive and then set the
permissions as needed.

The output of xorriso -devices might look like

0 -dev '/dev/sr0' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S203B'
1 -dev '/dev/hda' rwrw-- : 'HL-DT-ST' 'DVD-ROM GDR8162B'

Full and insecure enabling of both for everybody would look like
chmod a+rw /dev/sr0 /dev/hda
This is equivalent to the traditional setup chmod a+x,u+s cdrecord.

I strongly discourage to run xorriso with setuid root or via sudo !
It is not checked for the necessary degree of hacker safety.

Consider to put all authorized users into group "floppy", to chgrp the
device file to that group and to disallow w-access to others.

A possible source of problems are hald or other automounters.
If you can spot a process "hald-addon-storage" with the address of
your desired drive, then consider to kill it.

If you cannot get rid of the automounter that easily, try whether it helps
to always load the drive tray manually before starting a write run of
xorriso. Wait until the drive light is off.
Better try to unmount an eventually mounted media before a write run.

Besides true optical drives, xorriso can also address disk files as input or
output drives. The addresses of the disk files have to be preceded by "stdio:".
xorriso -dev stdio:/tmp/pseudo_drive ...more arguments...


xorriso is based on libisofs which does ISO 9600 filesystem aspects and on
libburn which does the input and output aspects. Parts of this foundation
are accessed via libisoburn, which is closely related to xorriso.

libisoburn takes care for the emulation of ISO 9660 multi-session on
overwriteable media or random access files. It also encapsulates the
coordination between libisofs and libburn.

The sourcecode of all three libraries is included in the xorriso standalone
But you may as well get and install releases of libburn and libisofs,
in order to be able to install a release of libisoburn which produces a
dynamically linked xorriso binary. This binary is leaner but depends on
properly installed libraries of suitable revision.

Dynamic library requirements for libisoburn-0.1.0 :
- , version 0.4.2 or higher
- , version 0.6.2 or higher

Standalone xorriso has less runtime dependencies and can be copied more freely.


This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Based on and sub project of:
By Mario Danic <>,
Vreixo Formoso <>
Thomas Schmitt <>
Copyright (C) 2006-2008 Mario Danic, Vreixo Formoso, Thomas Schmitt. is inspired by and in other components still containing
parts of old
Libburn. By Derek Foreman <> and
Ben Jansens <>
Copyright (C) 2002-2006 Derek Foreman and Ben Jansens