2010-03-18 10:13:35 +00:00
|
|
|
\input texinfo @c -*-texinfo-*-
|
|
|
|
@c %**start of header
|
|
|
|
@setfilename xorriso.info
|
2013-08-07 14:32:09 +00:00
|
|
|
@settitle GNU xorriso 1.3.3
|
2010-03-18 10:13:35 +00:00
|
|
|
@c %**end of header
|
|
|
|
@c
|
2010-03-21 12:45:43 +00:00
|
|
|
@c man-ignore-lines begin
|
|
|
|
@dircategory Archiving
|
|
|
|
@direntry
|
2010-03-22 08:26:09 +00:00
|
|
|
* Xorriso: (xorriso). Burns ISO 9660 on CD, DVD, BD.
|
2010-03-21 12:45:43 +00:00
|
|
|
@end direntry
|
|
|
|
@c man-ignore-lines end
|
2010-03-18 10:13:35 +00:00
|
|
|
@c
|
|
|
|
@c Notes about embedded man page:
|
|
|
|
@c This texinfo code contains the necessary info to produce a man page
|
|
|
|
@c which resembles much the version of xorriso.1 from which this code
|
|
|
|
@c was originally derived in march 2010.
|
|
|
|
@c One can produce the man page by applying the following rules:
|
|
|
|
@c The first line gets discarded.
|
|
|
|
@c Line start "@c man " will become "", the remainder is put out unaltered.
|
|
|
|
@c Lines "@*" will be converted to ".br"
|
2010-06-10 18:15:56 +00:00
|
|
|
@c "@c man-ignore-lines N" will discard N following lines.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c "@c man-ignore-lines begin" discards all following lines
|
|
|
|
@c up to "@c man-ignore-lines end".
|
|
|
|
@c Line blocks of "@menu" "@end menu" will be discarded.
|
|
|
|
@c "@item word words" becomes "\fBword\fR words".
|
2011-05-17 17:37:00 +00:00
|
|
|
@c @b{...}, @command{...}, @dfn{...}, @emph{...}, @strong{...}
|
|
|
|
@c get mapped to \fB...\fR .
|
|
|
|
@c @abbr{...}, @code{...}, @file{...}, @i{...}, @option{...}, @r{...},
|
|
|
|
@c @ref{...}, @samp{...},@var{...}, get mapped to ... .
|
|
|
|
@c @ref{...}, @xref{...} get mapped to empty text.
|
2011-05-17 09:28:05 +00:00
|
|
|
@c @email{...} gets mapped to <...> .
|
|
|
|
@c Mapped {...} content is subject to the rules except {...} mapping.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c @minus{} will become "-".
|
|
|
|
@c @@ , @{, @} will get stripped of their first @.
|
|
|
|
@c Other lines which begin by "@" will be discarded.
|
|
|
|
@c In lines not stemming from "@c man", "\" becomes "\\"
|
2011-05-13 16:47:52 +00:00
|
|
|
@c "-" which are not preceded by an uneven number of "\" will get
|
2011-05-17 17:37:00 +00:00
|
|
|
@c prepended one "\".
|
2010-03-18 10:13:35 +00:00
|
|
|
@c
|
|
|
|
@c
|
|
|
|
@c man .\" Hey, EMACS: -*- nroff -*-
|
|
|
|
@c man .\"
|
|
|
|
@c man .\" IMPORTANT NOTE:
|
|
|
|
@c man .\"
|
|
|
|
@c man .\" The original of this file is kept in xorriso/xorriso.texi
|
|
|
|
@c man .\" This here was generated by program xorriso/make_xorriso_1
|
|
|
|
@c man .\"
|
|
|
|
@c man .\"
|
|
|
|
@c man .\" First parameter, NAME, should be all caps
|
|
|
|
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
|
|
|
@c man .\" other parameters are allowed: see man(7), man(1)
|
2013-08-07 14:32:09 +00:00
|
|
|
@c man .TH XORRISO 1 "Version 1.3.3, Aug 07, 2013"
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .\" Please adjust this date whenever revising the manpage.
|
|
|
|
@c man .\"
|
|
|
|
@c man .\" Some roff macros, for reference:
|
|
|
|
@c man .\" .nh disable hyphenation
|
|
|
|
@c man .\" .hy enable hyphenation
|
|
|
|
@c man .\" .ad l left justify
|
|
|
|
@c man .\" .ad b justify to both left and right margins
|
|
|
|
@c man .\" .nf disable filling
|
|
|
|
@c man .\" .fi enable filling
|
|
|
|
@c man .\" .br insert line break
|
|
|
|
@c man .\" .sp <n> insert n+1 empty lines
|
|
|
|
@c man .\" for manpage-specific macros, see man(7)
|
|
|
|
@c man .nh
|
|
|
|
@c man-ignore-lines begin
|
|
|
|
@copying
|
|
|
|
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem images
|
|
|
|
with Rock Ridge extensions.
|
|
|
|
|
2013-01-08 15:23:31 +00:00
|
|
|
Copyright @copyright{} 2007 - 2013 Thomas Schmitt
|
2010-03-18 10:13:35 +00:00
|
|
|
|
|
|
|
@quotation
|
|
|
|
Permission is granted to distrubute this text freely.
|
|
|
|
@end quotation
|
|
|
|
@end copying
|
|
|
|
@c man-ignore-lines end
|
|
|
|
@titlepage
|
2013-08-07 14:32:09 +00:00
|
|
|
@title Manual of GNU xorriso 1.3.3
|
2010-03-18 10:13:35 +00:00
|
|
|
@author Thomas Schmitt
|
|
|
|
@page
|
|
|
|
@vskip 0pt plus 1filll
|
|
|
|
@insertcopying
|
|
|
|
@end titlepage
|
|
|
|
@contents
|
|
|
|
@ifnottex
|
|
|
|
@node Top
|
2013-08-07 14:32:09 +00:00
|
|
|
@top GNU xorriso 1.3.3
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man-ignore-lines 1
|
|
|
|
|
|
|
|
@c man .SH NAME
|
|
|
|
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem images
|
|
|
|
with Rock Ridge extensions.
|
|
|
|
@end ifnottex
|
|
|
|
@menu
|
|
|
|
* Overview:: Overview
|
|
|
|
* Model:: Session model
|
|
|
|
* Media:: Media types and states
|
|
|
|
* Methods:: Creating, Growing, Modifying, Blind Growing
|
|
|
|
* Drives:: Libburn drives
|
|
|
|
* Extras:: Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr
|
|
|
|
* Processing:: Command processing
|
|
|
|
* Dialog:: Dialog, Readline, Result pager
|
2012-11-05 09:37:47 +00:00
|
|
|
* Commands:: Reference of commands
|
2010-03-18 10:13:35 +00:00
|
|
|
* Examples:: Examples
|
|
|
|
* Files:: Files
|
|
|
|
* Seealso:: See also
|
2011-05-17 09:28:05 +00:00
|
|
|
* Bugreport:: Reporting bugs
|
2010-03-18 10:13:35 +00:00
|
|
|
* Legal:: Author, Copyright, Credits
|
2010-03-21 12:45:43 +00:00
|
|
|
* CommandIdx:: Alphabetic Command List
|
|
|
|
* ConceptIdx:: Alphabetic List of Concepts and Objects
|
2010-03-18 10:13:35 +00:00
|
|
|
@end menu
|
2010-03-20 16:54:56 +00:00
|
|
|
@node Overview, Model, Top, Top
|
2010-03-18 10:13:35 +00:00
|
|
|
@chapter Overview
|
|
|
|
@c man .SH SYNOPSIS
|
|
|
|
@c man .B xorriso
|
|
|
|
@c man .RI [ settings | actions ]
|
|
|
|
@c man .br
|
|
|
|
@c man .SH DESCRIPTION
|
|
|
|
@c man .PP
|
2011-05-14 10:50:08 +00:00
|
|
|
@command{xorriso}
|
2010-03-18 10:13:35 +00:00
|
|
|
is a program which 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.
|
|
|
|
@*
|
2011-05-16 19:20:07 +00:00
|
|
|
Vice versa @command{xorriso} is able to copy file objects out of ISO 9660
|
|
|
|
filesystems.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2011-05-16 19:20:07 +00:00
|
|
|
A special property of @command{xorriso} is that it needs neither an external
|
|
|
|
ISO 9660
|
2010-03-18 10:13:35 +00:00
|
|
|
formatter program nor an external burn program for CD, DVD or BD but rather
|
|
|
|
incorporates the libraries of libburnia-project.org .
|
|
|
|
@c man .SS
|
2010-03-20 16:54:56 +00:00
|
|
|
@section Features
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .B Overview of features:
|
|
|
|
@*
|
|
|
|
Operates on an existing ISO image or creates a new one.
|
|
|
|
@*
|
|
|
|
Copies files from disk filesystem into the ISO image.
|
|
|
|
@*
|
|
|
|
Copies files from ISO image to disk filesystem (see osirrox).
|
|
|
|
@*
|
|
|
|
Renames or deletes file objects in the ISO image.
|
|
|
|
@*
|
|
|
|
Changes file properties in the ISO image.
|
|
|
|
@*
|
|
|
|
Updates ISO subtrees incrementally to match given disk subtrees.
|
|
|
|
@*
|
|
|
|
Writes result either as completely new image or as add-on session
|
|
|
|
to optical media or filesystem objects.
|
|
|
|
@*
|
2010-04-18 09:59:08 +00:00
|
|
|
Can activate ISOLINUX and GRUB boot images via El Torito and MBR.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
Can perform multi-session tasks as emulation of mkisofs and cdrecord.
|
|
|
|
@*
|
|
|
|
Can record and restore hard links and ACL.
|
|
|
|
@*
|
|
|
|
Content may get zisofs compressed or filtered by external processes.
|
|
|
|
@*
|
|
|
|
Can issue commands to mount older sessions on GNU/Linux or FreeBSD.
|
|
|
|
@*
|
|
|
|
Can check media for damages and copy readable blocks to disk.
|
|
|
|
@*
|
|
|
|
Can attach MD5 checksums to each data file and the whole session.
|
|
|
|
@*
|
|
|
|
Scans for optical drives, blanks re-useable optical media.
|
|
|
|
@*
|
|
|
|
Reads its instructions from command line arguments, dialog, and files.
|
|
|
|
@*
|
|
|
|
Provides navigation commands for interactive ISO image manipulation.
|
|
|
|
@*
|
|
|
|
Adjustable thresholds for abort, exit value, and problem reporting.
|
2013-05-07 20:04:28 +00:00
|
|
|
@*
|
2013-05-07 20:42:12 +00:00
|
|
|
@sp 1
|
2013-05-07 20:04:28 +00:00
|
|
|
@c man .sp 1
|
|
|
|
Note that @command{xorriso} does not write audio CDs and that it does not
|
|
|
|
produce UDF filesystems which are specified for official video DVD or BD.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .SS
|
|
|
|
@c man .B General information paragraphs:
|
|
|
|
@c man .br
|
|
|
|
@c man Session model
|
|
|
|
@c man .br
|
|
|
|
@c man Media types and states
|
|
|
|
@c man .br
|
|
|
|
@c man Creating, Growing, Modifying, Blind Growing
|
|
|
|
@c man .br
|
|
|
|
@c man Libburn drives
|
|
|
|
@c man .br
|
|
|
|
@c man Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr
|
|
|
|
@c man .br
|
|
|
|
@c man Command processing
|
|
|
|
@c man .br
|
|
|
|
@c man Dialog, Readline, Result pager
|
|
|
|
@c man .sp 1
|
|
|
|
@c man Maybe you first want to have a look at section EXAMPLES near the end of
|
|
|
|
@c man this text before reading the next few hundred lines of background information.
|
|
|
|
@c man .SS
|
|
|
|
@node Model, Media, Overview, Top
|
|
|
|
@chapter Session model
|
|
|
|
@c man \fBSession model:\fR
|
|
|
|
@c man .br
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Session, _definition
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex ISO 9660, _definition
|
|
|
|
@cindex ECMA-119, _definition
|
|
|
|
Unlike other filesystems, @strong{ISO 9660} (aka @strong{ECMA-119})
|
|
|
|
is not intended for read-write operation but
|
2010-03-18 10:13:35 +00:00
|
|
|
rather for being generated in a single sweep and being written to media as a
|
|
|
|
@strong{session}.
|
|
|
|
@*
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Image, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
The data content of the session is called filesystem @strong{image}.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
The written image in its session can then be mounted by the operating system
|
|
|
|
for being used read-only. GNU/Linux is able to mount ISO images from block
|
|
|
|
devices, which may represent optical media, other media or via a loop device
|
|
|
|
even from regular disk files. FreeBSD mounts ISO images from devices that
|
|
|
|
represent arbitrary media or from regular disk files.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Multi-session, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
This session usage model has been extended on CD media by the concept of
|
|
|
|
@strong{multi-session} ,
|
|
|
|
which allows to add information to the CD and gives the mount programs
|
|
|
|
of the operating systems the addresses of the entry points of each
|
|
|
|
session. The mount programs recognize block devices which represent
|
|
|
|
CD media and will by default mount the image in the last session.
|
|
|
|
@*
|
2011-10-26 14:09:51 +00:00
|
|
|
This session usually contains an updated directory tree for the whole medium
|
2010-03-18 10:13:35 +00:00
|
|
|
which governs the data contents in all recorded sessions.
|
2011-10-26 14:09:51 +00:00
|
|
|
So in the view of the mount program all sessions of a particular medium
|
2010-03-18 10:13:35 +00:00
|
|
|
together form a single filesystem image.
|
|
|
|
@*
|
|
|
|
Adding a session to an existing ISO image is in this text referred as
|
|
|
|
@strong{growing}.
|
|
|
|
@*
|
|
|
|
The multi-session model of the MMC standard does not apply to all media
|
|
|
|
types. But program growisofs by Andy Polyakov showed how to extend this
|
|
|
|
functionality to overwriteable media or disk files which carry valid ISO 9660
|
|
|
|
filesystems.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2011-05-14 10:50:08 +00:00
|
|
|
@command{xorriso} provides growing as well as an own method named
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{modifying} which produces a completely new ISO image from the old
|
|
|
|
one and the modifications.
|
|
|
|
See paragraph Creating, Growing, Modifying, Blind Growing below.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2011-06-17 14:39:24 +00:00
|
|
|
@command{xorriso} adopts the concept of multi-session by loading an
|
|
|
|
image directory tree if present,
|
|
|
|
by allowing to manipulate it by several actions,
|
2011-10-26 14:09:51 +00:00
|
|
|
and by writing the new image to the target medium.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .br
|
2011-05-16 19:20:07 +00:00
|
|
|
The first session of a @command{xorriso} run begins by the definition of
|
2011-06-17 14:39:24 +00:00
|
|
|
the input drive with the ISO image or by the definition of an output drive.
|
2010-03-18 10:13:35 +00:00
|
|
|
The session ends by command -commit which triggers writing. A -commit is
|
|
|
|
done automatically when the program ends regularly.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
After -commit a new session begins with the freshly written one as input.
|
|
|
|
A new input drive can only be chosen as long as the loaded ISO image was
|
|
|
|
not altered. Pending alteration can be revoked by command -rollback.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
Writing a session to the target is supposed to be very expensive in terms of
|
|
|
|
time and of consumed space on appendable or write-once media. Therefore all
|
|
|
|
intended manipulations of a particular ISO image should be done in a single
|
|
|
|
session. But in principle it is possible
|
|
|
|
to store intermediate states and to continue with image manipulations.
|
|
|
|
@c man .SS
|
|
|
|
@node Media, Methods, Model, top
|
|
|
|
@chapter Media types and states
|
|
|
|
@c man .B Media types and states:
|
|
|
|
There are two families of media in the MMC standard:
|
|
|
|
@*
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Multi-session media, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{Multi-session media} are CD-R, CD-RW, DVD-R, DVD+R, DVD+R/DL, BD-R, and
|
|
|
|
unformatted DVD-RW. These media provide a table of content which
|
2012-03-05 12:13:37 +00:00
|
|
|
describes their existing sessions. See command @strong{-toc}.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
2010-08-21 10:30:45 +00:00
|
|
|
Similar to multi-session media are DVD-R DL and minimally blanked DVD-RW.
|
|
|
|
They allow only a single session of which the size must be known in advance.
|
2012-03-05 12:13:37 +00:00
|
|
|
@command{xorriso} will write onto them only if command -close is set to "on".
|
2010-08-21 10:30:45 +00:00
|
|
|
@*
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Overwriteable media, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{Overwriteable media} are DVD-RAM, DVD+RW, BD-RE, and formatted DVD-RW.
|
|
|
|
They allow random write access but do not provide information about their
|
|
|
|
session history. If they contain one or more ISO 9660 sessions and if the
|
2011-05-14 10:50:08 +00:00
|
|
|
first session was written by @command{xorriso}, then a table of content can
|
2010-03-18 10:13:35 +00:00
|
|
|
be emulated. Else only a single overall session will be visible.
|
|
|
|
@*
|
|
|
|
DVD-RW media can be formatted by -format "full".
|
|
|
|
They can be made unformatted by -blank "deformat".
|
|
|
|
@*
|
|
|
|
Regular files and block devices are handled as overwriteable media.
|
|
|
|
Pipes and other writeable file types are handled as blank multi-session media.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
These media can assume several states in which they offer different
|
|
|
|
capabilities.
|
|
|
|
@*
|
2010-03-20 16:54:56 +00:00
|
|
|
@sp 1
|
|
|
|
@cindex Blank media, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{Blank} media can be written from scratch. They contain no ISO image
|
2011-05-14 10:50:08 +00:00
|
|
|
suitable for @command{xorriso}.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
Blank is the state of newly purchased optical media.
|
|
|
|
With used CD-RW and DVD-RW it can be achieved by action -blank "as_needed".
|
|
|
|
Overwriteable media are considered blank if they are new or if they have
|
2011-05-14 10:50:08 +00:00
|
|
|
been marked as blank by @command{xorriso}.
|
2010-03-18 10:13:35 +00:00
|
|
|
Action -blank "as_needed" can be used to do this marking on overwriteable
|
2011-06-17 14:39:24 +00:00
|
|
|
media, or to apply mandatory formatting to new media if necessary.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
2010-03-20 16:54:56 +00:00
|
|
|
@sp 1
|
|
|
|
@cindex Appendable media, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{Appendable} media accept further sessions. Either they are MMC
|
|
|
|
multi-session media in appendable state, or they are overwriteable media
|
2011-05-14 10:50:08 +00:00
|
|
|
which contain an ISO image suitable for @command{xorriso}.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
2012-03-05 12:13:37 +00:00
|
|
|
Appendable is the state after writing a session with command -close off.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
2010-03-20 16:54:56 +00:00
|
|
|
@sp 1
|
|
|
|
@cindex Closed media, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{Closed} media cannot be written. They may contain an ISO image suitable
|
2011-05-14 10:50:08 +00:00
|
|
|
for @command{xorriso}.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
Closed is the state of DVD-ROM media and of multi-session media which were
|
2012-03-05 12:13:37 +00:00
|
|
|
written with command -close on. If the drive is read-only hardware then it will
|
2010-03-18 10:13:35 +00:00
|
|
|
probably show any media as closed CD-ROM resp. DVD-ROM.
|
|
|
|
@*
|
|
|
|
Overwriteable media assume this state in such read-only drives or if they
|
|
|
|
contain unrecognizable data in the first 32 data blocks.
|
|
|
|
@*
|
|
|
|
Read-only drives may or may not show session histories of multi-session
|
|
|
|
media. Often only the first and the last session are visible. Sometimes
|
2012-03-05 12:13:37 +00:00
|
|
|
not even that. Command -rom_toc_scan might or might not help in such cases.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .SS
|
|
|
|
@node Methods, Drives, Media, top
|
|
|
|
@chapter Creating, Growing, Modifying, Blind Growing:
|
|
|
|
@c man .B Creating, Growing, Modifying, Blind Growing:
|
|
|
|
@*
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex Create, new ISO image, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
A new empty ISO image gets @strong{created}
|
|
|
|
if there is no input drive with a valid ISO 9660 image when the first time
|
2012-03-05 12:13:37 +00:00
|
|
|
an output drive is defined. This is achieved by command -dev on blank media
|
|
|
|
or by command -outdev on media in any state.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
The new empty image can be populated with directories and files.
|
2011-10-26 14:09:51 +00:00
|
|
|
Before it can be written, the medium in the output drive must get into
|
2010-03-18 10:13:35 +00:00
|
|
|
blank state if it was not blank already.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
If there is a input drive with a valid ISO image, then this image gets loaded
|
|
|
|
as foundation for manipulations and extension. The constellation of input
|
|
|
|
and output drive determines which write method will be used.
|
|
|
|
They have quite different capabilities and constraints.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Growing, _definition
|
2011-10-26 14:09:51 +00:00
|
|
|
The method of @strong{growing} adds new data to the existing data on the
|
|
|
|
medium. These data comprise of new file content and they override the existing
|
2010-03-18 10:13:35 +00:00
|
|
|
ISO 9660 + Rock Ridge directory tree. It is possible to hide files from
|
2011-10-26 14:09:51 +00:00
|
|
|
previous sessions but they still exist on the medium and with many types of
|
2010-03-18 10:13:35 +00:00
|
|
|
optical media it is quite easy to recover them by mounting older sessions.
|
|
|
|
@*
|
2012-03-05 12:13:37 +00:00
|
|
|
Growing is achieved by command -dev.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Modifying, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
The write method of @strong{modifying} produces compact filesystem
|
|
|
|
images with no outdated files or directory trees. Modifying can write its
|
|
|
|
images to target media which are completely unsuitable for multi-session
|
|
|
|
operations. E.g. DVD-RW which were treated with -blank deformat_quickest,
|
2010-08-21 10:30:45 +00:00
|
|
|
DVD-R DL, named pipes, character devices, sockets.
|
2010-03-18 10:13:35 +00:00
|
|
|
On the other hand modified sessions cannot be written to appendable media
|
|
|
|
but to blank media only.
|
|
|
|
@*
|
|
|
|
So for this method one needs either two optical drives or has to work with
|
2011-10-26 14:09:51 +00:00
|
|
|
filesystem objects as source and/or target medium.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
Modifying takes place if input drive and output drive are not the same and
|
2012-03-05 12:13:37 +00:00
|
|
|
if command -grow_blindly is set to its default "off".
|
|
|
|
This is achieved by commands -indev and -outdev.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Blind growing, _definition
|
2012-03-05 12:13:37 +00:00
|
|
|
If command -grow_blindly is set to a non-negative number and if -indev and
|
2010-03-18 10:13:35 +00:00
|
|
|
-outdev are both set to different drives, then @strong{blind growing} is
|
|
|
|
performed. It produces an add-on session which is ready for being written
|
|
|
|
to the given block address. This is the usage model of
|
|
|
|
@*
|
|
|
|
mkisofs -M $indev -C $msc1,$msc2 -o $outdev
|
|
|
|
@*
|
|
|
|
which gives much room for wrong parameter combinations and should thus only be
|
2011-05-16 19:20:07 +00:00
|
|
|
employed if a strict distinction between ISO formatter @command{xorriso}
|
|
|
|
and the burn program is desired. -C $msc1,$msc2 is equivalent to:
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
-load sbsector $msc1 -grow_blindly $msc2
|
|
|
|
@c man .SS
|
|
|
|
@node Drives, Extras, Methods, top
|
|
|
|
@chapter Libburn drives
|
|
|
|
@c man .B Libburn drives:
|
|
|
|
@c man .br
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex Drive, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
Input drive, i.e. source of an existing or empty ISO image, can be any random
|
|
|
|
access readable libburn drive: optical media with readable data,
|
|
|
|
blank optical media, regular files, block devices.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
Output drive, i.e. target for writing, can be any libburn drive.
|
|
|
|
Some drive types do not support the method of growing but only the methods
|
|
|
|
of modifying and blind growing. They all are suitable for newly created images.
|
|
|
|
@*
|
2011-05-16 19:20:07 +00:00
|
|
|
All drive file objects have to offer rw-permission to the user of
|
|
|
|
@command{xorriso}.
|
2010-03-18 10:13:35 +00:00
|
|
|
Even those which will not be useable for reading an ISO image.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
MMC compliant (i.e. optical) drives on GNU/Linux usually get addressed by
|
|
|
|
the path of their block device or of their generic character device. E.g.
|
|
|
|
@*
|
|
|
|
-dev /dev/sr0
|
|
|
|
@*
|
|
|
|
-dev /dev/hdc
|
|
|
|
@*
|
|
|
|
-dev /dev/sg2
|
|
|
|
@*
|
|
|
|
On FreeBSD the device files have names like
|
|
|
|
@*
|
|
|
|
-dev /dev/cd0
|
|
|
|
@*
|
2010-06-10 18:15:56 +00:00
|
|
|
On OpenSolaris:
|
|
|
|
@*
|
|
|
|
-dev /dev/rdsk/c4t0d0s2
|
|
|
|
@*
|
2010-03-18 10:13:35 +00:00
|
|
|
Get a list of accessible drives by command
|
|
|
|
@*
|
2011-07-27 21:14:49 +00:00
|
|
|
-device_links
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
It might be necessary to do this as
|
|
|
|
@strong{superuser}
|
|
|
|
in order to see all drives and to then allow rw-access for the intended users.
|
|
|
|
Consider to bundle the authorized users in a group like old "floppy".
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
Filesystem objects of nearly any type can be addressed by prefix "stdio:" and
|
|
|
|
their path in the filesystem. E.g.:
|
|
|
|
@*
|
|
|
|
-dev stdio:/dev/sdc
|
|
|
|
@*
|
|
|
|
The default setting of -drive_class allows to address files outside the
|
|
|
|
/dev tree without that prefix. E.g.:
|
|
|
|
@*
|
|
|
|
-dev /tmp/pseudo_drive
|
|
|
|
@*
|
|
|
|
If path leads to a regular file or to a block device then the emulated drive
|
|
|
|
is random access readable and can be used for the method of growing if it
|
|
|
|
already contains a valid ISO 9660 image. Any other file type is not readable
|
|
|
|
via "stdio:" and can only be used as target for the method of modifying or
|
|
|
|
blind growing.
|
|
|
|
Non-existing paths in existing directories are handled as empty regular files.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
A very special kind of pseudo drive are open file descriptors. They are
|
|
|
|
depicted by "stdio:/dev/fd/" and descriptor number (see man 2 open).
|
|
|
|
@*
|
|
|
|
Addresses "-" or "stdio:/dev/fd/1" depict standard output, which normally is
|
|
|
|
the output channel for result texts.
|
|
|
|
To prevent a fatal intermingling of ISO image and text messages, all result
|
|
|
|
texts get redirected to stderr if -*dev "-" or "stdio:/dev/fd/1" is among
|
|
|
|
the start arguments of the program.
|
|
|
|
@*
|
|
|
|
Standard output is currently suitable for creating one session
|
|
|
|
per program run without dialog. Use in other situations is discouraged
|
|
|
|
and several restrictions apply:
|
|
|
|
@*
|
|
|
|
It is not allowed to use standard output as pseudo drive if it was not
|
|
|
|
among the start arguments. Do not try to fool this ban via backdoor addresses
|
|
|
|
to stdout.
|
|
|
|
@*
|
|
|
|
If stdout is used as drive, then -use_readline is permanently disabled.
|
|
|
|
Use of backdoors can cause severe memory and/or tty corruption.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
Be aware that especially the superuser can write into any accessible file or
|
|
|
|
device by using its path with the "stdio:" prefix. By default any address
|
|
|
|
in the /dev tree without prefix "stdio:" will work only if it leads to a MMC
|
|
|
|
drive.
|
|
|
|
@*
|
2012-03-05 12:13:37 +00:00
|
|
|
One may use command
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{-ban_stdio_write}
|
|
|
|
to surely prevent this risk and to allow only MMC drives.
|
|
|
|
@*
|
|
|
|
One may prepend "mmc:" to a path to surely disallow any automatic "stdio:".
|
|
|
|
@c man .br
|
2012-03-05 12:13:37 +00:00
|
|
|
By command -drive_class one may ban certain paths or allow access without
|
2010-03-18 10:13:35 +00:00
|
|
|
prefix "stdio:" to other paths.
|
|
|
|
@c man .SS
|
|
|
|
@node Extras, Processing, Drives, top
|
|
|
|
@chapter Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr
|
|
|
|
@c man .B Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr:
|
|
|
|
@c man .br
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex Rock Ridge, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{Rock Ridge}
|
|
|
|
is the name of a set of additional information which enhance
|
|
|
|
an ISO 9660 filesystem so that it can represent a POSIX compliant filesystem
|
|
|
|
with ownership, access permissions, symbolic links, and other attributes.
|
|
|
|
@*
|
2011-05-16 19:20:07 +00:00
|
|
|
This is what @command{xorriso} uses for a decent representation of the disk
|
2012-05-22 12:13:18 +00:00
|
|
|
files within the ISO image. @command{xorriso} produces Rock Ridge information
|
|
|
|
by default. It is strongly discouraged to disable this feature.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2011-05-16 19:20:07 +00:00
|
|
|
@command{xorriso} is not named "porriso" because POSIX only guarantees
|
|
|
|
14 characters
|
2010-03-18 10:13:35 +00:00
|
|
|
of filename length. It is the X/Open System Interface standard XSI which
|
|
|
|
demands a file name length of up to 255 characters and paths of up to 1024
|
|
|
|
characters. Rock Ridge fulfills this demand.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex El Torito, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
An @strong{El Torito}
|
2010-12-11 08:28:23 +00:00
|
|
|
boot record points the BIOS bootstrapping facility to one or more boot
|
|
|
|
images, which are binary program files stored in the ISO image.
|
2010-03-18 10:13:35 +00:00
|
|
|
The content of the boot image files is not in the scope of El Torito.
|
|
|
|
@*
|
2010-04-06 15:18:59 +00:00
|
|
|
Most bootable GNU/Linux CDs are equipped with ISOLINUX or GRUB boot images.
|
2011-05-16 19:20:07 +00:00
|
|
|
@command{xorriso} is able to create or maintain an El Torito object which
|
2012-03-05 12:13:37 +00:00
|
|
|
makes such an image bootable. For details see command -boot_image.
|
2010-04-06 15:18:59 +00:00
|
|
|
@*
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex MBR, _definition
|
2010-04-06 15:18:59 +00:00
|
|
|
It is possible to make ISO images bootable from USB stick or other
|
2012-06-18 11:20:31 +00:00
|
|
|
hard-disk-like media. Several options install a @strong{MBR}
|
|
|
|
(Master Boot Record), It may get adjusted according to the needs of the
|
|
|
|
intended boot firmware and the involved boot loaders, e.g. GRUB2 or ISOLINUX.
|
|
|
|
A MBR contains boot code and a partition table.
|
|
|
|
The new MBR of a follow-up session can get in effect
|
2010-04-18 15:46:12 +00:00
|
|
|
only on overwriteable media.
|
2010-04-06 15:18:59 +00:00
|
|
|
@*
|
2012-06-18 11:20:31 +00:00
|
|
|
MBR is read by PC-BIOS when booting from USB stick or hard disk,
|
|
|
|
and by PowerPC CHRP or PReP when booting.
|
|
|
|
An MBR partiton with type 0xee indicates the presence of GPT.
|
|
|
|
@*
|
2010-06-25 09:59:20 +00:00
|
|
|
Emulation -as mkisofs supports the example options out of the ISOLINUX wiki,
|
|
|
|
the options used in GRUB script grub-mkrescue, and the example in the
|
|
|
|
FreeBSD AvgLiveCD wiki.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
2012-06-18 11:20:31 +00:00
|
|
|
@cindex GPT, _definition
|
|
|
|
A @strong{GPT} (GUID Partition Table) marks partitions in a more modern way.
|
|
|
|
It is read by EFI when booting from USB stick or hard disk, and may be used
|
|
|
|
for finding and mounting a HFS+ partition inside the ISO image.
|
|
|
|
@*
|
|
|
|
@cindex APM, _definition
|
|
|
|
An @strong{APM} (Apple Partition Map) marks the HFS+ partition.
|
|
|
|
It is read by Macs for booting and for mounting.
|
|
|
|
@*
|
|
|
|
MBR, GPT and APM are combinable. APM occupies the first 8 bytes of
|
|
|
|
MBR boot code. All three do not hamper El Torito booting from CDROM.
|
|
|
|
@*
|
|
|
|
There is support for further facilities:
|
|
|
|
MIPS Big Endian (SGI), MIPS Little Endian (DEC), SUN SPARC.
|
|
|
|
Those are mutually not combinable and also not combinable with MBR, GPT,
|
|
|
|
or APM.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex ACL, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{ACL}
|
|
|
|
are an advanced way of controlling access permissions to file objects. Neither
|
|
|
|
ISO 9660 nor Rock Ridge specify a way to record ACLs. So libisofs has
|
|
|
|
introduced a standard conformant extension named AAIP for that purpose.
|
2012-03-05 12:13:37 +00:00
|
|
|
It uses this extension if enabled by command
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{-acl}.
|
|
|
|
@*
|
|
|
|
AAIP enhanced images are supposed to be mountable normally, but one cannot
|
2011-06-17 14:39:24 +00:00
|
|
|
expect that the mounted filesystem will show and respect the ACLs.
|
2011-05-16 19:20:07 +00:00
|
|
|
For now, only @command{xorriso} is able to retrieve those ACLs.
|
|
|
|
It can bring them into
|
2010-03-18 10:13:35 +00:00
|
|
|
effect when files get restored to an ACL enabled file system or it can
|
|
|
|
print them in a format suitable for tool setfacl.
|
|
|
|
@*
|
|
|
|
Files with ACL show as group permissions the setting of entry "mask::" if
|
|
|
|
that entry exists. Nevertheless the non-listed group members get handled
|
2011-06-17 14:39:24 +00:00
|
|
|
according to entry "group::". When removing ACL from a file,
|
|
|
|
@command{xorriso} brings "group::" into effect.
|
2011-08-23 10:42:01 +00:00
|
|
|
@*
|
|
|
|
Recording and restoring of ACLs from and to local files works currently
|
|
|
|
only on GNU/Linux and FreeBSD.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex xattr, _definition
|
|
|
|
@cindex EA, _definition
|
|
|
|
@cindex extattr, _definition
|
2011-08-23 10:42:01 +00:00
|
|
|
@strong{xattr} (aka EA, or extattr)
|
2010-03-18 10:13:35 +00:00
|
|
|
are pairs of name and value which can be attached to file objects. AAIP is
|
2011-05-16 19:20:07 +00:00
|
|
|
able to represent them and @command{xorriso} allows to record and restore
|
|
|
|
pairs which
|
2010-03-18 10:13:35 +00:00
|
|
|
have names out of the user namespace. I.e. those which begin with "user.",
|
|
|
|
like "user.x" or "user.whatever". Name has to be a 0 terminated string.
|
|
|
|
Value may be any array of bytes which does not exceed the size of 4095 bytes.
|
2012-03-05 12:13:37 +00:00
|
|
|
xattr processing happens only if it is enabled by command
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{-xattr}.
|
|
|
|
@*
|
2011-05-16 19:20:07 +00:00
|
|
|
As with ACL, currently only @command{xorriso} is able to retrieve xattr
|
|
|
|
from AAIP enhanced images, to restore them to xattr capable file systems,
|
|
|
|
or to print them.
|
2011-08-23 10:42:01 +00:00
|
|
|
@*
|
|
|
|
Recording and restoring of xattr from and to local files works currently
|
|
|
|
only on GNU/Linux and FreeBSD, where they are known as extattr.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .SS
|
|
|
|
@node Processing, Dialog, Extras, top
|
|
|
|
@chapter Command processing
|
|
|
|
@c man .B Command processing:
|
|
|
|
@c man .br
|
|
|
|
Commands are either actions which happen immediately or settings which
|
2012-01-31 13:04:28 +00:00
|
|
|
influence following actions. So their sequence does matter, unless they are
|
2012-03-05 12:13:37 +00:00
|
|
|
given as program arguments and command
|
2012-01-31 13:04:28 +00:00
|
|
|
@strong{-x}
|
|
|
|
is among them.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex List delimiter, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
Commands consist of a command word,
|
|
|
|
followed by zero or more parameter words. If the list of parameter words
|
2012-03-05 10:32:03 +00:00
|
|
|
is of variable length (indicated by "[...]" or "[***]") then it must be
|
|
|
|
terminated by either the @strong{list delimiter}, occur at the end of
|
|
|
|
the argument list, or occur at the end of an input line.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2012-03-05 10:32:03 +00:00
|
|
|
At program start the list delimiter is the string "@minus{}@minus{}".
|
2012-03-05 12:13:37 +00:00
|
|
|
This may be changed with the -list_delimiter command in order to allow
|
2012-03-05 10:32:03 +00:00
|
|
|
"@minus{}@minus{}" as parameter in a variable length list.
|
|
|
|
However, it is advised to reset the delimiter to "@minus{}@minus{}"
|
|
|
|
immediately afterwards.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
For brevity the list delimiter is referred as "@minus{}@minus{}"
|
|
|
|
throughout this text.
|
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
The list delimiter is silently ignored if it appears after the parameters of
|
2010-03-18 10:13:35 +00:00
|
|
|
a command with a fixed list length. It is handled as normal text if it
|
2012-02-24 20:20:22 +00:00
|
|
|
appears among the parameters of such a command.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Pattern expansion, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{Pattern expansion}
|
2010-03-20 16:54:56 +00:00
|
|
|
converts a list of pattern words into a list of existing file addresses.
|
2012-03-05 10:32:03 +00:00
|
|
|
Unmatched pattern words will appear unaltered in that result list.
|
2010-03-20 16:54:56 +00:00
|
|
|
@*
|
|
|
|
Pattern matching supports the usual shell parser wildcards '*' '?' '[xyz]'
|
2012-03-05 10:32:03 +00:00
|
|
|
and respects '/' as the path separator, which may only be matched literally.
|
2010-03-20 16:54:56 +00:00
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
Pattern expansion is a property of some particular commands and not a general
|
|
|
|
feature. It is controlled by commands -iso_rr_pattern and -disk_pattern.
|
|
|
|
Commands which use pattern expansion all have variable parameter
|
|
|
|
lists which are specified in this text by "[***]" rather than "[...]".
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
Some other commands perform pattern matching unconditionally.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2012-03-05 10:32:03 +00:00
|
|
|
Command and parameter words are either read from the program arguments, where
|
|
|
|
one argument is one word, or from quoted input lines where words are recognized
|
2010-03-18 10:13:35 +00:00
|
|
|
similar to the quotation rules of a shell parser.
|
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
@command{xorriso} is not a shell, although it might appear so at first glimpse.
|
2010-03-18 10:13:35 +00:00
|
|
|
Be aware that the interaction of quotation marks and pattern symbols like "*"
|
2011-05-16 19:20:07 +00:00
|
|
|
differs from the usual shell parsers. In @command{xorriso}, a quotation mark
|
|
|
|
does not make a pattern symbol literal.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2012-03-14 15:26:49 +00:00
|
|
|
@cindex Quoted input, _definition
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{Quoted input}
|
2012-03-05 10:32:03 +00:00
|
|
|
converts whitespace-separated text into words.
|
2010-03-18 10:13:35 +00:00
|
|
|
The double quotation mark " and the single quotation mark ' can be used to
|
|
|
|
enclose whitespace and make it part of words (e.g. of file names). Each mark
|
|
|
|
type can enclose the marks of the other type. A trailing backslash \ outside
|
|
|
|
quotations or an open quotation cause the next input line to be appended.
|
|
|
|
@*
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Backslash Interpretation, _definition
|
2012-03-05 12:13:37 +00:00
|
|
|
Quoted input accepts any 8-bit character except NUL (0) as the content of
|
2012-03-05 10:32:03 +00:00
|
|
|
the quotes.
|
2010-03-18 10:13:35 +00:00
|
|
|
Nevertheless it can be cumbersome for the user to produce those characters
|
2012-03-05 10:32:03 +00:00
|
|
|
directly. Therefore quoted input and program arguments allow optional
|
2010-03-18 10:13:35 +00:00
|
|
|
@strong{Backslash Interpretation}
|
2012-03-05 12:13:37 +00:00
|
|
|
which can represent all 8-bit characters except NUL (0) via backslash codes
|
2010-03-18 10:13:35 +00:00
|
|
|
as in $'...' of bash.
|
|
|
|
@*
|
2012-03-05 12:13:37 +00:00
|
|
|
This is not enabled by default. See command -backslash_codes.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2011-06-17 14:39:24 +00:00
|
|
|
When the program starts then it first looks for argument -no_rc. If this is
|
2010-03-18 10:13:35 +00:00
|
|
|
not present then it looks for its startup files and
|
2011-06-17 14:39:24 +00:00
|
|
|
reads their content as command input lines. Then it interprets
|
|
|
|
the program arguments as commands and parameters. Finally it enters
|
2012-03-05 10:32:03 +00:00
|
|
|
dialog mode if command -dialog "on" has been executed by this point.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
The program ends either by command -end, or by the end of program arguments
|
2012-03-05 10:32:03 +00:00
|
|
|
if dialog mode has not been enabled at that point, or by a problem
|
2010-03-18 10:13:35 +00:00
|
|
|
event which triggers the threshold of command -abort_on.
|
|
|
|
@c man .SS
|
2012-11-05 09:37:47 +00:00
|
|
|
@node Dialog, Commands, Processing, top
|
2010-03-18 10:13:35 +00:00
|
|
|
@chapter Dialog, Readline, Result pager
|
|
|
|
@c man .B Dialog, Readline, Result pager:
|
|
|
|
@c man .br
|
|
|
|
Dialog mode prompts for a quoted input line, parses it into words, and performs
|
|
|
|
them as commands with their parameters. It provides assisting services
|
|
|
|
to make dialog more comfortable.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2012-03-05 10:32:03 +00:00
|
|
|
Readline is an enhancement for the input line. You may already know it from
|
2011-05-16 19:20:07 +00:00
|
|
|
the bash shell. Whether it is available in @command{xorriso} depends on the
|
|
|
|
availability
|
|
|
|
of package readline-dev at the time when @command{xorriso} was built from
|
|
|
|
its sourcecode.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
Readline allows to move the cursor over the text in the line by help of the
|
|
|
|
Left and the Right arrow keys.
|
2010-03-18 10:13:35 +00:00
|
|
|
Text may be inserted at the cursor position. The Delete key removes the
|
2012-03-05 10:32:03 +00:00
|
|
|
character under the cursor. Up and Down arrow keys navigate through
|
2010-03-18 10:13:35 +00:00
|
|
|
the history of previous input lines.
|
|
|
|
@*
|
|
|
|
@c man-ignore-lines 1
|
|
|
|
See info readline
|
|
|
|
@c man See man readline
|
|
|
|
for more info about libreadline.
|
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
2012-03-05 12:13:37 +00:00
|
|
|
Command -page activates a built-in result text pager which may be convenient in
|
2012-03-05 10:32:03 +00:00
|
|
|
dialog mode. After an action has output the given number of terminal lines,
|
2010-03-18 10:13:35 +00:00
|
|
|
the pager prompts the user for a line of input.
|
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
An empty line lets @command{xorriso} resume work until the next page is output.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
The single character "@@" disables paging for the current action.
|
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
"@@@@@@", "x", "q", "X", or "Q" request that the current action aborts and
|
|
|
|
suppress further result output.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
Any other line input will be interpreted as new dialog line. The current action
|
|
|
|
is requested to abort. Afterwards, the input line is executed.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
|
|
|
@sp 1
|
|
|
|
Some actions apply paging to their info output, too.
|
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
The request to abort may or may not be obeyed by the current action.
|
|
|
|
All actions try to abort as soon as possible.
|
2012-11-05 09:37:47 +00:00
|
|
|
@node Commands, Examples, Dialog, top
|
|
|
|
@chapter Commands
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .br
|
|
|
|
@c man .SH OPTIONS
|
|
|
|
@c man .br
|
|
|
|
All command words are shown with a leading dash although this dash is not
|
2012-03-05 12:13:37 +00:00
|
|
|
mandatory for the command to be recognized. Nevertheless within command -as
|
|
|
|
the dashes of the emulated commands are mandatory.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
Normally any number of leading dashes is ignored with command words and
|
|
|
|
inner dashes are interpreted as underscores.
|
|
|
|
@menu
|
2012-01-31 13:04:28 +00:00
|
|
|
* ArgSort:: Execution order of program arguments
|
2012-03-05 10:32:03 +00:00
|
|
|
* AqDrive:: Acquiring source and target drive
|
2010-03-18 10:13:35 +00:00
|
|
|
* Loading:: Influencing the behavior of image loading
|
2010-03-20 16:54:56 +00:00
|
|
|
* Insert:: Inserting files into ISO image
|
2010-03-18 10:13:35 +00:00
|
|
|
* SetInsert:: Settings for file insertion
|
2010-03-20 16:54:56 +00:00
|
|
|
* Manip:: File manipulations
|
|
|
|
* CmdFind:: Tree traversal command -find
|
|
|
|
* Filter:: Filters for data file content
|
|
|
|
* Writing:: Writing the result, drive control
|
2010-03-18 10:13:35 +00:00
|
|
|
* SetWrite:: Settings for result writing
|
2010-10-18 21:22:23 +00:00
|
|
|
* Bootable:: Bootable ISO images
|
2010-09-29 15:28:57 +00:00
|
|
|
* Jigdo:: Jigdo Template Extraction
|
2010-03-18 10:13:35 +00:00
|
|
|
* Charset:: Character sets
|
|
|
|
* Exception:: Exception processing
|
|
|
|
* DialogCtl:: Dialog mode control
|
|
|
|
* Inquiry:: Drive and media related inquiry actions
|
|
|
|
* Navigate:: Navigation in ISO image and disk filesystem
|
|
|
|
* Verify:: Evaluation of readability and recovery
|
2012-03-05 12:13:37 +00:00
|
|
|
* Restore:: osirrox ISO-to-disk restore commands
|
2010-03-18 10:13:35 +00:00
|
|
|
* Emulation:: Command compatibility emulations (cdrtools)
|
|
|
|
* Scripting:: Scripting, dialog and program control features
|
|
|
|
* Frontend:: Support for frontend programs via stdin and stdout
|
|
|
|
@end menu
|
|
|
|
@c man .TP
|
2012-11-05 09:37:47 +00:00
|
|
|
@node ArgSort, AqDrive, Commands, Commands
|
2012-01-31 13:04:28 +00:00
|
|
|
@section Execution order of program arguments
|
|
|
|
@c man .B Execution order of program arguments:
|
|
|
|
@c man .PP
|
|
|
|
By default the program arguments of a xorriso run are interpreted as a
|
|
|
|
sequence of commands which get performed exactly in the given order.
|
|
|
|
This requires the user to write commands for desired settings before the
|
|
|
|
commands which shall be influenced by those settings.
|
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
Many other programs support program arguments in an arbitrary ordering
|
|
|
|
and perform settings and actions in a sequence at their own discretion.
|
|
|
|
xorriso provides an option to enable such a behavior
|
|
|
|
at the cost of loss of expressivity.
|
2012-01-31 13:04:28 +00:00
|
|
|
@table @asis
|
|
|
|
@sp 1
|
|
|
|
@c man .TP
|
|
|
|
@item -x
|
2012-03-05 12:13:37 +00:00
|
|
|
@kindex -x enables automatic execution order of arguments
|
|
|
|
@cindex Automatic execution order, of arguments, -x
|
2012-03-05 10:32:03 +00:00
|
|
|
Enable automatic sorting of program arguments into a sequence that
|
|
|
|
(most likely) is sensible.
|
|
|
|
This command may be given at any position among the commands
|
2012-01-31 13:04:28 +00:00
|
|
|
which are handed over as program arguments.
|
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
Note: It works only if it is given as program argument and
|
|
|
|
with a single dash (i.e. "-x"). It will not work in startup files, nor with
|
|
|
|
-options_from_file, nor in dialog mode, nor as "x" and finally not as
|
|
|
|
"@minus{}@minus{}x".
|
|
|
|
It affects only the commands given as program arguments.
|
2012-01-31 13:04:28 +00:00
|
|
|
@c man .TP
|
|
|
|
@item -list_arg_sorting
|
|
|
|
@kindex -list_arg_sorting prints sorting order of -x
|
|
|
|
@cindex Sorting order, for -x, -list_arg_sorting
|
2012-03-05 12:13:37 +00:00
|
|
|
List all xorriso commands in the order which applies if command -x is in
|
|
|
|
effect.
|
2012-01-31 13:04:28 +00:00
|
|
|
@*
|
2012-03-05 10:32:03 +00:00
|
|
|
This list may also be helpful without -x for a user who ponders over the
|
|
|
|
sequence in which to put commands. Deviations from the listed sorting order may
|
2012-01-31 13:04:28 +00:00
|
|
|
well make sense, though.
|
|
|
|
@end table
|
|
|
|
@c man .PP
|
|
|
|
@c man .TP
|
2012-11-05 09:37:47 +00:00
|
|
|
@node AqDrive, Loading, ArgSort, Commands
|
2012-03-05 10:32:03 +00:00
|
|
|
@section Acquiring source and target drive
|
|
|
|
@c man .B Acquiring source and target drive:
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .PP
|
2012-03-05 12:13:37 +00:00
|
|
|
The effect of acquiring a drive may depend on several commands in the
|
2011-06-17 14:39:24 +00:00
|
|
|
next paragraph "Influencing the behavior of image loading".
|
|
|
|
If desired, their enabling commands have to be performed before the
|
2012-03-05 10:32:03 +00:00
|
|
|
commands which acquire the drive.
|
2010-03-18 10:13:35 +00:00
|
|
|
@table @asis
|
|
|
|
@sp 1
|
|
|
|
@c man .TP
|
|
|
|
@item -dev address
|
2012-03-05 10:32:03 +00:00
|
|
|
@kindex -dev acquires one drive for input and output
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Drive, for input and output, -dev
|
2011-06-17 14:39:24 +00:00
|
|
|
Set input and output drive to the same address and load an ISO image if it
|
|
|
|
is present.
|
2010-03-18 10:13:35 +00:00
|
|
|
If there is no ISO image then create a blank one.
|
|
|
|
Set the image expansion method to growing.
|
|
|
|
@*
|
|
|
|
This is only allowed as long as no changes are pending in the currently
|
2011-06-17 14:39:24 +00:00
|
|
|
loaded ISO image. If changes are pending, then one has to perform -commit
|
|
|
|
or -rollback first.
|
2010-03-18 10:13:35 +00:00
|
|
|
@*
|
|
|
|
Special address string "-" means standard output, to which several restrictions
|
|
|
|
apply. See above paragraph "Libburn drives".
|
|
|
|
@*
|
|
|
|
An empty address string "" gives up the current device
|
2012-03-05 10:32:03 +00:00
|
|
|
without acquiring a new one.
|
2010-03-18 10:13:35 +00:00
|
|
|
@c man .TP
|
|
|
|
@item -indev address
|
2012-03-05 10:32:03 +00:00
|
|
|
@kindex -indev acquires a drive for input
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Drive, for input, -indev
|
2011-06-17 14:39:24 +00:00
|
|
|
Set input drive and load an ISO image if present.
|
|
|
|
If the new input drive differs
|
2010-03-18 10:13:35 +00:00
|
|
|
from -outdev then switch from growing to modifying or to blind growing.
|
|
|
|
It depends on the setting of -grow_blindly which of both gets activated.
|
|
|
|
The same rules and restrictions apply as with -dev.
|
|
|
|
@c man .TP
|
|
|
|
@item -outdev address
|
2012-03-05 10:32:03 +00:00
|
|
|
@kindex -outdev acquires a drive for output
|
2010-03-20 16:54:56 +00:00
|
|
|
@cindex Drive, for output, -outdev
|
2010-03-18 10:13:35 +00:00
|
|
|
Set output drive and if it differs from the input drive then switch from
|
|
|
|
growing to modifying or to blind growing. Unlike -dev and -indev this action
|
|
|
|
does not load a new ISO image. So it can be performed even if there are pending
|
|
|
|
changes.
|
|
|
|
@*
|
|
|
|
-outdev can be performed without previous -dev or -indev. In that case an
|
|
|
|
empty ISO image with no changes pending is created. It can either be populated
|
|
|
|
by help of -map, -add et.al. or it can be discarded silently if -dev or -indev
|
|
|
|
are performed afterwards.
|
|
|
|
@*
|
|