Homepage of

xorriso

ISO 9660 Rock Ridge Filesystem Manipulator for Linux

Purpose:

xorriso 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.


Direct hop to download links ->

Hardware requirements:

A CD/DVD recorder suitable for http://libburnia-project.org
(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD and to MMC-5 for DVD).

Software requirements :

Linux with kernel 2.4 or higher (and libc, of course) :
With kernel 2.4 an ATA drive has to be under ide-scsi emulation.
With kernel 2.6 the drive should not be under ide-scsi.
libpthread
is supposed to be a standard system component.
libreadline and libreadline-dev
are optional and eventually make dialog more convenient.

GPL software included:

libburn-0.4.3
reads and writes data from and to CD and DVD.
(founded by Derek Foreman and Ben Jansens, furthered by team of libburnia-project.org)
libisofs-0.6.1
operates ISO 9660 images.
(By Vreixo Formoso from team of libburnia-project.org)
libisoburn-0.1.0
coordinates libburn and libisofs, emulates multi-session where needed.
(By Vreixo Formoso and Thomas Schmitt from team of libburnia-project.org)
The source code of this software is independent of cdrecord and mkisofs.

This program system has been tested on Intel/AMD Linux systems only.
For ports to other usable systems contact us.


Special features:

Command Examples:

Get an overview of drives and their addresses
# xorriso -devices
Being superuser avoids permission problems with /dev/srN resp. /dev/hdX .
Ordinary users should then get granted rw access to the /dev files as listed by option -devices.
 
Options are either performed as program arguments or as dialog input. Some options have a parameter list of variable length. This list has to be terminated by word '--' or by the end of the input line. Option -add may accept pathspecs of form target=source as known from program mkisofs.

Get info about a particular drive and loaded media:
$ xorriso -indev /dev/sr0 -du / -- -toc 2>&1 | less
Make re-usable media writable again, delete any ISO 9660 image:
$ xorriso -outdev /dev/sr0 -blank fast -eject all

Write some directories into a new or existing ISO 9660 image:
$ xorriso -dev /dev/sr0 -add /home/me/sounds /home/me/pictures
Check the result:
$ xorriso -indev /dev/sr0 -du / -- -toc 2>&1 | less

Create new ISO-9660 filesystem image, compose content, adjust permissions to make it publicly read-only, write it to media and immediately eject media without previously reloading the written image.
$ xorriso -outdev /dev/sr0 -blank fast -pathspecs on \
  -add /sounds=/home/me/sounds \
       /pictures=/home/me/pictures -- \
  -rm_r /sounds/indecent '/pictures/*private*' -- \
  -add /pictures/private/horses=/home/me/pictures/private/horses -- \
  -chmod_r a+r,a-w / -- \
  -find / -type d -exec chmod a+x -- \
  -volid SOUNDS_PICS_2008_01_16 \
  -commit_eject all

Load the previous session from media, remove (i.e. hide) directory /sounds, rename /pictures/private/horses, add new directory trees /sounds and /movies, disallow any access for group and others. Finally write as additional session to media and eject:
$ xorriso -dev /dev/sr0 -pathspecs on \
  -rm_r /sounds -- \
  -mv /pictures/private/horses /horse_show -- \
  -add /sounds=/home/me/prepared_for_dvd/sounds_dummy \
       /movies=/home/me/prepared_for_dvd/movies -- \
  -chmod_r go-rwx / -- \
  -volid SOUNDS_PICS_2008_01_17 \
  -commit_eject all

Merge the various sessions from old readable media into a single session on new writeable media, cleaning out all invalidated files and session overhead. Touch / in order to mark the image as worth to be written.
Important: -indev and -outdev have to be different drives.
$ xorriso -indev /dev/dvd \
  -alter_date a +0 / -- \
  -outdev /dev/sr0 -blank fast \
  -commit_eject all

Dialog mode accepts one or more options per line. An option and all its arguments have to be given in one single line. Command -end stops the program run. It will write eventually pending changes to media, if that has not already been done by a previous -commit.
$ xorriso -dialog on
enter option and arguments :
-dev /dev/sr0 -pathspecs on
enter option and arguments :
-add /sounds=/home/me/prepared_for_dvd/sounds_dummy /movies=/home/me/prepared_for_dvd/movies
Available navigation commands: -cd, -ls, -du, -find
enter option and arguments :
-commit
... perform further commands and finally do:
enter option and arguments :
-end

In batch mode it is possible to operate xorriso in a pipeline with an external consumer of the generated ISO image. Any message output will be redirected to stderr in this case.
$ xorriso -outdev - ...other.options... | consumer

Get overview of the options:
$ xorriso -help
Read the detailed manual page:
$ man xorriso
Testers wanted who are willing to risk some double layer DVD media.


Download as source code (see README):
xorriso-0.1.0.tar.gz ( KB).
Documentation:
README about installation and drive setup
xorriso -help gives an overview of options
man xorriso is the manual page
Contact:
Thomas Schmitt, scdbackup@gmx.net
libburn development mailing list, libburn-hackers@pykix.org
License:
GPL version 2, an Open Source approved license
 


Many thanks to Derek Foreman and Ben Jansens for starting libburn.
Very special thanks to Andy Polyakov whose dvd+rw-tools provide the libburnia project with invaluable examples on how to deal with DVD media and how to emulate multi-session on overwriteable media.




Enjoying free Open Source hosting by www.webframe.org
100 % Microsoft free
and by sourceforge.net
SourceForge Logo

Links to my other published software projects :
cdrskin, a cdrecord emulator
scdbackup, multi volume CD backup
(a second source of above)
Some Tools for Image Collectors
pppoem, a DSL throughput monitor (mainly for Linux kernel 2.4)


Legal statement: This website does not serve any commercial purpose.