922 lines
30 KiB
HTML
922 lines
30 KiB
HTML
<HTML>
|
|
|
|
<HEAD>
|
|
<META NAME="description" CONTENT="GNU xorriso, creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions">
|
|
<META NAME="keywords" CONTENT="xorriso, libburn, libburnia, burn, CD, DVD, BD, ISO, ISO 9660, RockRidge, Rock Ridge, GNU/Linux, Linux, FreeBSD, Solaris, NetBSD, recording, burning, CD-R, CD-RW, DVD-R, DVD-RW, DVD+RW, DVD+R, DVD+R DL, BD-RE, BD-R, scdbackup">
|
|
<META NAME="robots" CONTENT="follow">
|
|
<TITLE>GNU xorriso - GNU Project - Free Software Foundation</TITLE>
|
|
<LINK rev="made" href="mailto:webmasters@gnu.org">
|
|
</HEAD>
|
|
|
|
<BODY BGCOLOR="#F5DEB3" TEXT=#000000 LINK=#0000A0 VLINK=#800000 ALINK=#A000A0>
|
|
<FONT SIZE=+1>
|
|
|
|
<CENTER>
|
|
<P>
|
|
<H1>GNU xorriso</H1>
|
|
|
|
<H2>ISO 9660 Rock Ridge Filesystem Manipulator<BR>
|
|
for GNU/Linux, FreeBSD, Solaris, NetBSD</H2>
|
|
</P>
|
|
</CENTER>
|
|
|
|
<P>
|
|
<H2>Purpose:</H2>
|
|
xorriso copies 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.
|
|
<BR>
|
|
Vice versa xorriso is able to copy file objects out of ISO 9660 filesystems.
|
|
</P>
|
|
<P>
|
|
|
|
<HR>
|
|
|
|
<A HREF="#download">Direct hop to download links -></A>
|
|
|
|
<P>
|
|
<H2>Hardware requirements:</H2>
|
|
About any CD, DVD, or BD recorder produced in the recent ten years.
|
|
<BR>
|
|
<A HREF="http://libburnia-project.org">libburn</A>
|
|
supports recorders which are compliant to standards MMC-1 for CD and
|
|
MMC-5 for DVD or BD.
|
|
<BR>
|
|
GNU/Linux, FreeBSD, Solaris, NetBSD provide access to drives connected
|
|
via SCSI, PATA (aka IDE, ATA), USB, or SATA.
|
|
<BR>
|
|
xorriso also operates on ISO images in data files or block devices.
|
|
Images or add-on sessions may be written to about any kind of file object.
|
|
</P>
|
|
|
|
<P>
|
|
<H2>Software requirements :</H2>
|
|
<DL>
|
|
<DT>GNU/Linux with kernel 2.4 or higher, libc, libpthread :</DT>
|
|
<DD>With kernel 2.4 a PATA/IDE drive has to be under ide-scsi emulation.</DD>
|
|
<DD>Since kernel 2.6 ide-scsi is not needed.</DD>
|
|
<DT>or FreeBSD, libc, libpthread, libcam, libiconv :</DT>
|
|
<DD>PATA/IDE drives need atapicam running.</DD>
|
|
<DD>SATA drives need atapicam running or need to be driven by ahci.</DD>
|
|
<DT>or Solaris, libc, libpthread, libvolmgt :</DT>
|
|
<DD>Tested on kernel 5.11, hopefully suitable for older ones too.</DD>
|
|
<DT>or NetBSD, libc, libpthread :</DT>
|
|
<DD>Tested on 6.1.2 and 6.1.3, hopefully suitable for older ones too.</DD>
|
|
<DT>or some other X/Open system, libc, libpthread :</DT>
|
|
<DD>
|
|
There will be no direct operation of optical drives, but only POSIX i/o
|
|
with objects of the local filesystem.
|
|
</DD>
|
|
<DD>
|
|
Might work with DVD-RAM, DVD+RW, BD-RE
|
|
but rather not with CD, DVD-R, DVD+R, BD-R.
|
|
</DD>
|
|
</DL>
|
|
|
|
<H3>Optional supporting software:</H2>
|
|
<DL>
|
|
<DT>libreadline and libreadline-dev</DT>
|
|
<DD>make dialog more convenient.</DD>
|
|
<DT>libacl and libacl-devel</DT>
|
|
<DD>allow on GNU/Linux to get and set ACLs.</DD>
|
|
<DT>zlib and zlib-devel</DT>
|
|
<DD>allow zisofs, gzip compression, and Jigdo file production.</DD>
|
|
<DT>libbz2 and libbz2-devel</DT>
|
|
<DD>allow bzip2 compression of Jigdo template files.</DD>
|
|
<DT>Tcl, Tk >= 8.4, Tcl/Tk package BWidget</DT>
|
|
<DD>enable the operation of GUI frontend script <KBD>xorriso-tcltk</KBD>.</DD>
|
|
</DL>
|
|
</P>
|
|
|
|
<P>
|
|
This program has been tested on GNU/Linux, FreeBSD, Solaris, NetBSD systems.
|
|
<BR>
|
|
For ports to other usable systems <A HREF="#contact">contact us</A>.
|
|
</P>
|
|
|
|
<HR>
|
|
|
|
<P>
|
|
<H2>Special features:</H2>
|
|
<UL>
|
|
<LI>
|
|
ISO 9660 formatter and burner for CD, DVD, BD are fixely integrated.
|
|
</LI>
|
|
<LI>
|
|
Operates on an existing ISO image or creates a new one.
|
|
</LI>
|
|
<LI>
|
|
Copies files from filesystem into the ISO image and vice versa.
|
|
</LI>
|
|
<LI>
|
|
Changes file properties, renames or deletes file objects in the ISO image.
|
|
</LI>
|
|
<LI>
|
|
Updates ISO subtrees incrementally to match given disk subtrees.
|
|
</LI>
|
|
<LI>
|
|
Can record and restore hard link relations, ACL, and xattr.
|
|
</LI>
|
|
<LI>
|
|
Can attach MD5 checksums to each data file and the whole session.
|
|
</LI>
|
|
<LI>
|
|
File content may get zisofs or gzip compressed or filtered by external
|
|
processes.
|
|
</LI>
|
|
<LI>
|
|
Can activate ISOLINUX and GRUB boot equipment by El Torito boot record,
|
|
MBR code for BIOS, or EFI System Partition.
|
|
</LI>
|
|
<LI>
|
|
Writes result as completely new image or as add-on session
|
|
to optical media or filesystem objects.
|
|
</LI>
|
|
<LI>
|
|
Can perform multi-session tasks as emulation of mkisofs and cdrecord.
|
|
</LI>
|
|
<LI>
|
|
Can issue commands to mount older sessions on GNU/Linux or FreeBSD.
|
|
</LI>
|
|
<LI>
|
|
Can check media for damages and copy readable blocks to disk.
|
|
</LI>
|
|
<LI>
|
|
Scans for optical drives, blanks re-useable optical media, formats media.
|
|
</LI>
|
|
<LI>
|
|
Suitable for:
|
|
CD-R, CD-RW, DVD-R, DVD-R DL, DVD-RW, DVD+R, DVD+R DL, DVD+RW, DVD-RAM,
|
|
BD-R, BD-RE.
|
|
</LI>
|
|
<LI>
|
|
Reads its instructions from command line arguments, dialog, and batch files.
|
|
</LI>
|
|
<LI>
|
|
Provides navigation commands for interactive ISO image manipulation.
|
|
</LI>
|
|
|
|
</UL>
|
|
</P>
|
|
|
|
<P>
|
|
Note that xorriso does not write audio CDs and that it does not
|
|
produce UDF filesystems which are specified for official video DVD or BD.
|
|
</P>
|
|
|
|
<P>
|
|
<H2>GUI Frontend:</H2>
|
|
xorriso itself is entirely controlled by text commands. In dialog mode,
|
|
xorriso reads them as text lines from standard input.
|
|
Together with some helpful xorriso commands, it is quite easy for frontend
|
|
programs to operate a separate xorriso process.
|
|
<BR>
|
|
Other than the usual batch programs, xorriso will take care of maintaining
|
|
the emerging ISO image model. Its state can be inquired by the frontend
|
|
at any time. The frontend is supposed to care for the display of the inquired
|
|
xorriso state and to send xorriso commands to manipulate the ISO image model.
|
|
<BR>
|
|
As a proof of concept, there is a Tcl/Tk script which can
|
|
be launched by shell command <KBD>xorriso-tcltk</KBD>
|
|
<BR>
|
|
Click on this image to see a screenshot:
|
|
<BR>
|
|
<A HREF="xorriso-tcltk-screen.gif">
|
|
<IMG SRC="xorriso-tcltk-thumb.jpg" BORDER=1
|
|
ALT="To screenshot of frontend script xorriso-tcltk"></A>
|
|
<BR>
|
|
See also file
|
|
<A HREF="https://dev.lovelyhq.com/libburnia/libisoburn/raw/master/frontend/README-tcltk">
|
|
frontend/README-tcltk.
|
|
</A>
|
|
<BR>
|
|
The script <KBD>xorriso-tcltk</KBD>
|
|
is part of the tarball and gets installed by <KBD>make install</KBD>. If a
|
|
xorriso distro package does not install it, you may get it directly from
|
|
<A HREF="https://dev.lovelyhq.com/libburnia/libisoburn/raw/master/frontend/xorriso-tcltk">
|
|
libburnia git: libisoburn/frontend/xorriso-tcltk
|
|
</A>
|
|
You will probably have to give it x-permission after download. Some browsers
|
|
insist in adding ".htm" to the file name.
|
|
<BR>
|
|
Further you need xorriso >= 1.5.4, Tcl, Tk >= 8.4,
|
|
Tcl/Tk package "BWidget".
|
|
</P>
|
|
|
|
<P>
|
|
<H2>Command Examples:</H2>
|
|
<DL>
|
|
|
|
<DT>Get an overview of drives and their addresses</DT>
|
|
<DD>#<KBD> xorriso -devices</KBD></DD>
|
|
<DD><KBD>...</KBD></DD>
|
|
<DD><KBD>0 -dev '/dev/sr0' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S203B'</KBD></DD>
|
|
<DD><KBD>1 -dev '/dev/scd1' rwrw-- : 'PHILIPS ' 'SPD3300L'</KBD></DD>
|
|
<DD><KBD>2 -dev '/dev/hda' rwrw-- : 'HL-DT-ST' 'DVD-ROM GDR8162B'</KBD></DD>
|
|
<DD><KBD>...</KBD></DD>
|
|
<DT>Being superuser avoids permission problems with /dev/srN resp. /dev/hdX .
|
|
</DT>
|
|
<DT>
|
|
Ordinary users should then get granted access to the /dev files
|
|
as listed by option --devices. GNU/Linux, FreeBSD, NetBSD demand rw-permission.
|
|
On Solaris it is r-permission and privileges "basic,sys_devices".
|
|
</DT>
|
|
<DT> </DT>
|
|
|
|
<DT>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.</DT>
|
|
|
|
<HR>
|
|
|
|
<DT>Get info about a particular drive and loaded media:</DT>
|
|
<DD>$<KBD> xorriso -indev /dev/sr0 -du / -- -toc 2>&1 | less</KBD></DD>
|
|
|
|
<DT>Make re-usable media writable again, delete any ISO 9660 image,
|
|
prepare yet unused BD-RE:</DT>
|
|
<DD>$<KBD> xorriso -outdev /dev/sr0 -blank as_needed -eject all</KBD></DD>
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>Write some directories into a new or existing ISO 9660 image:</DT>
|
|
<DD>$<KBD> xorriso -dev /dev/sr0 -add /home/me/sounds /home/me/pictures
|
|
</KBD></DD>
|
|
|
|
<DT>Have a look at the result:</DT>
|
|
<DD>$<KBD> xorriso -indev /dev/sr0 -du / -- -toc 2>&1 | less</KBD></DD>
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>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.
|
|
</DT>
|
|
<DD>$<KBD> cd /home/me</KBD></DD>
|
|
<DD>$<KBD> xorriso -outdev /dev/sr0 -blank as_needed \</KBD></DD>
|
|
<DD><KBD> -map /home/me/sounds /sounds \</KBD></DD>
|
|
<DD><KBD> -map /home/me/pictures /pictures \</KBD></DD>
|
|
<DD><KBD> -rm_r /sounds/indecent '/pictures/*private*' -- \</KBD></DD>
|
|
<DD><KBD> -cd / \</KBD></DD>
|
|
<DD><KBD> -add pictures/private/horses* -- \</KBD></DD>
|
|
<DD><KBD> -chmod_r a+r,a-w / -- \</KBD></DD>
|
|
<DD><KBD> -find / -type d -exec chmod a+x -- \</KBD></DD>
|
|
<DD><KBD> -volid SOUNDS_PICS_2008_01_16 \</KBD></DD>
|
|
<DD><KBD> -commit_eject all</KBD></DD>
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>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:</DT>
|
|
<DD>$<KBD> xorriso -dev /dev/sr0 \</KBD></DD>
|
|
<DD><KBD> -rm_r /sounds -- \</KBD></DD>
|
|
<DD><KBD> -mv /pictures/private/horses /horse_show -- \</KBD></DD>
|
|
<DD><KBD> -map /home/me/prepared_for_dvd/sounds_dummy /sounds \</KBD></DD>
|
|
<DD><KBD> -map /home/me/prepared_for_dvd/movies /movies \</KBD></DD>
|
|
<DD><KBD> -chmod_r go-rwx / -- \</KBD></DD>
|
|
<DD><KBD> -volid SOUNDS_PICS_2008_01_17 \</KBD></DD>
|
|
<DD><KBD> -commit_eject all</KBD></DD>
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>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.
|
|
<BR>
|
|
Important: -indev and -outdev have to be different drives.
|
|
</DT>
|
|
<DD>$<KBD> xorriso -indev /dev/dvd \</KBD></DD>
|
|
<DD><KBD> -alter_date a +0 / -- \</KBD></DD>
|
|
<DD><KBD> -outdev /dev/sr0 -blank fast \</KBD></DD>
|
|
<DD><KBD> -commit_eject all</KBD></DD>
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>Dialog mode accepts one or more options per line. An option and all its
|
|
arguments have to be given in one single line. Backslash may be used to mark
|
|
a line as incomplete so it gets continued by the next input line.
|
|
<BR>
|
|
Command -end stops the program run. It will write pending changes
|
|
to media, if that has not already been done by a previous -commit.</DT>
|
|
<DD>$<KBD> xorriso -dialog on</KBD></DD>
|
|
<DD><KBD>enter option and arguments :</KBD></DD>
|
|
<DD><KBD><B>-dev /dev/sr0</B></KBD></DD>
|
|
<DD><KBD>enter option and arguments :</KBD></DD>
|
|
<DD><KBD><B>-map /home/me/prepared_for_dvd/sounds_dummy /sounds</B></KBD></DD>
|
|
<DD><KBD>enter option and arguments :</KBD></DD>
|
|
<DD><KBD><B>-map /home/me/prepared_for_dvd/movies \</B></KBD></DD>
|
|
<DD><KBD>Trailing backslash : Enter rest of line (or @@@ to clear it) :
|
|
</KBD></DD>
|
|
<DD><KBD><B> /movies</B></KBD></DD>
|
|
<DD>Available navigation commands: -cd, -ls, -du, -find</DD>
|
|
<DD><KBD>enter option and arguments :</KBD></DD>
|
|
<DD><KBD><B>-commit</B></KBD></DD>
|
|
<DD>... perform further commands and finally do:</DD>
|
|
<DD><KBD>enter option and arguments :</KBD></DD>
|
|
<DD><KBD><B>-end</B></KBD></DD>
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>The following command performs incremental backup.
|
|
It can be run on blank media to create a copy of the mentioned disk
|
|
directory trees, and it can be run on appendable media to perform a
|
|
minimal set of change operations which update the old ISO copies
|
|
to match the new disk trees.
|
|
Older states can be retrieved by help of mount options like "sbsector="
|
|
or by help of xorriso option -mount.
|
|
<BR>
|
|
Eventual ACL, xattr and hardlink relations will be recorded. MD5 checksums
|
|
will be computed and recorded. Data comparison will be avoided by accelerator
|
|
option -disk_dev_ino. After writing, the new session will be checked
|
|
by its recorded MD5.
|
|
<BR>
|
|
Only blank media or media with volume id "PROJECTS_MAIL_..." will be accepted.
|
|
Files with names ending by ".o" or ".swp" are excluded by options -not_leaf.
|
|
</DT>
|
|
<DD>$<KBD> xorriso -for_backup -disk_dev_ino on \</KBD></DD>
|
|
<DD><KBD> -assert_volid 'PROJECTS_MAIL_*' FATAL \</KBD></DD>
|
|
<DD><KBD> -dev /dev/sr0 \</KBD></DD>
|
|
<DD><KBD> -volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \</KBD></DD>
|
|
<DD><KBD> -not_leaf '*.o' -not_leaf '*.swp' \</KBD></DD>
|
|
<DD><KBD> -update_r /home/thomas/projects /projects \</KBD></DD>
|
|
<DD><KBD> -update_r /home/thomas/personal_mail /personal_mail \</KBD></DD>
|
|
<DD><KBD> -commit -toc -check_md5 FAILURE -- -eject all</KBD></DD>
|
|
|
|
<DT>
|
|
To apply zisofs compression to those data files which get newly copied from
|
|
the local filesystem, perform immediately before -commit :
|
|
<DD><KBD> -hardlinks perform_update \</KBD></DD>
|
|
<DD>
|
|
<KBD> -find / -type f -pending_data -exec set_filter --zisofs -- \</KBD></DD>
|
|
</DD>
|
|
</DT>
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>
|
|
Operating systems usually mount the most recent session on media.
|
|
xorriso can issue the appropriate mount commands for older sessions.
|
|
First get an overview of the sessions on the media:
|
|
</DT>
|
|
<DD>$<KBD> xorriso -outdev /dev/sr0 -toc</KBD></DD>
|
|
<PRE>
|
|
TOC layout : Idx , sbsector , Size , Volume Id
|
|
ISO session : 1 , 0 , 104719s , PROJECTS_MAIL_2008_08_10_231435
|
|
ISO session : 2 , 106928 , 6785s , PROJECTS_MAIL_2008_08_14_184548
|
|
...
|
|
ISO session : 76 , 820384 , 11035s , PROJECTS_MAIL_2009_01_04_191150
|
|
</PRE>
|
|
|
|
<DT>
|
|
Then become superuser and let xorriso mount the session of August 14, 2008
|
|
to directory /mnt:
|
|
</DT>
|
|
<DD>#<KBD>
|
|
xorriso -osirrox on -mount /dev/sr0 volid '*_2008_08_14_*' /mnt
|
|
</KBD></DD>
|
|
<DT>
|
|
To be later unmounted by: <KBD>umount /mnt</KBD>
|
|
</DT>
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>
|
|
For creating bootable ISO images with GRUB2, use its script
|
|
<KBD>grub-mkrescue</KBD> which knows how to operate xorriso.
|
|
</DT>
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>
|
|
After the user has already created a suitable file tree on disk
|
|
and copied the ISOLINUX files into subdirectory ./boot/isolinux of
|
|
that tree, xorriso can burn an El Torito bootable media:
|
|
</DT>
|
|
<DD>$<KBD> xorriso -outdev /dev/sr0 -blank as_needed \</KBD></DD>
|
|
<DD><KBD> -map /home/me/ISOLINUX_prepared_tree / \</KBD></DD>
|
|
<DD><KBD> -boot_image isolinux dir=/boot/isolinux</KBD></DD>
|
|
<DT>
|
|
An MBR may be added if the file isolinux.bin is modern enough for "isohybrid"
|
|
(syslinux version 3.72). It enables booting from hard disk or USB stick:
|
|
</DT>
|
|
<DD><KBD> -boot_image isolinux system_area=mbr/isohdpfx.bin \</KBD></DD>
|
|
<DD><KBD> -boot_image isolinux partition_table=on \</KBD></DD>
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>ISO images may not only be stored on optical media but also in
|
|
regular disk files or block devices for full multi-session operation.
|
|
</DT>
|
|
<DD>$<KBD> xorriso -dev /tmp/regular_file ...other.options...</DD>
|
|
<DT>
|
|
A default setting for safety reasons requires that files below /dev/
|
|
need prefix "stdio:" if they do not lead to MMC burner devices.
|
|
Be cautious not to overwrite your hard disk instead of your USB stick:
|
|
</DT>
|
|
<DD>$<KBD> xorriso -dev stdio:/dev/sdb ...other.options...</DD>
|
|
|
|
<DT>Other file types are suitable only for writing but not for reading:</DT>
|
|
<DD>$<KBD> xorriso -outdev /tmp/named_pipe ...other.options...</DD>
|
|
|
|
<DT>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.
|
|
Examples for consumers are cdrecord or growisofs on operating systems
|
|
where xorriso cannot operate the burner drive directly,
|
|
or a ssh pipe to another system which has the desired drive
|
|
and a suitable burn program.</DT>
|
|
<DD>$<KBD> xorriso -outdev - ...other.options... | consumer</KBD></DD>
|
|
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>
|
|
Let xorriso serve underneath growisofs via its alias name "xorrisofs"
|
|
which enables mkisofs emulation:
|
|
</DT>
|
|
<DD>$<KBD> export MKISOFS="xorrisofs"</KBD></DD>
|
|
<DD>$<KBD> growisofs -Z /dev/dvd /some/files</KBD></DD>
|
|
<DD>$<KBD> growisofs -M /dev/dvd /more/files</KBD></DD>
|
|
<DT>
|
|
One may switch from mkisofs emulation to xorriso's own command mode:
|
|
</DT>
|
|
<DD>$<KBD> growisofs -M /dev/dvd -- outdev - -update_r /my/files /files
|
|
</KBD></DD>
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>If for any reason the reading operating system mishandles the ISO image
|
|
or some files in it, one may enable reverse operation of xorriso and copy
|
|
files or trees to disk:
|
|
</DT>
|
|
<DD>$<KBD> xorriso -acl on -xattr on \</KBD></DD>
|
|
<DD><KBD> -indev /dev/sr0 \</KBD></DD>
|
|
<DD><KBD> -osirrox on \</KBD></DD>
|
|
<DD><KBD> -cpx '/pictures/private/horses*/*buttercup*' \</KBD></DD>
|
|
<DD><KBD> /home/her/buttercup_dir -- \</KBD>
|
|
</DD>
|
|
<DD><KBD> -extract /sounds /home/her/sounds_from_me</KBD></DD>
|
|
<DT>Consider to enter dialog mode and use commands like
|
|
<KBD>-cd , -du , -lsl , -find<KBD>.
|
|
</DT>
|
|
|
|
<DT>
|
|
<HR>
|
|
</DT>
|
|
|
|
<DT>Get overview of the options:</DT>
|
|
<DD>$<KBD> <A HREF="xorriso_help">xorriso -help</A></KBD></DD>
|
|
|
|
<DT>Read the detailed manual page:</DT>
|
|
<DD>$<KBD> <A HREF="man_1_xorriso.html">man xorriso</A></KBD></DD>
|
|
</DL>
|
|
|
|
</P>
|
|
|
|
<HR>
|
|
<A NAME="download"></A>
|
|
<P>
|
|
<DL>
|
|
<DT><H3>Download as source code (see README):</H3></DT>
|
|
<DD><A HREF="xorriso-1.5.4.pl02.tar.gz">xorriso-1.5.4.pl02.tar.gz</A>
|
|
(2720 KiB).
|
|
</DD>
|
|
<DD>(Released 06 Feb 2021)</DD>
|
|
<DD><A HREF="xorriso-1.5.4.pl02.tar.gz.sig">xorriso-1.5.4.pl02.tar.gz.sig</A></DD>
|
|
<DD>
|
|
(detached GPG signature for verification by either
|
|
<BR>
|
|
<KBD>wget https://ftp.gnu.org/gnu/gnu-keyring.gpg</KBD>
|
|
<BR>
|
|
<KBD>gpg --with-fingerprint --keyring ./gnu-keyring.gpg --verify xorriso-1.5.4.pl02.tar.gz.sig</KBD>
|
|
<BR>
|
|
or
|
|
<BR>
|
|
<KBD>gpg --keyserver keyserver.ubuntu.com --recv-keys ABC0A854</KBD>
|
|
<BR>
|
|
<KBD>gpg --with-fingerprint --verify xorriso-1.5.4.pl02.tar.gz.sig</KBD>
|
|
<BR>
|
|
Both should confirm
|
|
<BR>
|
|
<KBD>gpg: Good signature from "Thomas Schmitt <scdbackup@gmx.net>"</KBD>
|
|
<BR>
|
|
<KBD>
|
|
Primary key fingerprint: 44BC 9FD0 D688 EB00 7C4D D029 E9CB DFC0 ABC0 A854
|
|
</KBD>
|
|
)
|
|
<BR>
|
|
</DD>
|
|
<DD>
|
|
Also on <A HREF="http://www.gnu.org/prep/ftp.html">
|
|
mirrors of ftp://ftp.gnu.org/gnu/ </A>
|
|
as xorriso/xorriso-1.5.4.pl02.tar.gz
|
|
</DD>
|
|
</DL>
|
|
</DD>
|
|
</DL>
|
|
<DL><DT>Documentation:</DT>
|
|
<DD><A HREF="README_xorriso">README</A> about installation and drive setup</DD>
|
|
<DD><A HREF="xorriso_help">xorriso -help</A> gives an overview of options</DD>
|
|
<DD><A HREF="xorrisofs_help">xorriso -as mkisofs -help</A>
|
|
supported options of mkisofs emulation
|
|
</DD>
|
|
<DD><A HREF="xorrecord_help">xorriso -as cdrecord -help</A>
|
|
supported options of cdrecord emulation</DD>
|
|
<DD><A HREF="man_1_xorriso.html">man xorriso</A> is the manual page</DD>
|
|
<DD><A HREF="man_1_xorrisofs.html">man xorrisofs</A>
|
|
describes the mkisofs emulation</DD>
|
|
<DD><A HREF="man_1_xorrecord.html">man xorrecord</A>
|
|
describes the cdrecord emulation</DD>
|
|
</DL>
|
|
<A NAME="contact"></A>
|
|
<DL><DT>Contact:</DT>
|
|
<DD>GNU xorriso support mailing list,
|
|
<A HREF="mailto:bug-xorriso@gnu.org">bug-xorriso@gnu.org</A></DD>
|
|
<DD>Thomas Schmitt, <A HREF="mailto:scdbackup@gmx.net">scdbackup@gmx.net</A></DD>
|
|
</DL>
|
|
<DL><DT>License:</DT>
|
|
<DD><A HREF="COPYING_xorriso">GPL version 3 or later.</A>
|
|
</DD>
|
|
<DD> </DD>
|
|
</DL>
|
|
</P>
|
|
|
|
<HR>
|
|
|
|
<P>
|
|
Bug fixes towards previous stable version xorriso-1.5.2:
|
|
<UL>
|
|
<LI>
|
|
-report_system_area as_mkisofs misrepresented GPT with appended
|
|
partition and forced boot flag as -part_like_isohybrid
|
|
</LI>
|
|
<LI>
|
|
Boot catalog could get a wrong name if cat_path= is explicitely given but
|
|
not containing a slash character
|
|
</LI>
|
|
<LI>
|
|
Big-Endian MIPS Volume Header boot file size was rounded up to full 2048.
|
|
Thanks René Rebe.
|
|
</LI>
|
|
<LI>
|
|
El Torito production failed if no catalog path is given and the
|
|
first boot image path contains no slash
|
|
</LI>
|
|
<LI>
|
|
zisofs production was wrong on big-endian machines
|
|
</LI>
|
|
<LI>
|
|
Apple Partition Map entries wrote uninitialized data
|
|
</LI>
|
|
<LI>
|
|
Appended APM partitions without HFS+ production had start and size 1
|
|
</LI>
|
|
<LI>
|
|
On GNU/Linux early SCSI commands were not logged
|
|
</LI>
|
|
<!--
|
|
<LI>- none -</LI>
|
|
-->
|
|
</UL>
|
|
</P>
|
|
|
|
<P>
|
|
Bug fixes towards deprecated versions xorriso-1.5.4 and 1.5.4.pl01:
|
|
<UL>
|
|
<LI>
|
|
Large amounts of AAIP data or many long file names could cause with
|
|
zisofs an unreadable filesystem after the warning "Calculated and written
|
|
ECMA-119 tree end differ"
|
|
</LI>
|
|
</UL>
|
|
</P>
|
|
|
|
<P>
|
|
Enhancements towards previous stable version xorriso-1.5.2:
|
|
<UL>
|
|
<LI>
|
|
Switched to usage of libjte-2.0.0
|
|
</LI>
|
|
<LI>
|
|
New -jigdo parameters "checksum_algorithm", "demand_checksum", "-checksum-list"
|
|
</LI>
|
|
<LI>
|
|
New -as mkisofs options -jigdo-checksum-algorithm, -checksum-list,
|
|
-jigdo-force-checksum
|
|
</LI>
|
|
<LI>
|
|
New helper script xorriso-dd-target
|
|
</LI>
|
|
<LI>
|
|
New command -truncate_overwritable
|
|
</LI>
|
|
<LI>
|
|
New -read_speed prefixes "soft_force:" and "soft_corr:"
|
|
</LI>
|
|
<LI>
|
|
New -check_media option data_to="-" for standard output
|
|
</LI>
|
|
<LI>
|
|
New -zisofs parameters version_2=, block_size_v2=, max_bpt=, max_bpt_f=,
|
|
bpt_target=, bpt_free_ratio=, by_magic=v2, susp_z2=
|
|
</LI>
|
|
<LI>
|
|
New -as mkisofs options --zisofs-version-2, --zisofs2-susp-z2, --zisofs2-susp-zf
|
|
</LI>
|
|
<LI>
|
|
Enabled recognition of zisofs by magic without zlib support
|
|
</LI>
|
|
<LI>
|
|
New -osirrox option sparse= controls extraction into sparse files
|
|
</LI>
|
|
<LI>
|
|
New command -joliet_map
|
|
</LI>
|
|
<LI>
|
|
New command -extract_boot_images
|
|
</LI>
|
|
<!--
|
|
<LI>- none -</LI>
|
|
-->
|
|
</UL>
|
|
</P>
|
|
|
|
<HR>
|
|
|
|
<P>
|
|
<H3>
|
|
Software copies included in GNU xorriso:
|
|
</H3>
|
|
<DL>
|
|
<DT>
|
|
GNU xorriso is feature-wise equivalent to the dynamic compilation of
|
|
<A HREF="http://libburnia-project.org/"> libburnia </A>
|
|
libraries, libjte, and libburnia program xorriso.
|
|
It restricts itself to a technical form where the legal commitments of the
|
|
libburnia project and the legal intentions of
|
|
<A HREF="http://www.fsf.org/"> FSF </A> match completely.
|
|
</DT>
|
|
<DD> </DD>
|
|
<DT>libburn-1.5.4</DT>
|
|
<DD>reads and writes data from and to CD, DVD, BD.</DD>
|
|
<DD>(founded by Derek Foreman and Ben Jansens,
|
|
developed and maintained since August 2006 by
|
|
Thomas Schmitt from team of libburnia-project.org)</DD>
|
|
<DT>libisofs-1.5.4</DT>
|
|
<DD>operates on ISO 9660 filesystem images.</DD>
|
|
<DD>(By Vreixo Formoso, Mario Danic and Thomas Schmitt
|
|
from team of libburnia-project.org. HFS+ code by Vladimir Serbinenko.)</DD>
|
|
<DT>libisoburn-1.5.4</DT>
|
|
<DD>coordinates libburn and libisofs, emulates multi-session where needed,
|
|
and hosts the original source code of program xorriso.</DD>
|
|
<DD>It provides the complete functionality of xorriso via
|
|
a C language API.</DD>
|
|
<DD>(By Vreixo Formoso and Thomas Schmitt
|
|
from team of libburnia-project.org</DD>
|
|
<DD>The helper script xorriso-dd-target is developed in cooperation with
|
|
Nio Wiklund alias sudodus.)</DD>
|
|
<DT>libjte-1.0.0</DT>
|
|
<DD>produces jigdo and template file together with the emerging ISO image.</DD>
|
|
<DD>(By Free Software Foundation, Steve McIntyre, George Danchev,
|
|
Thomas Schmitt)</DD>
|
|
<DD> </DD>
|
|
<DT>The source code of this software is independent of
|
|
cdrecord and mkisofs.</DT>
|
|
</DL>
|
|
</P>
|
|
|
|
<HR>
|
|
|
|
<P>
|
|
<DL>
|
|
<DT><H3>Development snapshot, version 1.5.5 :</H3></DT>
|
|
<DD>Bug fixes towards stable version 1.5.4.pl02:
|
|
<UL>
|
|
<LI>
|
|
False -status failure with -boot_image --interval:appended_partition
|
|
</LI>
|
|
<LI>
|
|
-no_rc prevented pre-scanning of arguments for stdio output and others.
|
|
</LI>
|
|
<LI>
|
|
-not_leaf and -not_paths were not applied to -extract and alike
|
|
</LI>
|
|
<LI>
|
|
-report_system_area cmd misperceived -part_like_isohybrid with
|
|
-isohybrid-gpt-basdat
|
|
</LI>
|
|
<LI>
|
|
-report_system_area cmd misperceived combination of isohybrid and
|
|
appended partition in GPT
|
|
</LI>
|
|
<LI>
|
|
-as mkisofs option -part_like_isohybrid did not cause a MBR
|
|
partition table if the partitions are data files in the ISO
|
|
rather than appended
|
|
</LI>
|
|
<LI>
|
|
libisofs did not mark clones of imported files as imported.
|
|
This could cause that original and clone occupy data storage
|
|
in the newly written session. Thanks to Ivan Shmakov.
|
|
</LI>
|
|
<LI>
|
|
Partition offset was preserved from -indev rather than from -outdev
|
|
</LI>
|
|
<!--
|
|
<LI>- none yet -</LI>
|
|
-->
|
|
</UL>
|
|
</DD>
|
|
<DD>Enhancements towards stable version 1.5.4.pl02:
|
|
<UL>
|
|
<LI>
|
|
New -boot_image settings gpt_iso_bootable= and gpt_iso_not_ro=
|
|
</LI>
|
|
<LI>
|
|
New -as mkisofs options --gpt-iso-bootable and --gpt-iso-not-ro
|
|
</LI>
|
|
<LI>
|
|
New -as cdrecord option --obs_pad. Automatic no_emul_toc with -as cdrecord.
|
|
</LI>
|
|
<LI>
|
|
New parameters "obs_pad" and "bdr_obs_exempt" for -dvd_obs
|
|
</LI>
|
|
<LI>
|
|
New -as cdrecord option --bdr_obs_exempt
|
|
</LI>
|
|
<LI>
|
|
New command -assess_indev_features
|
|
</LI>
|
|
<LI>
|
|
New -find test -size
|
|
</LI>
|
|
<!--
|
|
<LI>- none yet -</LI>
|
|
-->
|
|
</UL>
|
|
|
|
</DD>
|
|
|
|
|
|
<DD> </DD>
|
|
<DD><A HREF="README_xorriso_devel">README 1.5.5</A>
|
|
<DD><A HREF="xorriso_help_devel">xorriso-1.5.5 -help</A></DD>
|
|
<DD><A HREF="xorrisofs_help_devel">xorriso-1.5.5 -as mkisofs -help</A></DD>
|
|
<DD><A HREF="xorrecord_help_devel">xorriso-1.5.5 -as cdrecord -help</A></DD>
|
|
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 1.5.5)</A></DD>
|
|
<DD><A HREF="man_1_xorrisofs_devel.html">man xorrisofs (as of 1.5.5)</A></DD>
|
|
<DD><A HREF="man_1_xorrecord_devel.html">man xorrecord (as of 1.5.5)</A></DD>
|
|
<DD> </DD>
|
|
<DT>If you want to distribute development versions of xorriso, then use
|
|
this tarball which produces static linking between xorriso and the
|
|
libburnia libraries.
|
|
</DT>
|
|
<DD>Source (./bootstrap is already applied, build tested,
|
|
installation see README)
|
|
</DD>
|
|
<DD>
|
|
<A HREF="xorriso-1.5.5.tar.gz">xorriso-1.5.5.tar.gz</A>
|
|
(2720 KiB).
|
|
</DD>
|
|
<DT>A dynamically linked development version of xorriso can be obtained
|
|
from repositories of
|
|
<A HREF="http://libburnia-project.org"> libburnia-project.org</A>.
|
|
xorriso is part of libisoburn/trunk and will get built by its "make".
|
|
</DT>
|
|
|
|
<DT>Be warned that the libraries in git are development versions with
|
|
possibly unstable API/ABI enhancements. Do not distribute development
|
|
versions for dynamic linking. Only release versions are safe for that.
|
|
</DT>
|
|
<DD>Download: <KBD><B>git clone https://dev.lovelyhq.com/libburnia/libburn.git</B>
|
|
</KBD></DD>
|
|
<DD>Install: <KBD><B>cd libburn ; ./bootstrap ; ./configure --prefix /usr ; make ; make install</B>
|
|
</KBD></DD>
|
|
<DD>Download:
|
|
<KBD><B>git clone https://dev.lovelyhq.com/libburnia/libisofs.git</B></KBD>
|
|
</DD>
|
|
<DD>Install: <KBD><B>cd libisofs ; ./bootstrap ; ./configure --prefix /usr ; make ; make install</B>
|
|
</KBD></DD>
|
|
<DD>Download: <KBD><B>git clone https://dev.lovelyhq.com/libburnia/libisoburn.git</B>
|
|
</KBD></DD>
|
|
<DD>Install: <KBD><B>cd libisoburn ; ./bootstrap ; ./configure --prefix /usr ; make ; make install</B>
|
|
</KBD></DD>
|
|
<DT>Build of git versions needs autotools of at least version 1.7 installed.
|
|
But after the run of <KBD>./bootstrap</KBD>, only
|
|
vanilla tools like make and gcc are needed.
|
|
</DT>
|
|
<DT>GNU xorriso contains a copy of libjte-1.0.0 or 2.0.0 from package jigit
|
|
which produces jigdo and template file together with the emerging ISO image.
|
|
(By Free Software Foundation, Steve McIntyre, George Danchev,
|
|
Thomas Schmitt)
|
|
</DT>
|
|
<DD>Important: If desired, libjte has to be already installed when libisofs
|
|
and libisoburn get built.</DD>
|
|
<DD>Download: <KBD><B>wget http://www.einval.com/~steve/software/JTE/download/jigit_1.17.orig.tar.gz</B>
|
|
</KBD></DD>
|
|
<DD>Install: <KBD><B>tar xzf jigit_1.17.orig.tar.gz ; cd jigit-1.17 ; make ; make install</B>
|
|
</KBD></DD>
|
|
<DD>or</DD>
|
|
<DD>Download: <KBD><B>wget https://www.einval.com/~steve/software/JTE/download/jigit-1.22.tar.xz</B>
|
|
</KBD></DD>
|
|
<DD>Install: <KBD><B>unxz <jigit-1.22.tar.xz | tar xf - ; cd jigit-1.22 ; make ; make install</B>
|
|
</KBD></DD>
|
|
|
|
<DD> </DD>
|
|
</DL>
|
|
</P>
|
|
|
|
<HR>
|
|
|
|
<P>
|
|
Many thanks to Derek Foreman and Ben Jansens for starting libburn.
|
|
<BR>
|
|
Very special thanks to Andy Polyakov whose
|
|
<A HREF="http://fy.chalmers.se/~appro/linux/DVD+RW/tools">dvd+rw-tools</A>
|
|
provide the libburnia project with invaluable examples on how to deal
|
|
with DVD media and how to emulate multi-session on overwritable media.
|
|
</P>
|
|
<HR>
|
|
|
|
<!-- The following links might lead to sites which do not comply
|
|
to the strict rules of FSF about non-free software.
|
|
GNU xorriso does not endorse or recommend any non-free software
|
|
which can be reached by them directly or indirectly. Nevertheless
|
|
outside of official GNU sites, GNU xorriso thanks the following
|
|
entities for their long standing support.
|
|
-->
|
|
<!-- Start not-www.gnu.org -->
|
|
|
|
<P>
|
|
<CENTER><FONT SIZE=+0>
|
|
<FONT SIZE=+0>
|
|
<A HREF="http://www.gnu.org">Dedicated to the GNU Operating System</A><BR>
|
|
|
|
Enjoying free hosting by<BR>
|
|
<A HREF="http://sourceforge.net">sourceforge.net</A><BR>
|
|
<A HREF="http://www.webframe.org">www.webframe.org</A><BR>
|
|
|
|
</FONT></CENTER>
|
|
</P>
|
|
|
|
<HR>
|
|
<DL>
|
|
<DT>Links to related free software projects of Thomas Schmitt:</DT>
|
|
<DD><A HREF=http://scdbackup.sourceforge.net/cdrskin_eng.html>
|
|
cdrskin, a cdrecord emulator</A></DD>
|
|
<DD><A HREF=http://scdbackup.sourceforge.net/main_eng.html>
|
|
scdbackup, multi volume CD/DVD/BD backup</A></DD>
|
|
<DL><DD><A HREF=http://scdbackup.webframe.org/main_eng.html>
|
|
(a second source of above)</A></DD></DL>
|
|
</DL>
|
|
|
|
<!-- End not-www.gnu.org -->
|
|
|
|
<BR>
|
|
Legal statement: This website does not serve any commercial purpose.
|
|
<BR><BR>
|
|
Copyright © 2008 - 2021 Thomas Schmitt.
|
|
<BR>
|
|
This text is freely distributable. It shall only be modified in sync with
|
|
the factual properties of xorriso and its public storage locations.
|
|
If you make use of the license to derive modified versions of xorriso
|
|
then you are entitled to modify this text under that same license.
|
|
<DL>
|
|
<DT>Contact for issues of this web page or the described program:</DT>
|
|
<DD>Thomas Schmitt, <A HREF="mailto:scdbackup@gmx.net">scdbackup@gmx.net</A></DD>
|
|
<DD>GNU xorriso support mailing list,
|
|
<A HREF="mailto:bug-xorriso@gnu.org">bug-xorriso@gnu.org</A></DD>
|
|
</DL>
|
|
</FONT>
|
|
</BODY>
|
|
</HTML>
|