"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "xorriso/xorriso.1" between
xorriso-1.4.6.tar.gz and xorriso-1.4.8.tar.gz

About: GNU xorriso creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is suitable for incremental data backup and for production of bootable ISO 9660 images. GNU xorriso is a statical compilation of the libraries libburn, libisofs, libisoburn, and libjte.

xorriso.1  (xorriso-1.4.6):xorriso.1  (xorriso-1.4.8)
skipping to change at line 827 skipping to change at line 827
there is a mismatch then the necessary update manipulation is done . there is a mismatch then the necessary update manipulation is done .
Note that the comparison result may depend on command -follow. It s setting should always be the Note that the comparison result may depend on command -follow. It s setting should always be the
same as with the first adding of disk_path as iso_rr_path. same as with the first adding of disk_path as iso_rr_path.
If iso_rr_path does not exist yet, then it gets added. If disk _path does not exist, then If iso_rr_path does not exist yet, then it gets added. If disk _path does not exist, then
iso_rr_path gets deleted. iso_rr_path gets deleted.
-update_l disk_prefix iso_rr_prefix disk_path [***] -update_l disk_prefix iso_rr_prefix disk_path [***]
Perform -update_r with each of the disk_path parameters. iso _rr_path will be composed from Perform -update_r with each of the disk_path parameters. iso _rr_path will be composed from
disk_path by replacing disk_prefix by iso_rr_prefix. disk_path by replacing disk_prefix by iso_rr_prefix.
-update_li iso_rr_prefix disk_prefix iso_rr_path [***]
Perform -update_r with each of the iso_rr_path parameters. disk_
path will be composed from
iso_rr_path by replacing iso_rr_prefix by disk_prefix.
-update_lxi disk_prefix iso_rr_prefix disk_path [***]
Perform -update_r with each of the disk_path parameters an
d with iso_rr_paths in the ISO
filesystem which are derived from the disk_path parameters afte
r exchanging disk_prefix by
iso_rr_prefix. So, other than -update_l, this detects missing ma
tches of disk_path and deletes
the corresponding iso_rr_path.
Note that relative disk_paths and disk_path patterns are interpret
ed as sub paths of the current
disk working directory -cdx. The corresponding iso_rr_paths
are derived by exchanging
disk_prefix by iso_rr_prefix before pattern expansion happens. The
current -cdi directory has no
influence.
-cut_out disk_path byte_offset byte_count iso_rr_path -cut_out disk_path byte_offset byte_count iso_rr_path
Map a byte interval of a regular disk file into a regular file in Map a byte interval of a regular disk file into a regular file
the ISO image. This may be in the ISO image. This may be
necessary if the disk file is larger than a single medium, or necessary if the disk file is larger than a single medium, or if
if it exceeds the traditional it exceeds the traditional
limit of 2 GiB - 1 for old operating systems, or the limit of 4 Gi B - 1 for newer ones. Only the limit of 2 GiB - 1 for old operating systems, or the limit of 4 Gi B - 1 for newer ones. Only the
newest Linux kernels seem to read properly files >= 4 GiB - 1. newest Linux kernels seem to read properly files >= 4 GiB - 1.
A clumsy remedy for this limit is to backup file pieces and to con catenate them at restore time. A clumsy remedy for this limit is to backup file pieces and to con catenate them at restore time.
A well tested chopping size is 2047m. It is permissible to reques A well tested chopping size is 2047m. It is permissible to re
t a higher byte_count than quest a higher byte_count than
available. The resulting file will be truncated to the corr available. The resulting file will be truncated to the correct s
ect size of a final piece. To ize of a final piece. To
request a byte_offset higher than available yields no file in the request a byte_offset higher than available yields no file in th
ISO image but a SORRY event. e ISO image but a SORRY event.
E.g: E.g:
-cut_out /my/disk/file 0 2047m \ -cut_out /my/disk/file 0 2047m \
/file/part_1_of_3_at_0_with_2047m_of_5753194821 \ /file/part_1_of_3_at_0_with_2047m_of_5753194821 \
-cut_out /my/disk/file 2047m 2047m \ -cut_out /my/disk/file 2047m 2047m \
/file/part_2_of_3_at_2047m_with_2047m_of_5753194821 \ /file/part_2_of_3_at_2047m_with_2047m_of_5753194821 \
-cut_out /my/disk/file 4094m 2047m \ -cut_out /my/disk/file 4094m 2047m \
/file/part_3_of_3_at_4094m_with_2047m_of_5753194821 /file/part_3_of_3_at_4094m_with_2047m_of_5753194821
While command -split_size is set larger than 0, and if all piece While command -split_size is set larger than 0, and if all pieces
s of a file reside in the same of a file reside in the same
ISO directory with no other files, and if the names look like abov ISO directory with no other files, and if the names look like a
e, then their ISO directory bove, then their ISO directory
will be recognized and handled like a regular file. This affects will be recognized and handled like a regular file. This affects c
commands -compare*, -update*, ommands -compare*, -update*,
and overwrite situations. See command -split_size for details. and overwrite situations. See command -split_size for details.
-cpr disk_path [***] iso_rr_path -cpr disk_path [***] iso_rr_path
Insert the given files or directory trees from filesystem into the ISO image. Insert the given files or directory trees from filesystem into the ISO image.
The rules for generating the ISO addresses are similar as The rules for generating the ISO addresses are similar as
with shell command cp -r. with shell command cp -r.
Nevertheless, directories of the iso_rr_path are created if n Nevertheless, directories of the iso_rr_path are created if neces
ecessary. Especially a not yet sary. Especially a not yet
existing iso_rr_path will be handled as directory if multiple d existing iso_rr_path will be handled as directory if multipl
isk_paths are present. The e disk_paths are present. The
leafnames of the multiple disk_paths will be grafted under that d leafnames of the multiple disk_paths will be grafted under that di
irectory as would be done with rectory as would be done with
an existing directory. an existing directory.
If a single disk_path is present then a non-existing iso_rr_path w ill get the same type as the If a single disk_path is present then a non-existing iso_rr_path will get the same type as the
disk_path. disk_path.
If a disk_path does not begin with '/' then -cdx is prepended . If the iso_rr_path does not If a disk_path does not begin with '/' then -cdx is prepended. I f the iso_rr_path does not
begin with '/' then -cd is prepended. begin with '/' then -cd is prepended.
-mkdir iso_rr_path [...] -mkdir iso_rr_path [...]
Create empty directories if they do not exist yet. Existence as d irectory generates a WARNING Create empty directories if they do not exist yet. Existence as directory generates a WARNING
event, existence as other file causes a FAILURE event. event, existence as other file causes a FAILURE event.
-lns target_text iso_rr_path -lns target_text iso_rr_path
Create a symbolic link with address iso_rr_path which points to target_text. iso_rr_path may Create a symbolic link with address iso_rr_path which points to t arget_text. iso_rr_path may
not exist yet. not exist yet.
Hint: Command -clone produces the ISO equivalent of a hard link. Hint: Command -clone produces the ISO equivalent of a hard link.
-clone iso_rr_path_original iso_rr_path_copy -clone iso_rr_path_original iso_rr_path_copy
Create a copy of the ISO file object iso_rr_path_original with the new address iso_rr_path_copy. Create a copy of the ISO file object iso_rr_path_original with the new address iso_rr_path_copy.
If the original is a directory then copy all files and directories underneath. If If the original is a directory then copy all files and directories underneath. If
iso_rr_path_original is a boot catalog file, then it gets not copi ed but is silently ignored. iso_rr_path_original is a boot catalog file, then it gets not copi ed but is silently ignored.
The copied ISO file objects have the same attributes. Copied dat The copied ISO file objects have the same attributes. Copie
a files refer to the same d data files refer to the same
content source as their originals. The copies may then be mani content source as their originals. The copies may then be manipul
pulated independendly of their ated independendly of their
originals. originals.
This command will refuse execution if the address iso_rr_path_copy already exists in the ISO This command will refuse execution if the address iso_rr_path_ copy already exists in the ISO
tree. tree.
-cp_clone iso_rr_path_original [***] iso_rr_path_dest -cp_clone iso_rr_path_original [***] iso_rr_path_dest
Create copies of one or more ISO file objects as with command -clone. In case of collision Create copies of one or more ISO file objects as with command -cl one. In case of collision
merge directories with existing ones, but do not overwrite existin g ISO file objects. merge directories with existing ones, but do not overwrite existin g ISO file objects.
The rules for generating the copy addresses are the same as with c The rules for generating the copy addresses are the same as wi
ommand -cpr (see above) or th command -cpr (see above) or
shell command cp -r. Other than with -cpr, relative iso_rr_path_o shell command cp -r. Other than with -cpr, relative iso_rr_path_or
riginal will get prepended the iginal will get prepended the
-cd path and not the -cdx path. Consider to -mkdir iso_rr_path_des t before -cp_clone so the copy -cd path and not the -cdx path. Consider to -mkdir iso_rr_path_des t before -cp_clone so the copy
address does not depend on the number of iso_rr_path_original para meters. address does not depend on the number of iso_rr_path_original para meters.
Settings for file insertion: Settings for file insertion:
-file_size_limit value [value [...]] -- -file_size_limit value [value [...]] --
Set the maximum permissible size for a single data file. The value s get summed up for the actual Set the maximum permissible size for a single data file. The value s get summed up for the actual
limit. If the only value is "off" then the file size is not limite d by xorriso. Default is a limit. If the only value is "off" then the file size is not lim ited by xorriso. Default is a
limit of 100 extents, 4g -2k each: limit of 100 extents, 4g -2k each:
-file_size_limit 400g -200k -- -file_size_limit 400g -200k --
When mounting ISO 9660 filesystems, old operating systems can han When mounting ISO 9660 filesystems, old operating systems can hand
dle only files up to 2g -1 --. le only files up to 2g -1 --.
Newer ones are good up to 4g -1 --. You need quite a new Linux ke Newer ones are good up to 4g -1 --. You need quite a new Linu
rnel to read correctly the x kernel to read correctly the
final bytes of a file >= 4g if its size is not aligned to 2048 byt e blocks. final bytes of a file >= 4g if its size is not aligned to 2048 byt e blocks.
xorriso's own data read capabilities are not affected by oper xorriso's own data read capabilities are not affected by operatin
ating system size limits. Such g system size limits. Such
limits apply to mounting only. Nevertheless, the target filesystem limits apply to mounting only. Nevertheless, the target filesyst
of an -extract must be able em of an -extract must be able
to take the file size. to take the file size.
-not_mgt code[:code[...]] -not_mgt code[:code[...]]
Control the behavior of the exclusion lists. Control the behavior of the exclusion lists.
Exclusion processing happens before disk_paths get mapped to the I SO image and before disk files Exclusion processing happens before disk_paths get mapped to the I SO image and before disk files
get compared with image files. The absolute disk path of the sou rce is matched against the get compared with image files. The absolute disk path of the source is matched against the
-not_paths list. The leafname of the disk path is matched against the patterns in the -not_leaf -not_paths list. The leafname of the disk path is matched against the patterns in the -not_leaf
list. If a match is detected then the disk path will not be regard ed as an existing file and not list. If a match is detected then the disk path will not be regard ed as an existing file and not
be added to the ISO image. be added to the ISO image.
Several codes are defined. The _on/_off settings persist until they are revoked by Several codes are defined. The _on/_off settings persist until they are revoked by
their_off/_on counterparts. their_off/_on counterparts.
"erase" empties the lists which were accumulated by -not_paths and -not_leaf. "erase" empties the lists which were accumulated by -not_paths and -not_leaf.
"reset" is like "erase" but also re-installs default behavior. "reset" is like "erase" but also re-installs default behavior.
"off" disables exclusion processing temporarily without invalidati ng the lists and settings. "off" disables exclusion processing temporarily without invalidati ng the lists and settings.
"on" re-enables exclusion processing. "on" re-enables exclusion processing.
"param_off" applies exclusion processing only to paths below disk_ path parameter of commands. "param_off" applies exclusion processing only to paths below di sk_path parameter of commands.
I.e. explicitly given disk_paths are exempted from exclusion proce ssing. I.e. explicitly given disk_paths are exempted from exclusion proce ssing.
"param_on" applies exclusion processing to command parameters as well as to files below such "param_on" applies exclusion processing to command parameters as w ell as to files below such
parameters. parameters.
"subtree_off" with "param_on" excludes parameter paths only if th ey match a -not_paths item "subtree_off" with "param_on" excludes parameter paths only i f they match a -not_paths item
exactly. exactly.
"subtree_on" additionally excludes parameter paths which lea d to a file address below any "subtree_on" additionally excludes parameter paths which lead to a file address below any
-not_paths item. -not_paths item.
"ignore_off" treats excluded disk files as if they were missing. I .e. they get reported with "ignore_off" treats excluded disk files as if they were missin g. I.e. they get reported with
-compare and deleted from the image with -update. -compare and deleted from the image with -update.
"ignore_on" keeps excluded files out of -compare or -update activi ties. "ignore_on" keeps excluded files out of -compare or -update activi ties.
-not_paths disk_path [***] -not_paths disk_path [***]
Add the given paths to the list of excluded absolute disk paths Add the given paths to the list of excluded absolute disk paths. I
. If a given path is relative, f a given path is relative,
then the current -cdx is prepended to form an absolute path. Pa then the current -cdx is prepended to form an absolute path.
ttern matching, if enabled, Pattern matching, if enabled,
happens at definition time and not when exclusion checks are made. happens at definition time and not when exclusion checks are made.
(Do not forget to end the list of disk_paths by "--") (Do not forget to end the list of disk_paths by "--")
-not_leaf pattern -not_leaf pattern
Add a single shell parser style pattern to the list of exclus ions for disk leafnames. These Add a single shell parser style pattern to the list of exclusions for disk leafnames. These
patterns are evaluated when the exclusion checks are made. patterns are evaluated when the exclusion checks are made.
-not_list disk_path -not_list disk_path
Read lines from disk_path and use each of them either as -not_path s parameter, if they contain a Read lines from disk_path and use each of them either as -not_path s parameter, if they contain a
/ character, or as -not_leaf pattern. / character, or as -not_leaf pattern.
-quoted_not_list disk_path -quoted_not_list disk_path
Like -not_list but with quoted input reading rules. Each word i s handled as one parameter for Like -not_list but with quoted input reading rules. Each word is h andled as one parameter for
-not_paths or -not_leaf. -not_paths or -not_leaf.
-follow occasion[:occasion[...]] -follow occasion[:occasion[...]]
Enable or disable resolution of symbolic links and mountpoints und er disk_paths. This applies to Enable or disable resolution of symbolic links and mountpoints und er disk_paths. This applies to
actions -add, -du*x, -ls*x, -findx, -concat, and to -disk_pattern expansion. actions -add, -du*x, -ls*x, -findx, -concat, and to -disk_pattern expansion.
There are three kinds of follow decisison to be made: There are three kinds of follow decisison to be made:
link is the hop from a symbolic link to its target file object fo link is the hop from a symbolic link to its target file object for
r the purpose of reading. I.e. the purpose of reading. I.e.
not for command -concat. If enabled then symbolic links are ha not for command -concat. If enabled then symbolic links ar
ndled as their target file e handled as their target file
objects, else symbolic links are handled as themselves. objects, else symbolic links are handled as themselves.
mount is the hop from one filesystem to another subordinat e filesystem. If enabled then mount is the hop from one filesystem to another subordinate f ilesystem. If enabled then
mountpoint directories are handled as any other directory, else mo untpoints are handled as empty mountpoint directories are handled as any other directory, else mo untpoints are handled as empty
directories if they are encountered in directory tree traversals. directories if they are encountered in directory tree traversals.
concat is the hop from a symbolic link to its target file obje ct for the purpose of writing. concat is the hop from a symbolic link to its target file object f or the purpose of writing.
I.e. for command -concat. This is a security risk ! I.e. for command -concat. This is a security risk !
Less general than above occasions: Less general than above occasions:
pattern is mount and link hopping, but only during -disk_pattern e xpansion. pattern is mount and link hopping, but only during -disk_pattern e xpansion.
param is link hopping for parameter words (after eventual pattern param is link hopping for parameter words (after eventual patter
expansion). If enabled then n expansion). If enabled then
-ls*x will show the link targets rather than the links themselves -ls*x will show the link targets rather than the links themselves.
. -du*x, -findx, and -add will -du*x, -findx, and -add will
process the link targets but not follow links in an eventual direc process the link targets but not follow links in an eventual di
tory tree below the targets rectory tree below the targets
(unless "link" is enabled). (unless "link" is enabled).
Occasions can be combined in a colon separated list. All occasi ons mentioned in the list will Occasions can be combined in a colon separated list. All occasions mentioned in the list will
then lead to a positive follow decision. then lead to a positive follow decision.
off prevents any positive follow decision. Use it if no other occa sion applies. off prevents any positive follow decision. Use it if no other occa sion applies.
Shortcuts: Shortcuts:
default is equivalent to "pattern:mount:limit=100". default is equivalent to "pattern:mount:limit=100".
on always decides positive. Equivalent to "link:mount:concat". on always decides positive. Equivalent to "link:mount:concat".
Not an occasion but an optional setting is: Not an occasion but an optional setting is:
limit=<number> which sets the maximum number of link hops. A link hop consists of a sequence of limit=<number> which sets the maximum number of link hops. A link hop consists of a sequence of
symbolic links and a final target of different type. Nevertheless those hops can loop. Example: symbolic links and a final target of different type. Nevertheless those hops can loop. Example:
$ ln -s .. uploop $ ln -s .. uploop
Link hopping has a built-in loop detection which stops hopping at the first repetition of a link Link hopping has a built-in loop detection which stops hopping at the first repetition of a link
target. Then the repeated link is handled as itself and not as its target. Then the repeated link is handled as itself and not as it
target. Regrettably one can s target. Regrettably one can
construct link networks which cause exponential workload before construct link networks which cause exponential workload before th
their loops get detected. The eir loops get detected. The
number given with "limit=" can curb this workload at the risk o number given with "limit=" can curb this workload at the ris
f truncating an intentional k of truncating an intentional
sequence of link hops. sequence of link hops.
-pathspecs "on"|"off"|"as_mkisofs" -pathspecs "on"|"off"|"as_mkisofs"
Control parameter interpretation with xorriso actions -add and -pa th_list. Control parameter interpretation with xorriso actions -add and -pa th_list.
Mode "as_mkisofs" enables pathspecs of the form Mode "as_mkisofs" enables pathspecs of the form
iso_rr_path=disk_path iso_rr_path=disk_path
like with program mkisofs -graft-points. like with program mkisofs -graft-points.
All characters '\' must be escaped in both, iso_rr_path and disk All characters '\' must be escaped in both, iso_rr_path and disk_p
_path. The character '=' must ath. The character '=' must
be escaped in the iso_rr_path and may or may not be escaped in be escaped in the iso_rr_path and may or may not be escape
the disk_path. This mode d in the disk_path. This mode
temporarily disables -disk_pattern expansion for command -add. temporarily disables -disk_pattern expansion for command -add.
Mode "on" does nearly the same. But '=' must only be escaped in th e iso_rr_path and '\' must not Mode "on" does nearly the same. But '=' must only be escaped in th e iso_rr_path and '\' must not
be escaped at all. This has the disadvantage that one cannot expre ss an iso_rr_path which ends be escaped at all. This has the disadvantage that one cannot exp ress an iso_rr_path which ends
by '\'. by '\'.
Mode "off" disables pathspecs of the form target=source and re-ena bles -disk_pattern expansion. Mode "off" disables pathspecs of the form target=source and re-ena bles -disk_pattern expansion.
-overwrite "on"|"nondir"|"off" -overwrite "on"|"nondir"|"off"
Allow or disallow overwriting of existing files in the ISO image b y files with the same name. Allow or disallow overwriting of existing files in the ISO image b y files with the same name.
With setting "off", name collisions cause FAILURE events. With setting "off", name collisions with at least one non-director
With setting "nondir", only y file cause FAILURE events.
directories are protected by such events, other existing file type Collisions of two directories lead to merging of their file lists.
s get treated with -rm before With setting "nondir", only directories are protected by such eve
the new file gets added. Setting "on" enables automatic -rm_r. I. nts, other existing file types
e. a non-directory can replace get treated with -rm before the new file gets added. Setting "on"
an existing directory and all its subordinates. enables automatic -rm_r. I.e.
If restoring of files is enabled, then the overwrite rule applies a non-directory can replace an existing directory and all its subo
to the target file objects on rdinates.
If restoring of files is enabled, then the overwrite rule applies
to the target file objects on
disk as well, but "on" is downgraded to "nondir". disk as well, but "on" is downgraded to "nondir".
-split_size number["k"|"m"] -split_size number["k"|"m"]
Set the threshold for automatic splitting of regular files. Su Set the threshold for automatic splitting of regular files. Such s
ch splitting maps a large disk plitting maps a large disk
file onto a ISO directory with several part files in it. This is file onto a ISO directory with several part files in it. This i
necessary if the size of the s necessary if the size of the
disk file exceeds -file_size_limit. Older operating systems c disk file exceeds -file_size_limit. Older operating systems can h
an handle files in mounted ISO andle files in mounted ISO
9660 filesystems only if they are smaller than 2 GiB or in other c ases 4 GiB. 9660 filesystems only if they are smaller than 2 GiB or in other c ases 4 GiB.
Default is 0 which will exclude files larger than -file_size_limit by a FAILURE event. A well Default is 0 which will exclude files larger than -file_size_lim it by a FAILURE event. A well
tested -split_size is 2047m. Sizes above -file_size_limit are not permissible. tested -split_size is 2047m. Sizes above -file_size_limit are not permissible.
While command -split_size is set larger than 0 such a directory While command -split_size is set larger than 0 such a directory wi
with split file pieces will be th split file pieces will be
recognized and handled like a regular file by commands -compare* , recognized and handled like a regular file by commands -compare
-update*, and in overwrite * , -update*, and in overwrite
situations. There are -ossirox parameters "concat_split_on" and "c oncat_split_off" which control situations. There are -ossirox parameters "concat_split_on" and "c oncat_split_off" which control
the handling when files get restored to disk. the handling when files get restored to disk.
In order to be recognizable, the names of the part files have to d escribe the splitting by 5 In order to be recognizable, the names of the part files have to describe the splitting by 5
numbers: numbers:
part_number,total_parts,byte_offset,byte_count,disk_file_size part_number,total_parts,byte_offset,byte_count,disk_file_size
which are embedded in the following text form: which are embedded in the following text form:
part_#_of_#_at_#_with_#_of_# part_#_of_#_at_#_with_#_of_#
Scaling characters like "m" or "k" are taken into respect. All digits are interpreted as Scaling characters like "m" or "k" are taken into respect. All digits are interpreted as
decimal, even if leading zeros are present. decimal, even if leading zeros are present.
E.g: /file/part_1_of_3_at_0_with_2047m_of_5753194821 E.g: /file/part_1_of_3_at_0_with_2047m_of_5753194821
No other files are allowed in the directory. All parts have to be present and their numbers have No other files are allowed in the directory. All parts have to be present and their numbers have
to be plausible. E.g. byte_count must be valid as -cut_out parame ter and their contents may not to be plausible. E.g. byte_count must be valid as -cut_out paramet er and their contents may not
overlap. overlap.
File manipulations: File manipulations:
The following commands manipulate files in the ISO image, regardless whet her they stem from the loaded The following commands manipulate files in the ISO image, regardless whe ther they stem from the loaded
image or were newly inserted. image or were newly inserted.
-iso_rr_pattern "on"|"ls"|"off" -iso_rr_pattern "on"|"ls"|"off"
Set the pattern expansion mode for the iso_rr_path parameters of several commands which support Set the pattern expansion mode for the iso_rr_path parameters of s everal commands which support
this feature. this feature.
Setting "off" disables pattern expansion for all commands which ar e marked in this man page by Setting "off" disables pattern expansion for all commands which are marked in this man page by
"iso_rr_path [***]" or "iso_rr_pattern [***]". "iso_rr_path [***]" or "iso_rr_pattern [***]".
Setting "on" enables it for all those commands. Setting "on" enables it for all those commands.
Setting "ls" enables it only for those which are marked by "iso_rr _pattern [***]". Setting "ls" enables it only for those which are marked by "iso_rr _pattern [***]".
Default is "on". Default is "on".
-rm iso_rr_path [***] -rm iso_rr_path [***]
Delete the given files from the ISO image. Delete the given files from the ISO image.
Note: This does not free any space on the -indev medium, even i f the deletion is committed to Note: This does not free any space on the -indev medium, even if t he deletion is committed to
that same medium. that same medium.
The image size will shrink if the image is written to a different medium in modification mode. The image size will shrink if the image is written to a different medium in modification mode.
-rm_r iso_rr_path [***] -rm_r iso_rr_path [***]
Delete the given files or directory trees from the ISO image. See also the note with command Delete the given files or directory trees from the ISO image. See also the note with command
-rm. -rm.
-rmdir iso_rr_path [***] -rmdir iso_rr_path [***]
Delete empty directories. Delete empty directories.
-move iso_rr_path iso_rr_path -move iso_rr_path iso_rr_path
Rename the file given by the first (origin) iso_rr_path to the sec ond (destination) iso_rr_path. Rename the file given by the first (origin) iso_rr_path to the sec ond (destination) iso_rr_path.
Deviate from rules of shell command mv by not moving the origin Deviate from rules of shell command mv by not moving the orig
file underneath an existing in file underneath an existing
destination directory. The origin file will rather replace such a destination directory. The origin file will rather replace such a
directory, if this is allowed directory, if this is allowed
by command -overwrite. by command -overwrite.
-mv iso_rr_path [***] iso_rr_path -mv iso_rr_path [***] iso_rr_path
Rename the given file objects in the ISO tree to the last paramete r in the list. Use the same Rename the given file objects in the ISO tree to the last param eter in the list. Use the same
rules as with shell command mv. rules as with shell command mv.
If pattern expansion is enabled and if the last parameter contai ns wildcard characters then it If pattern expansion is enabled and if the last parameter contains wildcard characters then it
must match exactly one existing file address, or else the command fails with a FAILURE event. must match exactly one existing file address, or else the command fails with a FAILURE event.
-chown uid iso_rr_path [***] -chown uid iso_rr_path [***]
Set ownership of file objects in the ISO image. uid may either be a decimal number or the name Set ownership of file objects in the ISO image. uid may either b e a decimal number or the name
of a user known to the operating system. of a user known to the operating system.
-chown_r uid iso_rr_path [***] -chown_r uid iso_rr_path [***]
Like -chown but affecting all files below eventual directories. Like -chown but affecting all files below eventual directories.
-chgrp gid iso_rr_path [***] -chgrp gid iso_rr_path [***]
Set group attribute of file objects in the ISO image. gid may eit her be a decimal number or the Set group attribute of file objects in the ISO image. gid may eit her be a decimal number or the
name of a group known to the operating system. name of a group known to the operating system.
-chgrp_r gid iso_rr_path [***] -chgrp_r gid iso_rr_path [***]
Like -chgrp but affecting all files below eventual directories. Like -chgrp but affecting all files below eventual directories.
-chmod mode iso_rr_path [***] -chmod mode iso_rr_path [***]
Equivalent to shell command chmod in the ISO image. mode is eithe r an octal number beginning Equivalent to shell command chmod in the ISO image. mode is ei ther an octal number beginning
with "0" or a comma separated list of statements of the form [ugoa ]*[+-=][rwxst]* . with "0" or a comma separated list of statements of the form [ugoa ]*[+-=][rwxst]* .
Like: go-rwx,u+rwx . Like: go-rwx,u+rwx .
Personalities: u=user, g=group, o=others, a=all Personalities: u=user, g=group, o=others, a=all
Operators: + adds given permissions, - revokes given permissions, = revokes all old permissions Operators: + adds given permissions, - revokes given permissions, = revokes all old permissions
and then adds the given ones. and then adds the given ones.
Permissions: r=read, w=write, x=execute|inspect, s=setuid|setgid, t=sticky bit Permissions: r=read, w=write, x=execute|inspect, s=setuid|setgid, t=sticky bit
For octal numbers see man 2 stat. For octal numbers see man 2 stat.
-chmod_r mode iso_rr_path [***] -chmod_r mode iso_rr_path [***]
Like -chmod but affecting all files below eventual directories. Like -chmod but affecting all files below eventual directories.
-setfacl acl_text iso_rr_path [***] -setfacl acl_text iso_rr_path [***]
Attach the given ACL to the given iso_rr_paths. If the files alrea dy have ACLs, then those get Attach the given ACL to the given iso_rr_paths. If the files alr eady have ACLs, then those get
deleted before the new ones get into effect. If acl_text is empty , or contains the text "clear" deleted before the new ones get into effect. If acl_text is empty , or contains the text "clear"
or the text "--remove-all", then the existing ACLs will be removed or the text "--remove-all", then the existing ACLs will be r
and no new ones will be emoved and no new ones will be
attached. Any other content of acl_text will be interpreted as a attached. Any other content of acl_text will be interpreted as a l
list of ACL entries. It may be ist of ACL entries. It may be
in the long multi-line format as put out by -getfacl but may also be abbreviated as follows: in the long multi-line format as put out by -getfacl but may also be abbreviated as follows:
ACL entries are separated by comma or newline. If an entry is empt y text or begins with "#" then ACL entries are separated by comma or newline. If an entry is empt y text or begins with "#" then
it will be ignored. A valid entry has to begin by a letter out it will be ignored. A valid entry has to begin by a letter out of
of {ugom} for "user", "group", {ugom} for "user", "group",
"other", "mask". It has to contain two colons ":". A non-empty tex "other", "mask". It has to contain two colons ":". A non-empty
t between those ":" gives a text between those ":" gives a
user id or group id. After the second ":" there may be letters out of {rwx- #}. The first three user id or group id. After the second ":" there may be letters out of {rwx- #}. The first three
give read, write, or execute permission. Letters "-", " " and TAB are ignored. "#" causes the give read, write, or execute permission. Letters "-", " " and T AB are ignored. "#" causes the
rest of the entry to be ignored. Letter "X" or any other letters a re not supported. Examples: rest of the entry to be ignored. Letter "X" or any other letters a re not supported. Examples:
g:toolies:rw,u:lisa:rw,u:1001:rw,u::wr,g::r,o::r,m::rw g:toolies:rw,u:lisa:rw,u:1001:rw,u::wr,g::r,o::r,m::rw
group:toolies:rw-,user::rw-,group::r--,other::r--,mask::rw- group:toolies:rw-,user::rw-,group::r--,other::r--,mask::rw-
A valid entry may be prefixed by "d", some following characters and ":". This indicates that A valid entry may be prefixed by "d", some following characters an d ":". This indicates that
the entry goes to the "default" ACL rather than to the "access" AC L. Example: the entry goes to the "default" ACL rather than to the "access" AC L. Example:
u::rwx,g::rx,o::,d:u::rwx,d:g::rx,d:o::,d:u:lisa:rwx,d:m::rwx u::rwx,g::rx,o::,d:u::rwx,d:g::rx,d:o::,d:u:lisa:rwx,d:m::rwx
-setfacl_r acl_text iso_rr_path [***] -setfacl_r acl_text iso_rr_path [***]
Like -setfacl but affecting all files below eventual directories. Like -setfacl but affecting all files below eventual directories.
-setfacl_list disk_path -setfacl_list disk_path
Read the output of -getfacl_r or shell command getfacl -R and appl Read the output of -getfacl_r or shell command getfacl -R and a
y it to the iso_rr_paths as pply it to the iso_rr_paths as
given in lines beginning with "# file:". This will change ownersh given in lines beginning with "# file:". This will change ownershi
ip, group and ACL of the given p, group and ACL of the given
files. If disk_path is "-" then lines are read from standard inpu files. If disk_path is "-" then lines are read from standard
t. Line "@" ends the list, input. Line "@" ends the list,
"@@@" aborts without changing the pending iso_rr_path. "@@@" aborts without changing the pending iso_rr_path.
Since -getfacl and getfacl -R strip leading "/" from file paths, the setting of -cd does always Since -getfacl and getfacl -R strip leading "/" from file paths, t he setting of -cd does always
matter. matter.
-setfattr [-]name value iso_rr_path [***] -setfattr [-]name value iso_rr_path [***]
Attach the given xattr pair of name and value to the given iso_rr_ Attach the given xattr pair of name and value to the given iso_r
paths. If the given name is r_paths. If the given name is
prefixed by "-", then the pair with that name gets removed f prefixed by "-", then the pair with that name gets removed from t
rom the xattr list. If name is he xattr list. If name is
"--remove-all" then all user namespace xattr of the given iso_rr_p "--remove-all" then all user namespace xattr of the given iso_rr
aths get deleted. In case of _paths get deleted. In case of
deletion, value must be an empty text. deletion, value must be an empty text.
Only names from the user namespace are allowed. I.e. a name h as to begin with "user.", like Only names from the user namespace are allowed. I.e. a name has t o begin with "user.", like
"user.x" or "user.whatever". "user.x" or "user.whatever".
Values and names undergo the normal input processing of x Values and names undergo the normal input processing of
orriso. See also command xorriso. See also command
-backslash_codes. Other than with command -setfattr_list, the by -backslash_codes. Other than with command -setfattr_list, the byte
te value 0 cannot be expressed value 0 cannot be expressed
via -setfattr. via -setfattr.
-setfattr_r [-]name value iso_rr_path [***] -setfattr_r [-]name value iso_rr_path [***]
Like -setfattr but affecting all files below eventual directories. Like -setfattr but affecting all files below eventual directories.
-setfattr_list disk_path -setfattr_list disk_path
Read the output of -getfattr_r or shell command getfattr -Rd and a pply it to the iso_rr_paths as Read the output of -getfattr_r or shell command getfattr -Rd and a pply it to the iso_rr_paths as
given in lines beginning with "# file:". All previously existing user space xattr of the given given in lines beginning with "# file:". All previously existing u ser space xattr of the given
iso_rr_paths will be deleted. If disk_path is "-" then lines are read from standard input. iso_rr_paths will be deleted. If disk_path is "-" then lines are read from standard input.
Since -getfattr and getfattr -Rd strip leading "/" from file paths , the setting of -cd does Since -getfattr and getfattr -Rd strip leading "/" from file paths, the setting of -cd does
always matter. always matter.
Empty input lines and lines which begin by "#" will be ignored (ex cept "# file:"). Line "@" ends Empty input lines and lines which begin by "#" will be ignored (ex cept "# file:"). Line "@" ends
the list, "@@@" aborts without changing the pending iso_rr_path. O ther input lines must have the the list, "@@@" aborts without changing the pending iso_rr_path. O ther input lines must have the
form form
name="value" name="value"
Name must be from user namespace. I.e. user.xyz where xyz should c onsist of printable characters Name must be from user namespace. I.e. user.xyz where xyz should c onsist of printable characters
only. The separator "=" is not allowed in names. Value may contai only. The separator "=" is not allowed in names. Value may cont
n any kind of bytes. It must ain any kind of bytes. It must
be in quotes. Trailing whitespace after the end quote will be ign be in quotes. Trailing whitespace after the end quote will be igno
ored. Non-printables bytes and red. Non-printables bytes and
quotes must be represented as \XYZ by their octal 8-bit code XYZ. Use code \000 for 0-bytes. quotes must be represented as \XYZ by their octal 8-bit code XYZ. Use code \000 for 0-bytes.
-alter_date type timestring iso_rr_path [***] -alter_date type timestring iso_rr_path [***]
Alter the date entries of files in the ISO image. type may be one of the following: Alter the date entries of files in the ISO image. type may be one of the following:
"a" sets access time, updates ctime. "a" sets access time, updates ctime.
"m" sets modification time, updates ctime. "m" sets modification time, updates ctime.
"b" sets access time and modification time, updates ctime. "b" sets access time and modification time, updates ctime.
"a-c", "m-c", and "b-c" set the times without updating ctime. "a-c", "m-c", and "b-c" set the times without updating ctime.
"c" sets the ctime. "c" sets the ctime.
timestring may be in the following formats (see also section EXAMP LES): timestring may be in the following formats (see also section EXAMP LES):
As expected by program date: As expected by program date:
MMDDhhmm[[CC]YY][.ss]] MMDDhhmm[[CC]YY][.ss]]
As produced by program date: As produced by program date:
[Day] MMM DD hh:mm:ss [TZON] YYYY [Day] MMM DD hh:mm:ss [TZON] YYYY
Relative times counted from current clock time: Relative times counted from current clock time:
+|-Number["s"|"h"|"d"|"w"|"m"|"y"] +|-Number["s"|"h"|"d"|"w"|"m"|"y"]
where "s" means seconds, "h" hours, "d" days, "w" weeks, "m"=30d, "y"=365.25d plus 1d added to where "s" means seconds, "h" hours, "d" days, "w" weeks, "m"=30d , "y"=365.25d plus 1d added to
multiplication result. multiplication result.
Absolute seconds counted from Jan 1 1970: Absolute seconds counted from Jan 1 1970:
=Number =Number
xorriso's own timestamps: xorriso's own timestamps:
YYYY.MM.DD[.hh[mm[ss]]] YYYY.MM.DD[.hh[mm[ss]]]
scdbackup timestamps: scdbackup timestamps:
YYMMDD[.hhmm[ss]] YYMMDD[.hhmm[ss]]
where "A0" is year 2000, "B0" is 2010, etc. where "A0" is year 2000, "B0" is 2010, etc.
ECMA-119 volume timestamps: ECMA-119 volume timestamps:
YYYYMMDDhhmmsscc YYYYMMDDhhmmsscc
These are normally given as GMT. The suffix "LOC" causes l These are normally given as GMT. The suffix "LOC" causes loca
ocal timezone conversion. E.g. l timezone conversion. E.g.
2013010720574700, 2013010720574700LOC. The last two digits cc (ce 2013010720574700, 2013010720574700LOC. The last two digits cc (
ntiseconds) will be ignored, centiseconds) will be ignored,
but must be present in order to make the format recognizable. but must be present in order to make the format recognizable.
Example: Example:
-alter_date m-c 2013.11.27.103951 /file1 /file2 -- -alter_date m-c 2013.11.27.103951 /file1 /file2 --
This command does not persistently apply to the boot catalog, which gets fresh timestamps at This command does not persistently apply to the boot catalog, whic h gets fresh timestamps at
-commit time. Command -volume_date "uuid" can set this time value. -commit time. Command -volume_date "uuid" can set this time value.
-alter_date_r type timestring iso_rr_path [***] -alter_date_r type timestring iso_rr_path [***]
Like -alter_date but affecting all files below eventual directorie s. Like -alter_date but affecting all files below eventual directorie s.
-hide hide_state iso_rr_path [***] -hide hide_state iso_rr_path [***]
Prevent the names of the given files from showing up in the direct Prevent the names of the given files from showing up in the dire
ory trees of ISO 9660 and/or ctory trees of ISO 9660 and/or
Joliet and/or HFS+ when the image gets written. The data conten Joliet and/or HFS+ when the image gets written. The data content
t of such hidden files will be of such hidden files will be
included in the resulting image, even if they do not show up in an included in the resulting image, even if they do not show up i
y directory. But you will n any directory. But you will
need own means to find nameless data in the image. need own means to find nameless data in the image.
Warning: Data which are hidden from the ISO 9660 tree will not be copied by the write method of Warning: Data which are hidden from the ISO 9660 tree will not be copied by the write method of
modifying. modifying.
Possible values of hide_state are: "iso_rr" for hiding from ISO 96 60 tree, "joliet" for Joliet Possible values of hide_state are: "iso_rr" for hiding from ISO 9660 tree, "joliet" for Joliet
tree, "hfsplus" for HFS+, "on" for them all. "off" means visibili ty in all directory trees. tree, "hfsplus" for HFS+, "on" for them all. "off" means visibili ty in all directory trees.
These values may be combined. E.g.: joliet:hfsplus These values may be combined. E.g.: joliet:hfsplus
This command does not apply to the boot catalog. Rather use: -boo t_image "any" "cat_hidden=on" This command does not apply to the boot catalog. Rather use: -boo t_image "any" "cat_hidden=on"
Tree traversal command -find: Tree traversal command -find:
-find iso_rr_path [test [op] [test ...]] [-exec action [params]] -- -find iso_rr_path [test [op] [test ...]] [-exec action [params]] --
A restricted substitute for shell command find in the ISO im age. It performs an action on A restricted substitute for shell command find in the ISO image. It performs an action on
matching file objects at or below iso_rr_path. matching file objects at or below iso_rr_path.
If not used as last command in the line then the parameter list ne eds to get terminated by "--". If not used as last command in the line then the parameter list ne eds to get terminated by "--".
Tests are optional. If they are omitted then action is applied to all file objects. If tests are Tests are optional. If they are omitted then action is applied to all file objects. If tests are
given then they form together an expression. The action is given then they form together an expression. The action is appl
applied only if the expression ied only if the expression
matches the file object. Default expression operator between tests matches the file object. Default expression operator between test
is -and, i.e. the expression s is -and, i.e. the expression
matches only if all its tests match. matches only if all its tests match.
Available tests are: Available tests are:
-name pattern : Matches if pattern matches the file leaf name. I -name pattern : Matches if pattern matches the file leaf name. If
f the pattern does not contain the pattern does not contain
any of the characters "*?[", then it will be truncated according t any of the characters "*?[", then it will be truncated accordin
o -file_name_limit and thus g to -file_name_limit and thus
match the truncated name in the ISO filesystem. match the truncated name in the ISO filesystem.
-wholename pattern : Matches if pattern matches the file path as -wholename pattern : Matches if pattern matches the file path as i
it would be printed by action t would be printed by action
"echo". Character '/' can be matched by wildcards. If pattern piec "echo". Character '/' can be matched by wildcards. If pattern pie
es between '/' do not contain ces between '/' do not contain
any of the characters "*?[", they will be truncated according to - file_name_limit. any of the characters "*?[", they will be truncated according to - file_name_limit.
-disk_name pattern : Like -name but testing the leaf name of the f ile source on disk. Can match -disk_name pattern : Like -name but testing the leaf name of the f ile source on disk. Can match
only data files which do not stem from the loaded image, or for only data files which do not stem from the loaded image, or f
directories above such data or directories above such data
files. With directories the result can change between -find ru files. With directories the result can change between -find runs i
ns if their content stems from f their content stems from
multiple sources. multiple sources.
-disk_path disk_path : Matches if the given disk_path is equal to the path of the file source on -disk_path disk_path : Matches if the given disk_path is equal to the path of the file source on
disk. The same restrictions apply as with -disk_name. disk. The same restrictions apply as with -disk_name.
-type type_letter : Matches files of the given type: "block", "char", "dir", "pipe", "file", -type type_letter : Matches files of the given type: "block", "ch ar", "dir", "pipe", "file",
"link", "socket", "eltorito", and "Xotic" which matches what is no t matched by the other types. "link", "socket", "eltorito", and "Xotic" which matches what is no t matched by the other types.
Only the first letter is interpreted. E.g.: -find / -type d Only the first letter is interpreted. E.g.: -find / -type d
-damaged : Matches files which use data blocks marked as dam -maxdepth number : Matches only files which are at most at the giv
aged by a previous run of en depth level relative to the
iso_rr_path where -find starts. That path itself is at depth 0, it
s directory children are at 1,
their directory children at 2, and so on.
-mindepth number : Matches only files which are at least at the gi
ven depth level.
-damaged : Matches files which use data blocks marked as
damaged by a previous run of
-check_media. The damage info vanishes when a new ISO image gets l oaded. -check_media. The damage info vanishes when a new ISO image gets l oaded.
Note that a MD5 session mismatch marks all files of the session as damaged. If finer Note that a MD5 session mismatch marks all files of the ses sion as damaged. If finer
distinction is desired, perform -md5 off before -check_media. distinction is desired, perform -md5 off before -check_media.
-pending_data : Matches files which get their content from outside the loaded ISO image. -pending_data : Matches files which get their content from outside the loaded ISO image.
-lba_range start_lba block_count : Matches files which use data blocks within the range of -lba_range start_lba block_count : Matches files which use d ata blocks within the range of
start_lba and start_lba+block_count-1. start_lba and start_lba+block_count-1.
-has_acl : Matches files which have a non-trivial ACL. -has_acl : Matches files which have a non-trivial ACL.
-has_xattr : Matches files which have xattr name-value pairs from user namespace. -has_xattr : Matches files which have xattr name-value pairs from user namespace.
-has_aaip : Matches files which have ACL or any xattr. -has_aaip : Matches files which have ACL or any xattr.
-has_any_xattr : Matches files which have any xattr other than ACL . -has_any_xattr : Matches files which have any xattr other than ACL .
-has_md5 : Matches data files which have MD5 checksums. -has_md5 : Matches data files which have MD5 checksums.
-has_hfs_crtp creator type : Matches files which have the given H -has_hfs_crtp creator type : Matches files which have the given HF
FS+ creator and type attached. S+ creator and type attached.
These are codes of 4 characters which get stored if -hfsplus is en These are codes of 4 characters which get stored if -hfsplus is
abled. Use a single dash '-' enabled. Use a single dash '-'
as wildcard that matches any such code. E.g:. as wildcard that matches any such code. E.g:.
-has_hfs_crtp YYDN TEXT -has_hfs_crtp YYDN TEXT
-has_hfs_crtp - - -has_hfs_crtp - -
-has_hfs_bless blessing : Matches files which bear the given HFS -has_hfs_bless blessing : Matches files which bear the given HFS+
+ blessing. It may be one of : blessing. It may be one of :
"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "o "ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder",
sx_folder", "any". See also "osx_folder", "any". See also
action set_hfs_bless. action set_hfs_bless.
-has_filter : Matches files which are filtered by -set_filter. -has_filter : Matches files which are filtered by -set_filter.
-hidden hide_state : Matches files which are hidden in "iso_ rr" tree, in "joliet" tree, in -hidden hide_state : Matches files which are hidden in "iso_rr" tree, in "joliet" tree, in
"hfsplus" tree, in all trees ("on"), or not hidden in any tree ("o ff"). "hfsplus" tree, in all trees ("on"), or not hidden in any tree ("o ff").
Those which are hidden in some tree match -not -hidden "off". Those which are hidden in some tree match -not -hidden "off".
-bad_outname namespace : Matches files with names which change whe -bad_outname namespace : Matches files with names which change
n converted forth and back when converted forth and back
between the local character set and one of the namespaces "ro between the local character set and one of the namespaces "rock
ckridge", "joliet", "ecma119", ridge", "joliet", "ecma119",
"hfsplus". "hfsplus".
All applicable -compliance rules are taken into respect. Rule "om it_version" is always enabled, All applicable -compliance rules are taken into respect. Rule "om it_version" is always enabled,
because else namespaces "joliet" and "ecma119" would cause ch anges with every non-directory because else namespaces "joliet" and "ecma119" would cause chang es with every non-directory
name. Consider to also enable rules "no_force_dots" and "no_j_for ce_dots". name. Consider to also enable rules "no_force_dots" and "no_j_for ce_dots".
The namespaces use different character sets and apply further r The namespaces use different character sets and apply furthe
estrictions to name length, r restrictions to name length,
permissible characters, and mandatory name components. "roc permissible characters, and mandatory name components. "rockrid
kridge" uses the character set ge" uses the character set
defined by -out_charset, "joliet" uses UCS-2BE, "ecma119" uses ASC II, "hfsplus" uses UTF-16BE. defined by -out_charset, "joliet" uses UCS-2BE, "ecma119" uses ASC II, "hfsplus" uses UTF-16BE.
-name_limit_blocker length : Matches file names which would prev ent command -file_name_limit -name_limit_blocker length : Matches file names which would pr event command -file_name_limit
with the given length. The command itself reports only the first p roblem file. with the given length. The command itself reports only the first p roblem file.
-prune : If this test is reached and the tested file is a dire ctory then -find will not dive -prune : If this test is reached and the tested file is a director y then -find will not dive
into that directory. This test itself does always match. into that directory. This test itself does always match.
-use_pattern "on"|"off" : This pseudo test controls the interpreta tion of wildcards with tests -use_pattern "on"|"off" : This pseudo test controls the interpre tation of wildcards with tests
-name, -wholename, and -disk_name. Default is "on". If interpretat ion is disabled by "off", then -name, -wholename, and -disk_name. Default is "on". If interpretat ion is disabled by "off", then
the parameters of -name, -wholename, and -disk_name have to matc h literally rather than as the parameters of -name, -wholename, and -disk_name have to match literally rather than as
search pattern. This test itself does always match. search pattern. This test itself does always match.
-or_use_pattern "on"|"off" : Like -use_pattern, but automatic -or_use_pattern "on"|"off" : Like -use_pattern, but automatically
ally appending the test by -or appending the test by -or
rather than by -and. Further the test itself does never match. So rather than by -and. Further the test itself does never match.
a subsequent test -or will So a subsequent test -or will
cause its other operand to be performed. cause its other operand to be performed.
-decision "yes"|"no" : If this test is reached then the evaluati on ends immediately and action -decision "yes"|"no" : If this test is reached then the evaluation ends immediately and action
is performed if the decision is "yes" or "true". See operator -if. is performed if the decision is "yes" or "true". See operator -if.
-true and -false : Always match or match not, respectively. Evalua tion goes on. -true and -false : Always match or match not, respectively. Evalua tion goes on.
-sort_lba : Always match. This causes -find to perform its action -sort_lba : Always match. This causes -find to perform its acti
in a sequence sorted by the on in a sequence sorted by the
ISO image block addresses of the files. It may improve throughpu ISO image block addresses of the files. It may improve throughput
t with actions which read data with actions which read data
from optical drives. Action will always get the absolute path as p arameter. from optical drives. Action will always get the absolute path as p arameter.
Available operators are: Available operators are:
-not : Matches if the next test or sub expression does not mat ch. Several tests do this -not : Matches if the next test or sub expression does not match. Several tests do this
specifically: specifically:
-undamaged, -lba_range with negative start_lba, -has_no_acl, -has_no_xattr, -has_no_aaip, -undamaged, -lba_range with negative start_lba, -has_no_acl, -has_no_xattr, -has_no_aaip,
-has_no_filter . -has_no_filter .
-and : Matches if both neighboring tests or expressions match. -and : Matches if both neighboring tests or expressions match.
-or : Matches if at least one of both neighboring tests or express ions matches. -or : Matches if at least one of both neighboring tests or express ions matches.
-sub ... -subend or ( ... ) : Enclose a sub expression which gets evaluated first before it is -sub ... -subend or ( ... ) : Enclose a sub expression which get s evaluated first before it is
processed by neighboring operators. Normal precedence is: -not, - or , -and. processed by neighboring operators. Normal precedence is: -not, - or , -and.
-if ... -then ... -elseif ... -then ... -else ... -endif : Enclos e one or more sub expressions. -if ... -then ... -elseif ... -then ... -else ... -endif : Enclos e one or more sub expressions.
If the -if expression matches, then the -then expression is evalua ted as the result of the whole If the -if expression matches, then the -then expression is evalua ted as the result of the whole
expression up to -endif. Else the next -elseif expression is ev expression up to -endif. Else the next -elseif expression is evalu
aluated and if it matches, its ated and if it matches, its
-then expression. Finally in case of no match, the -else expressio -then expression. Finally in case of no match, the -else expressi
n is evaluated. There may be on is evaluated. There may be
more than one -elseif. Neither -else nor -elseif are mandatory. more than one -elseif. Neither -else nor -elseif are mandatory. I
If -else is missing and would f -else is missing and would
be hit, then the result is a non-match. be hit, then the result is a non-match.
-if-expressions are the main use case for above test -decision. -if-expressions are the main use case for above test -decision.
Default action is echo, i.e. to print the address of the found fil Default action is echo, i.e. to print the address of the found f
e. Other actions are certain ile. Other actions are certain
xorriso commands which get performed on the found files. Th xorriso commands which get performed on the found files. These
ese commands may have specific commands may have specific
parameters. See also their particular descriptions. parameters. See also their particular descriptions.
chown and chown_r change the ownership and get the user id as p arameter. E.g.: -exec chown chown and chown_r change the ownership and get the user id a s parameter. E.g.: -exec chown
thomas -- thomas --
chgrp and chgrp_r change the group attribute and get the grou p id as parameter. E.g.: -exec chgrp and chgrp_r change the group attribute and get the group id as parameter. E.g.: -exec
chgrp_r staff -- chgrp_r staff --
chmod and chmod_r change access permissions and get a mode string as parameter. E.g.: -exec chmod and chmod_r change access permissions and get a mode str ing as parameter. E.g.: -exec
chmod a-w,a+r -- chmod a-w,a+r --
alter_date and alter_date_r change the timestamps. They get a type character and a timestring as alter_date and alter_date_r change the timestamps. They get a type character and a timestring as
parameters. parameters.
E.g.: -exec alter_date "m" "Dec 30 19:34:12 2007" -- E.g.: -exec alter_date "m" "Dec 30 19:34:12 2007" --
set_to_mtime sets the ctime and atime to the value found in mtime. set_to_mtime sets the ctime and atime to the value found in mtime.
lsdl prints file information like shell command ls -dl. lsdl prints file information like shell command ls -dl.
compare performs command -compare with the found file addr ess as iso_rr_path and the compare performs command -compare with the found file addr ess as iso_rr_path and the
corresponding file address below its parameter disk_path_start. F or this the iso_rr_path of the corresponding file address below its parameter disk_path_start. Fo r this the iso_rr_path of the
-find command gets replaced by the disk_path_start. -find command gets replaced by the disk_path_start.
E.g.: -find /thomas -exec compare /home/thomas -- E.g.: -find /thomas -exec compare /home/thomas --
update performs command -update with the found file address as is o_rr_path. The corresponding update performs command -update with the found file address as iso_rr_path. The corresponding
file address is determined like with above action "compare". file address is determined like with above action "compare".
update_merge is like update but does not delete the found file if it is missing on disk. It may update_merge is like update but does not delete the found file if it is missing on disk. It may
be run several times and records with all visited files whether th be run several times and records with all visited files whether
eir counterpart on disk has their counterpart on disk has
already been seen by one of the update_merge runs. Finally, a -f already been seen by one of the update_merge runs. Finally, a -fi
ind run with action "rm_merge" nd run with action "rm_merge"
may remove all files that saw no counterpart on disk. may remove all files that saw no counterpart on disk.
Up to the next "rm_merge" or "clear_merge" all newly inserted file s will get marked as having a Up to the next "rm_merge" or "clear_merge" all newly inserted fil es will get marked as having a
disk counterpart. disk counterpart.
rm removes the found iso_rr_path from the image if it is not a di rectory with files in it. I.e. rm removes the found iso_rr_path from the image if it is not a dir ectory with files in it. I.e.
this "rm" includes "rmdir". this "rm" includes "rmdir".
rm_r removes the found iso_rr_path from the image, including whole directory trees. rm_r removes the found iso_rr_path from the image, including whole directory trees.
rm_merge removes the found iso_rr_path if it was visited by on rm_merge removes the found iso_rr_path if it was visited b
e or more previous actions y one or more previous actions
"update_merge" and saw no counterpart on disk in any of the "update_merge" and saw no counterpart on disk in any of them. T
m. The marking from the update he marking from the update
actions is removed in any case. actions is removed in any case.
clear_merge removes an eventual marking from action "update_merge" . clear_merge removes an eventual marking from action "update_merge" .
report_damage classifies files whether they hit a data block that report_damage classifies files whether they hit a data block
is marked as damaged. The that is marked as damaged. The
result is printed together with the address of the first dam result is printed together with the address of the first damaged
aged byte, the maximum span of byte, the maximum span of
damages, file size, and the path of the file. damages, file size, and the path of the file.
report_lba prints files which are associated to image data blocks. report_lba prints files which are associated to image data block
It tells the logical block s. It tells the logical block
address, the block number, the byte size, and the path of each fi address, the block number, the byte size, and the path of each fil
le. There may be reported more e. There may be reported more
than one line per file if the file has more than one section. In than one line per file if the file has more than one section.
this case each line has a In this case each line has a
different extent number in column "xt". different extent number in column "xt".
report_sections like report_lba but telling the byte sizes of the particular sections rather report_sections like report_lba but telling the byte sizes of the particular sections rather
than the overall byte size of the file. than the overall byte size of the file.
getfacl prints access permissions in ACL text form to the result c hannel. getfacl prints access permissions in ACL text form to the result c hannel.
setfacl attaches ACLs after removing existing ones. The new ACL is given in text form as defined setfacl attaches ACLs after removing existing ones. The new ACL is given in text form as defined
with command -setfacl. with command -setfacl.
E.g.: -exec setfacl u:lisa:rw,u::rw,g::r,o::-,m::rw -- E.g.: -exec setfacl u:lisa:rw,u::rw,g::r,o::-,m::rw --
getfattr prints xattr name-value pairs from user namespace to the result channel. getfattr prints xattr name-value pairs from user namespace to the result channel.
get_any_xattr prints xattr name-value pairs from any namespace exc ept ACL to the result channel. get_any_xattr prints xattr name-value pairs from any namespace exc ept ACL to the result channel.
This is mostly for debugging of namespace "isofs". This is mostly for debugging of namespace "isofs".
list_extattr mode prints a script to the result channel, which list_extattr mode prints a script to the result channel, w
would use FreeBSD command hich would use FreeBSD command
setextattr to set the file's xattr name-value pairs of user names setextattr to set the file's xattr name-value pairs of user namesp
pace. Parameter mode controls ace. Parameter mode controls
the form of the output of names and values. Default mode "e" pr the form of the output of names and values. Default mode "e"
ints harmless characters in prints harmless characters in
shell quotation marks, but represents texts with octal 001 shell quotation marks, but represents texts with octal 001 to 03
to 037 and 0177 to 0377 by an 7 and 0177 to 0377 by an
embedded echo -e command. Mode "q" prints any characters in shell embedded echo -e command. Mode "q" prints any characters in she
quotation marks. This might ll quotation marks. This might
not be terminal-safe but should work in script files. Mode "r not be terminal-safe but should work in script files. Mode "r" us
" uses no quotation marks. Not es no quotation marks. Not
safe. Mode "b" prints backslash encoding. Not suitable for shell parsing. safe. Mode "b" prints backslash encoding. Not suitable for shell parsing.
E.g. -exec list_extattr e -- E.g. -exec list_extattr e --
Command -backslash_codes does not affect the output. Command -backslash_codes does not affect the output.
get_md5 prints the MD5 sum, if recorded, together with file path. get_md5 prints the MD5 sum, if recorded, together with file path.
check_md5 compares the MD5 sum, if recorded, with the file content and reports if mismatch. check_md5 compares the MD5 sum, if recorded, with the file content and reports if mismatch.
E.g.: -find / -not -pending_data -exec check_md5 FAILURE -- E.g.: -find / -not -pending_data -exec check_md5 FAILURE --
make_md5 equips a data file with an MD5 sum of its content. Useful to upgrade the files in the make_md5 equips a data file with an MD5 sum of its content. Usef ul to upgrade the files in the
loaded image to full MD5 coverage by the next commit with -md5 "on ". loaded image to full MD5 coverage by the next commit with -md5 "on ".
E.g.: -find / -type f -not -has_md5 -exec make_md5 -- E.g.: -find / -type f -not -has_md5 -exec make_md5 --
setfattr sets or deletes xattr name value pairs. setfattr sets or deletes xattr name value pairs.
E.g.: -find / -has_xattr -exec setfattr --remove-all '' -- E.g.: -find / -has_xattr -exec setfattr --remove-all '' --
set_hfs_crtp adds, changes, or removes HFS+ creator and type attri butes. set_hfs_crtp adds, changes, or removes HFS+ creator and type attri butes.
E.g.: -exec set_hfs_crtp YYDN TEXT E.g.: -exec set_hfs_crtp YYDN TEXT
E.g.: -find /my/dir -prune -exec set_hfs_crtp --delete - E.g.: -find /my/dir -prune -exec set_hfs_crtp --delete -
get_hfs_crtp prints the HFS+ creator and type attributes togethe r with the iso_rr_path, if the get_hfs_crtp prints the HFS+ creator and type attributes together with the iso_rr_path, if the
file has such attributes at all. file has such attributes at all.
E.g.: -exec get_hfs_crtp E.g.: -exec get_hfs_crtp
set_hfs_bless applies or removes HFS+ blessings. They are roles wh ich can be attributed to up to set_hfs_bless applies or removes HFS+ blessings. They are roles wh ich can be attributed to up to
four directories and a data file: four directories and a data file:
"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx _folder". "ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx _folder".
They may be abbreviated as "p", "i", "s", "9", and "x". They may be abbreviated as "p", "i", "s", "9", and "x".
Each such role can be attributed to at most one file object. "i Each such role can be attributed to at most one file object. "inte
ntel_bootfile" is the one that l_bootfile" is the one that
would apply to a data file. All others apply to directories. The would apply to a data file. All others apply to directories. The
-find run will end as soon as -find run will end as soon as
the first blessing is issued. The previous bearer of the blessi the first blessing is issued. The previous bearer of the blessing
ng will lose it then. No file will lose it then. No file
object can bear more than one blessing. object can bear more than one blessing.
E.g.: -find /my/blessed/directory -exec set_hfs_bless p E.g.: -find /my/blessed/directory -exec set_hfs_bless p
Further there is blessing "none" or "n" which revokes any blessing from the found files. This Further there is blessing "none" or "n" which revokes any bless ing from the found files. This
-find run will not stop when the first match is reached. -find run will not stop when the first match is reached.
E.g.: -find / -has_hfs_bless any -exec set_hfs_bless none E.g.: -find / -has_hfs_bless any -exec set_hfs_bless none
get_hfs_bless prints the HFS+ blessing role and the iso_rr_path, i f the file is blessed at all. get_hfs_bless prints the HFS+ blessing role and the iso_rr_path, i f the file is blessed at all.
E.g.: -exec get_hfs_bless E.g.: -exec get_hfs_bless
set_filter applies or removes filters. set_filter applies or removes filters.
E.g.: -exec set_filter --zisofs -- E.g.: -exec set_filter --zisofs --
mkisofs_r applies the rules of mkisofs -r to the file object: mkisofs_r applies the rules of mkisofs -r to the file object:
user id and group id become 0, all r-permissions get granted, all w denied. If there is any user id and group id become 0, all r-permissions get granted, all w denied. If there is any
x-permission, then all three x get granted. s- and t-bits get rem oved. x-permission, then all three x get granted. s- and t-bits get rem oved.
sort_weight attributes a LBA weight number to regular files. sort_weight attributes a LBA weight number to regular files.
The number may range from -2147483648 to 2147483647. The higher it The number may range from -2147483648 to 2147483647. The highe
is, the lower will be the r it is, the lower will be the
block address of the file data in the emerging ISO image. Cu block address of the file data in the emerging ISO image. Current
rrently the boot catalog has a ly the boot catalog has a
hardcoded weight of 1 billion. Normally it should occupy the bloc hardcoded weight of 1 billion. Normally it should occupy the
k with the lowest possible block with the lowest possible
address. address.
Data files which are loaded by -indev or -dev get a weight between 1 and 2 exp 28 = 268,435,456, Data files which are loaded by -indev or -dev get a weight between 1 and 2 exp 28 = 268,435,456,
depending on their block address. This shall keep them roughly in the same order if the write depending on their block address. This shall keep them roughly in the same order if the write
method of modifying is applied. method of modifying is applied.
Data files which are added by other commands get an initial weigh t of 0. Boot image files have Data files which are added by other commands get an initial weight of 0. Boot image files have
a default weight of 2. a default weight of 2.
E.g.: -exec sort_weight 3 -- E.g.: -exec sort_weight 3 --
show_stream shows the content stream chain of a data file. show_stream shows the content stream chain of a data file.
show_stream_id is like show_stream, but also prints between stream type and first ":" in square show_stream_id is like show_stream, but also prints between strea m type and first ":" in square
brackets libisofs id numbers: [fs_id,dev_id,ino_id]. brackets libisofs id numbers: [fs_id,dev_id,ino_id].
hide brings the file into one of the hide states "on", "iso_rr ", "joliet", "hfsplus", "off". hide brings the file into one of the hide states "on", "iso_rr", "joliet", "hfsplus", "off".
They may be combined. E.g.: joliet:hfsplus They may be combined. E.g.: joliet:hfsplus
E.g.: E.g.:
-find / -disk_name *_secret -exec hide on -find / -disk_name *_secret -exec hide on
print_outname prints in the first line the filename as registered by the program model, and in print_outname prints in the first line the filename as registere d by the program model, and in
the second line the filename after conversion forth and back betwe en local character set and one the second line the filename after conversion forth and back betwe en local character set and one
of the namespaces "rockridge", "joliet", "ecma119", or "hfsplus". The third output line is "--" of the namespaces "rockridge", "joliet", "ecma119", or "hfsplus". The third output line is "--"
. .
The name conversion does not take into respect the possibility of name collisions in the target The name conversion does not take into respect the possibility of name collisions in the target
namespace. Such collisions are most likely in "joliet" and "ecma11 9", where they get resolved by namespace. Such collisions are most likely in "joliet" and "ecma11 9", where they get resolved by
automatic file name changes. automatic file name changes.
E.g.: E.g.:
-find / -bad_outname joliet -exec print_outname joliet -find / -bad_outname joliet -exec print_outname joliet
estimate_size prints a lower and an upper estimation of the nu mber of blocks which the found estimate_size prints a lower and an upper estimation of the number of blocks which the found
files together will occupy in the emerging ISO image. This does n ot account for the superblock, files together will occupy in the emerging ISO image. This does n ot account for the superblock,
for the directories in the -find path, or for image padding. for the directories in the -find path, or for image padding.
find performs another run of -find on the matching file address. It accepts the same params as find performs another run of -find on the matching file address. It accepts the same params as
-find, except iso_rr_path. -find, except iso_rr_path.
E.g.: E.g.:
-find / -name '???' -type d -exec find -name '[abc]*' -exec chmo d a-w,a+r -- -find / -name '???' -type d -exec find -name '[abc]*' -exec chmo d a-w,a+r --
Filters for data file content: Filters for data file content:
Filters may be installed between data files in the ISO image and their content source outside the Filters may be installed between data files in the ISO image and th eir content source outside the
image. They may also be used vice versa between data content in the image and target files on disk. image. They may also be used vice versa between data content in the image and target files on disk.
Built-in filters are "--zisofs" and "--zisofs-decode". The former is to b e applied via -set_filter, the Built-in filters are "--zisofs" and "--zisofs-decode". The former is to b e applied via -set_filter, the
latter is automatically applied if zisofs compressed content is detected with a file when loading the latter is automatically applied if zisofs compressed content is detecte d with a file when loading the
ISO image. ISO image.
Another built-in filter pair is "--gzip" and "--gunzip" with suffix Another built-in filter pair is "--gzip" and "--gunzip" with suffix ".gz
".gz". They behave about like ". They behave about like
external gzip and gunzip but avoid forking a process for each single file external gzip and gunzip but avoid forking a process for each single fi
. So they are much faster if le. So they are much faster if
there are many small files. there are many small files.
-external_filter name option[:option] program_path [arguments] -- -external_filter name option[:option] program_path [arguments] --
Register a content filter by associating a name with a program pat h, program arguments, and some Register a content filter by associating a name with a program pat h, program arguments, and some
behavioral options. Once registered it can be applied to multiple behavioral options. Once registered it can be applied to multipl
data files in the ISO image, e data files in the ISO image,
regardless whether their content resides in the loaded ISO ima regardless whether their content resides in the loaded ISO image o
ge or in the local filesystem. r in the local filesystem.
External filter processes may produce synthetic file content by r External filter processes may produce synthetic file content b
eading the original content y reading the original content
from stdin and writing to stdout whatever they want. They must from stdin and writing to stdout whatever they want. They must de
deliver the same output on the liver the same output on the
same input in repeated runs. same input in repeated runs.
Options are: Options are:
"default" means that no other option is intended. "default" means that no other option is intended.
"suffix=..." sets a file name suffix. If it is not empty then it will be appended to the file "suffix=..." sets a file name suffix. If it is not empty then i t will be appended to the file
name or removed from it. name or removed from it.
"remove_suffix" will remove a file name suffix rather than append ing it. "remove_suffix" will remove a file name suffix rather than append ing it.
"if_nonempty" will leave 0-sized files unfiltered. "if_nonempty" will leave 0-sized files unfiltered.
"if_reduction" will try filtering and revoke it if the content si ze does not shrink. "if_reduction" will try filtering and revoke it if the content si ze does not shrink.
"if_block_reduction" will revoke if the number of 2 kB blocks doe s not shrink. "if_block_reduction" will revoke if the number of 2 kB blocks doe s not shrink.
"used=..." is ignored. Command -status shows it with the number of files which currently have "used=..." is ignored. Command -status shows it with the number o f files which currently have
the filter applied. the filter applied.
Examples: Examples:
-external_filter bzip2 suffix=.bz2:if_block_reduction \ -external_filter bzip2 suffix=.bz2:if_block_reduction \
/usr/bin/bzip2 -- /usr/bin/bzip2 --
-external_filter bunzip2 suffix=.bz2:remove_suffix \ -external_filter bunzip2 suffix=.bz2:remove_suffix \
/usr/bin/bunzip2 -- /usr/bin/bunzip2 --
-unregister_filter name -unregister_filter name
Remove an -external_filter registration. This is only possible if the filter is not applied to Remove an -external_filter registration. This is only possible i f the filter is not applied to
any file in the ISO image. any file in the ISO image.
-close_filter_list -close_filter_list
Irrevocably ban commands -concat "pipe", -external_filter, a Irrevocably ban commands -concat "pipe", -external_filter, and
nd -unregister_filter, but not -unregister_filter, but not
-set_filter. Use this to prevent external filtering in general or -set_filter. Use this to prevent external filtering in general or
when all intended filters are when all intended filters are
registered and -concat mode "pipe" shall be disallowed. Exter registered and -concat mode "pipe" shall be disallowed. External
nal filters may also be banned filters may also be banned
totally at compile time of xorriso. By default they are banned if totally at compile time of xorriso. By default they are banne
xorriso runs under setuid d if xorriso runs under setuid
permission. permission.
-set_filter name iso_rr_path [***] -set_filter name iso_rr_path [***]
Apply an -external_filter or a built-in filter to the given data f iles in the ISO image. If the Apply an -external_filter or a built-in filter to the given data f iles in the ISO image. If the
filter suffix is not empty , then it will be applied to the file n ame. Renaming only happens if filter suffix is not empty , then it will be applied to the file n ame. Renaming only happens if
the filter really gets attached and is not revoked by its op the filter really gets attached and is not revoked by its option
tions. By default files which s. By default files which
already bear the suffix will not get filtered. The others will get already bear the suffix will not get filtered. The others will ge
the suffix appended to their t the suffix appended to their
names. If the filter has option "remove_suffix", then the filt names. If the filter has option "remove_suffix", then the filter
er will only be applied if the will only be applied if the
suffix is present and can be removed. Name oversize or collision suffix is present and can be removed. Name oversize or collisio
caused by suffix change will n caused by suffix change will
prevent filtering. prevent filtering.
With most filter types this command will immediately run the filt With most filter types this command will immediately run the filte
er once for each file in order r once for each file in order
to determine the output size. Content reading operations like -ex to determine the output size. Content reading operations like
tract , -compare and image -extract , -compare and image
generation will perform further filter runs and deliver filtered c ontent. generation will perform further filter runs and deliver filtered c ontent.
At image generation time the filter output must still be the sam At image generation time the filter output must still be the same
e as the output from the first as the output from the first
run. Filtering for image generation does not happen with files fro run. Filtering for image generation does not happen with files fr
m the loaded ISO image if the om the loaded ISO image if the
write method of growing is in effect (i.e -indev and -outdev are i dentical). write method of growing is in effect (i.e -indev and -outdev are i dentical).
The reserved filter name "--remove-all-filters" revokes filt ering. This will revoke suffix The reserved filter name "--remove-all-filters" revokes filterin g. This will revoke suffix
renamings as well. Use "--remove-all-filters+" to prevent any suf fix renaming. renamings as well. Use "--remove-all-filters+" to prevent any suf fix renaming.
Attaching or detaching filters will not alter the state of -chan ges_pending. If the filter Attaching or detaching filters will not alter the state of -c hanges_pending. If the filter
manipulations shall be the only changes in a write run, then expli citly execute -changes_pending manipulations shall be the only changes in a write run, then expli citly execute -changes_pending
"yes". "yes".
-set_filter_r name iso_rr_path [***] -set_filter_r name iso_rr_path [***]
Like -set_filter but affecting all data files below eventual direc tories. Like -set_filter but affecting all data files below eventual direc tories.
Writing the result, drive control: Writing the result, drive control:
(see also paragraph about settings below) (see also paragraph about settings below)
-rollback -rollback
Discard the manipulated ISO image and reload it from -indev. (Use -rollback_end if immediate Discard the manipulated ISO image and reload it from -indev. ( Use -rollback_end if immediate
program end is desired.) program end is desired.)
-changes_pending "no"|"yes"|"mkisofs_printed"|"show_status" -changes_pending "no"|"yes"|"mkisofs_printed"|"show_status"
Write runs are performed only if a change of the image has been m ade since the image was loaded Write runs are performed only if a change of the image has been ma de since the image was loaded
or created blank. Vice versa the program will start a write run fo r pending changes when it ends or created blank. Vice versa the program will start a write run fo r pending changes when it ends
normally (i.e. not by abort and not by command -rollback_end). normally (i.e. not by abort and not by command -rollback_end).
The command -changes_pending can be used to override the automatic ally determined state. This is The command -changes_pending can be used to override the automatic ally determined state. This is
mainly useful for setting state "yes" despite no real chang mainly useful for setting state "yes" despite no real cha
es were made. The sequence nges were made. The sequence
-changes_pending "no" -end is equivalent to the command -rollbac -changes_pending "no" -end is equivalent to the command -rollback_
k_end. State "mkisofs_printed" end. State "mkisofs_printed"
is caused by emulation command -as mkisofs if option -print-size i s present. is caused by emulation command -as mkisofs if option -print-size i s present.
The pseudo-state "show_status" can be used to print the current st ate to result channel. The pseudo-state "show_status" can be used to print the current st ate to result channel.
Image loading or manipulations which happen after this command wil l again update automatically Image loading or manipulations which happen after this command w ill again update automatically
the change status of the image. the change status of the image.
-commit -commit
Perform the write operation. Afterwards, if -outdev is readable, make it the new -dev and load Perform the write operation. Afterwards, if -outdev is readable, m ake it the new -dev and load
the image from there. Switch to growing mode. (A subsequent -out dev will activate modification the image from there. Switch to growing mode. (A subsequent -out dev will activate modification
mode or blind growing.) -commit is performed automatically at end of program if there are mode or blind growing.) -commit is performed automatically at en d of program if there are
uncommitted manipulations pending. uncommitted manipulations pending.
So, to perform a final write operation with no new -dev and no ne w loading of image, rather So, to perform a final write operation with no new -dev and n o new loading of image, rather
execute command -end. If you want to go on without image loading, execute -commit_eject "none". execute command -end. If you want to go on without image loading, execute -commit_eject "none".
To eject after write without image loading, use -commit_eject "all ". To eject after write without image loading, use -commit_eject "all ".
To suppress a final write, execute -rollback_end. To suppress a final write, execute -rollback_end.
Writing can last quite a while. It is not unnormal with several ty Writing can last quite a while. It is not unnormal with several t
pes of media that there is no ypes of media that there is no
progress visible for the first few minutes or that the drive progress visible for the first few minutes or that the drive gnaws
gnaws on the medium for a few on the medium for a few
minutes after all data have been transmitted. xorriso and the dri minutes after all data have been transmitted. xorriso and the
ves are in a client-server drives are in a client-server
relationship. The drives have much freedom about what to do with relationship. The drives have much freedom about what to do with
the media. Some combinations the media. Some combinations
of drives and media simply do not work, despite the promises by th eir vendors. If writing fails of drives and media simply do not work, despite the promises by th eir vendors. If writing fails
then try other media or another drive. The reason for such failure is hardly ever in the code of then try other media or another drive. The reason for such failure is hardly ever in the code of
the various burn programs but you may well try some of those liste d below under SEE ALSO. the various burn programs but you may well try some of those liste d below under SEE ALSO.
-eject "in"|"out"|"all" -eject "in"|"out"|"all"
Eject the medium in -indev, -outdev, or both drives, respectively. Note: It is not possible yet Eject the medium in -indev, -outdev, or both drives, respectively. Note: It is not possible yet
to effectively eject disk files. to effectively eject disk files.
-commit_eject "in"|"out"|"all"|"none" -commit_eject "in"|"out"|"all"|"none"
Combined -commit and -eject. When writing has finished do not make -outdev the new -dev, and Combined -commit and -eject. When writing has finished do not make -outdev the new -dev, and
load no ISO image. Rather eject -indev and/or -outdev. Give up any non-ejected drive. load no ISO image. Rather eject -indev and/or -outdev. Give up any non-ejected drive.
-blank mode -blank mode
Make media ready for writing from scratch (if not -dummy is activa ted). Make media ready for writing from scratch (if not -dummy is activa ted).
This affects only the -outdev not the -indev. If both drives are the same and if the ISO image This affects only the -outdev not the -indev. If both drives are the same and if the ISO image
was altered then this command leads to a FAILURE event. Defined m odes are: was altered then this command leads to a FAILURE event. Defined m odes are:
as_needed, fast, all, deformat, deformat_quickest as_needed, fast, all, deformat, deformat_quickest
"as_needed" cares for used CD-RW, DVD-RW and for used overwrit "as_needed" cares for used CD-RW, DVD-RW and for used overwriteabl
eable media by applying -blank e media by applying -blank
"fast". It applies -format "full" to yet unformatted DVD-RAM and "fast". It applies -format "full" to yet unformatted DVD-RAM a
BD-RE. Other media in blank nd BD-RE. Other media in blank
state are gracefully ignored. Media which cannot be made ready fo r writing from scratch cause a state are gracefully ignored. Media which cannot be made ready fo r writing from scratch cause a
FAILURE event. FAILURE event.
"fast" makes CD-RW and unformatted DVD-RW re-usable, or invalidate s overwriteable ISO images. "fast" makes CD-RW and unformatted DVD-RW re-usable, or invalid ates overwriteable ISO images.
"all" might work more thoroughly and need more time. "all" might work more thoroughly and need more time.
"deformat" converts overwriteable DVD-RW into unformatted ones. "deformat" converts overwriteable DVD-RW into unformatted ones.
"deformat_quickest" is a faster way to deformat or blank DVD-R "deformat_quickest" is a faster way to deformat or blank DVD-RW bu
W but produces media which are t produces media which are
only suitable for a single session. Some drives announce this sta only suitable for a single session. Some drives announce this
te by not offering feature state by not offering feature
21h, but some drives offer it anyway. If feature 21h is missin 21h, but some drives offer it anyway. If feature 21h is missing,
g, then xorriso will refuse to then xorriso will refuse to
write on DVD-RW if not command -close is set to "on". write on DVD-RW if not command -close is set to "on".
The progress reports issued by some drives while blanking are quit e unrealistic. Do not conclude The progress reports issued by some drives while blanking are quit e unrealistic. Do not conclude
success or failure from the reported percentages. Blanking was s uccessful if no SORRY event or success or failure from the reported percentages. Blanking was suc cessful if no SORRY event or
worse occurred. worse occurred.
Mode may be prepended by "force:" in order to override the evaluat Mode may be prepended by "force:" in order to override the eva
ion of the medium state by luation of the medium state by
libburn. E.g. "force:fast". Blanking will nevertheless only succ libburn. E.g. "force:fast". Blanking will nevertheless only succe
eed if the drive is willing to ed if the drive is willing to
do it. do it.
-format mode -format mode
Convert unformatted DVD-RW into overwriteable ones, "de-ice" DVD +RW, format newly purchased Convert unformatted DVD-RW into overwriteable ones, "de-ice" DVD+RW, format newly purchased
BD-RE or BD-R, re-format DVD-RAM or BD-RE. BD-RE or BD-R, re-format DVD-RAM or BD-RE.
Defined modes are: Defined modes are:
as_needed, full, fast, by_index_<num>, fast_by_index_<num>, as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare by_size_<num>, fast_by_size_<num>, without_spare
"as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or blank unformatted BD-R. Other "as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or bl ank unformatted BD-R. Other
media are left untouched. media are left untouched.
"full" (re-)formats DVD-RW, DVD+RW, DVD-RAM, BD-RE, or blank unfor matted BD-R. "full" (re-)formats DVD-RW, DVD+RW, DVD-RAM, BD-RE, or blank unfor matted BD-R.
"fast" does the same as "full" but tries to be quicker. "fast" does the same as "full" but tries to be quicker.
"by_index_" selects a format out of the descriptor list issued by command -list_formats. The "by_index_" selects a format out of the descriptor list issued by command -list_formats. The
index number from that list is to be appended to the mode word. E. g: "by_index_3". index number from that list is to be appended to the mode word. E. g: "by_index_3".
"fast_by_index_" does the same as "by_index_" but tries to be quic ker. "fast_by_index_" does the same as "by_index_" but tries to be quic ker.
"by_size_" selects a format out of the descriptor list which pro "by_size_" selects a format out of the descriptor list which provi
vides at least the given size. des at least the given size.
That size is to be appended to the mode word. E.g: "by_size_4100m That size is to be appended to the mode word. E.g: "by_size_4100
". This applies to media with m". This applies to media with
Defect Management. On BD-RE it will not choose format 0x31, which offers no Defect Management. Defect Management. On BD-RE it will not choose format 0x31, which offers no Defect Management.
"fast_by_size_" does the same as "by_size_" but tries to be quicke r. "fast_by_size_" does the same as "by_size_" but tries to be quicke r.
"without_spare" selects the largest format out of the descripto r list which provides no Spare "without_spare" selects the largest format out of the descriptor l ist which provides no Spare
Area for Defect Management. On BD-RE this will be format 0x31. Area for Defect Management. On BD-RE this will be format 0x31.
The formatting action has no effect on media if -dummy is activate d. The formatting action has no effect on media if -dummy is activate d.
Formatting is normally needed only once during the lifetime of a m edium, if ever. But it is a Formatting is normally needed only once during the lifetime of a medium, if ever. But it is a
reason for re-formatting if: reason for re-formatting if:
DVD-RW was deformatted by -blank, DVD-RW was deformatted by -blank,
DVD+RW has read failures (re-format before next write), DVD+RW has read failures (re-format before next write),
DVD-RAM or BD-RE shall change their amount of defect reserve. DVD-RAM or BD-RE shall change their amount of defect reserve.
BD-R may be written unformatted or may be formatted before fi rst use. Formatting activates BD-R may be written unformatted or may be formatted before first use. Formatting activates
Defect Management which tries to catch and repair bad spots on med ia during the write process at Defect Management which tries to catch and repair bad spots on med ia during the write process at
the expense of half speed even with flawless media. the expense of half speed even with flawless media.
The progress reports issued by some drives while formatting are quite unrealistic. Do not The progress reports issued by some drives while formatting are quite unrealistic. Do not
conclude success or failure from the reported percentages. Formatt ing was successful if no SORRY conclude success or failure from the reported percentages. Formatt ing was successful if no SORRY
event or worse occurred. Be patient with apparently frozen progres s. event or worse occurred. Be patient with apparently frozen progres s.
-list_formats -list_formats
Put out a list of format descriptors as reported by the output dri ve for the current medium. The Put out a list of format descriptors as reported by the output dri ve for the current medium. The
list gives the index number after "Format idx", a MMC format code, the announced size in blocks list gives the index number after "Format idx", a MMC format code , the announced size in blocks
(like "2236704s") and the same size in MiB. (like "2236704s") and the same size in MiB.
MMC format codes are manifold. Most important are: "00h" gener al formatting, "01h" increases MMC format codes are manifold. Most important are: "00h" general formatting, "01h" increases
reserve space for DVD-RAM, "26h" for DVD+RW, "30h" for BD-RE with reserve space, "31h" for BD-RE reserve space for DVD-RAM, "26h" for DVD+RW, "30h" for BD-RE with reserve space, "31h" for BD-RE
without reserve space, "32h" for BD-R. without reserve space, "32h" for BD-R.
Smaller format size with DVD-RAM, BD-RE, or BD-R means more reserv e space. Smaller format size with DVD-RAM, BD-RE, or BD-R means more reserv e space.
-list_speeds -list_speeds
Put out a list of speed values as reported by the drives with th Put out a list of speed values as reported by the drives with the
e loaded media. The list tells loaded media. The list tells
read speeds of the input drive and of the output drive. Further it read speeds of the input drive and of the output drive. Furthe
tells write speeds of the r it tells write speeds of the
output drive. output drive.
The list of write speeds does not necessarily mean that the me dium is writable or that these The list of write speeds does not necessarily mean that the medium is writable or that these
speeds are actually achievable. Especially the lists reported with empty drive or with ROM media speeds are actually achievable. Especially the lists reported with empty drive or with ROM media
obviously advertise speeds for other media. obviously advertise speeds for other media.
It is not mandatory to use speed values out of the listed ra nge. The drive is supposed to It is not mandatory to use speed values out of the listed range. The drive is supposed to
choose a safe speed that is as near to the desired speed as possib le. choose a safe speed that is as near to the desired speed as possib le.
At the end of the list, "Write speed L" and "Write speed H" are th At the end of the list, "Write speed L" and "Write speed H" are
e best guesses for lower and the best guesses for lower and
upper write speed limit. "Write speed l" and "Write speed upper write speed limit. "Write speed l" and "Write speed h" ma
h" may appear only with CD and y appear only with CD and
eventually override the list of other speed offers. eventually override the list of other speed offers.
Only if the drive reports contradicting speed information there wi ll appear "Write speed 0", Only if the drive reports contradicting speed information ther e will appear "Write speed 0",
which tells the outcome of speed selection by command -speed 0, if it deviates from "Write speed which tells the outcome of speed selection by command -speed 0, if it deviates from "Write speed
H". H".
"Read speed L" and "Read speed H" tell the minimum and maximum rea "Read speed L" and "Read speed H" tell the minimum and maximum r
d speeds, as reported by the ead speeds, as reported by the
drive. They would be chosen by -read_speed "min" or "max" i drive. They would be chosen by -read_speed "min" or "max" if th
f they undercut or surpass the ey undercut or surpass the
built-in limits. These are "1x", "52xCD", "24xDVD", "20xBD". built-in limits. These are "1x", "52xCD", "24xDVD", "20xBD".
-close_damaged "as_needed"|"force" -close_damaged "as_needed"|"force"
Try to close the upcoming track and session if the drive reported Try to close the upcoming track and session if the drive report
the medium as damaged. This ed the medium as damaged. This
may apply to CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL, or may apply to CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL, or BD-R
BD-R media. It is indicated by media. It is indicated by
warning messages when the drive gets acquired, and by a remark "bu warning messages when the drive gets acquired, and by a remark "b
t next track is damaged" with ut next track is damaged" with
the line "Media status :" of command -toc. the line "Media status :" of command -toc.
The setting of command -close determines whether the medium stays appendable. The setting of command -close determines whether the medium stays appendable.
Mode "as_needed" gracefully refuses on media which are not rep orted as damaged. Mode "force" Mode "as_needed" gracefully refuses on media which are not reporte d as damaged. Mode "force"
attempts the close operation even with media which appear undamage d. attempts the close operation even with media which appear undamage d.
No image changes are allowed to be pending before this command is performed. After closing was No image changes are allowed to be pending before this command is performed. After closing was
attempted, both drives are given up. attempted, both drives are given up.
-list_profiles "in"|"out"|"all" -list_profiles "in"|"out"|"all"
Put out a list of media types supported by -indev, -outde v, or both, respectively. The Put out a list of media types supported by -indev, -outdev, or both, respectively. The
currently recognized type is marked by text "(current)". currently recognized type is marked by text "(current)".
Settings for result writing: Settings for result writing:
Rock Ridge info will be generated by default. ACLs will be written accor ding to the setting of command Rock Ridge info will be generated by default. ACLs will be written accor ding to the setting of command
-acl. -acl.
-joliet "on"|"off" -joliet "on"|"off"
If enabled by "on", generate Joliet tree additional to ISO 9660 + Rock Ridge tree. If enabled by "on", generate Joliet tree additional to ISO 9660 + Rock Ridge tree.
-hfsplus "on"|"off" -hfsplus "on"|"off"
If enabled by "on", generate a HFS+ filesystem inside the ISO 9 660 image and mark it by Apple If enabled by "on", generate a HFS+ filesystem inside the ISO 9660 image and mark it by Apple
Partition Map (APM) entries in the System Area, the first 32 KiB o f the image. Partition Map (APM) entries in the System Area, the first 32 KiB o f the image.
This may collide with data submitted by -boot_image system_area=. This may collide with data submitted by -boot_image system_ar
The first 8 bytes of the ea=. The first 8 bytes of the
System Area get overwritten by { 0x45, 0x52, 0x08 0x00, 0xeb, 0 System Area get overwritten by { 0x45, 0x52, 0x08 0x00, 0xeb, 0x02
x02, 0xff, 0xff } which can be , 0xff, 0xff } which can be
executed as x86 machine code without negative effects. So if an M executed as x86 machine code without negative effects. So if
BR gets combined with this an MBR gets combined with this
feature, then its first 8 bytes should contain no essential comman ds. feature, then its first 8 bytes should contain no essential comman ds.
The next blocks of 2 KiB in the System Area will be occupied The next blocks of 2 KiB in the System Area will be occupied by A
by APM entries. The first one PM entries. The first one
covers the part of the ISO image before the HFS+ filesystem metada covers the part of the ISO image before the HFS+ filesystem meta
ta. The second one marks the data. The second one marks the
range from HFS+ metadata to the end of file content data. If more range from HFS+ metadata to the end of file content data. If more
ISO image data follow, then a ISO image data follow, then a
third partition entry gets produced. Other features of xorriso mig ht cause the need for more APM third partition entry gets produced. Other features of xorriso mig ht cause the need for more APM
entries. entries.
The HFS+ filesystem is not suitable for add-on sessions produced The HFS+ filesystem is not suitable for add-on sessions produced b
by the multi-session method of y the multi-session method of
growing. An existing ISO image may nevertheless be the base for a growing. An existing ISO image may nevertheless be the base f
new image produced by the or a new image produced by the
method of modifying. If -hfsplus is enabled when -indev or method of modifying. If -hfsplus is enabled when -indev or -de
-dev gets executed, then AAIP v gets executed, then AAIP
attributes get loaded from the input image and checked for inf attributes get loaded from the input image and checked for
ormation about HFS creator, information about HFS creator,
filetype, or blessing. If found, then they get enabled as filetype, or blessing. If found, then they get enabled as s
settings for the next image ettings for the next image
production. Therefore it is advisable to perform -hfsplus "on" be fore -indev or -dev. production. Therefore it is advisable to perform -hfsplus "on" be fore -indev or -dev.
Information about HFS creator, type, and blessings gets stored by xorriso if -hfsplus is enabled Information about HFS creator, type, and blessings gets stored by xorriso if -hfsplus is enabled
at -commit time. It is stored as copy outside the HFS+ partition, but rather along with the Rock at -commit time. It is stored as copy outside the HFS+ partition, but rather along with the Rock
Ridge information. xorriso does not read any information from the HFS+ meta data. Ridge information. xorriso does not read any information from the HFS+ meta data.
Be aware that HFS+ is case-insensitive although it can record file names with upper-case and Be aware that HFS+ is case-insensitive although it can record file names with upper-case and
lower-case letters. Therefore, file names from the iso_rr name tre e may collide in the HFS+ name lower-case letters. Therefore, file names from the iso_rr name tre e may collide in the HFS+ name
tree. In this case they get changed by adding underscore character s and counting numbers. In tree. In this case they get changed by adding underscore chara cters and counting numbers. In
case of very long names, it might be necessary to map them to "MAN GLED_...". case of very long names, it might be necessary to map them to "MAN GLED_...".
-rockridge "on"|"off" -rockridge "on"|"off"
Mode "off" disables production of Rock Ridge information for the ISO 9660 file objects. The Mode "off" disables production of Rock Ridge information for the ISO 9660 file objects. The
multi-session capabilities of xorriso depend much on the naming fi delity of Rock Ridge. So it is multi-session capabilities of xorriso depend much on the naming fi delity of Rock Ridge. So it is
strongly discouraged to deviate from default setting "on". strongly discouraged to deviate from default setting "on".
-compliance rule[:rule...] -compliance rule[:rule...]
Adjust the compliance to specifications of ISO 9660/ECMA-119 and i ts contemporary extensions. In Adjust the compliance to specifications of ISO 9660/ECMA-119 and i ts contemporary extensions. In
some cases it is worth to deviate a bit in order to circumvent b ugs of the intended reader some cases it is worth to deviate a bit in order to circumve nt bugs of the intended reader
system or to get unofficial extra features. system or to get unofficial extra features.
There are several adjustable rules which have a keyword each. I There are several adjustable rules which have a keyword each. If t
f they are mentioned with this hey are mentioned with this
command then their rule gets added to the relaxation list. This li command then their rule gets added to the relaxation list. Th
st can be erased by rules is list can be erased by rules
"strict" or "clear". It can be reset to its start setting by " "strict" or "clear". It can be reset to its start setting by "defa
default". All of the following ult". All of the following
relaxation rules can be revoked individually by appending "_off". Like "deep_paths_off". relaxation rules can be revoked individually by appending "_off". Like "deep_paths_off".
Rule keywords are: Rule keywords are:
"iso_9660_level="number chooses level 1 with ECMA-119 names of the form 8.3 and -file_size_limit "iso_9660_level="number chooses level 1 with ECMA-119 names of the form 8.3 and -file_size_limit
<= 4g - 1, or level 2 with ECMA-119 names up to length 32 and <= 4g - 1, or level 2 with ECMA-119 names up to length 32 and th
the same -file_size_limit, or e same -file_size_limit, or
level 3 with ECMA-119 names up to length 32 and -file_size_limit > level 3 with ECMA-119 names up to length 32 and -file_size_lim
= 400g -200k. If necessary it >= 400g -200k. If necessary
-file_size_limit gets adjusted. -file_size_limit gets adjusted.
"allow_dir_id_ext" allows ECMA-119 names of directories to have "allow_dir_id_ext" allows ECMA-119 names of directories to have a
a name extension as with other name extension as with other
file types. It does not force dots and it omits the version numb file types. It does not force dots and it omits the version
er, though. This is a bad number, though. This is a bad
tradition of mkisofs which violates ECMA-119. Especially ISO le tradition of mkisofs which violates ECMA-119. Especially ISO leve
vel 1 only allows 8 characters l 1 only allows 8 characters
in a directory name and not 8.3. in a directory name and not 8.3.
"omit_version" does not add versions (";1") to ECMA-119 and Joliet file names. "omit_version" does not add versions (";1") to ECMA-119 and Joliet file names.
"only_iso_version" does not add versions (";1") to Joliet file nam es. "only_iso_version" does not add versions (";1") to Joliet file nam es.
"deep_paths" allows ECMA-119 file paths deeper than 8 levels. "deep_paths" allows ECMA-119 file paths deeper than 8 levels.
"long_paths" allows ECMA-119 file paths longer than 255 characters . "long_paths" allows ECMA-119 file paths longer than 255 characters .
"long_names" allows up to 37 characters with ECMA-119 file names. "long_names" allows up to 37 characters with ECMA-119 file names.
"no_force_dots" does not add a dot to ECMA-119 file names which ha ve none. "no_force_dots" does not add a dot to ECMA-119 file names which ha ve none.
"no_j_force_dots" does not add a dot to Joliet file names which ha ve none. "no_j_force_dots" does not add a dot to Joliet file names which ha ve none.
"lowercase" allows lowercase characters in ECMA-119 file names. "lowercase" allows lowercase characters in ECMA-119 file names.
"7bit_ascii" allows nearly all 7-bit characters in ECMA-119 file n ames. Not allowed are 0x0 and "7bit_ascii" allows nearly all 7-bit characters in ECMA-119 file n ames. Not allowed are 0x0 and
'/'. If not "lowercase" is enabled, then lowercase letters get con verted to uppercase. '/'. If not "lowercase" is enabled, then lowercase letters get con verted to uppercase.
"full_ascii" allows all 8-bit characters except 0x0 and '/' in ECM A-119 file names. "full_ascii" allows all 8-bit characters except 0x0 and '/' in ECM A-119 file names.
"untranslated_names" might be dangerous for inadverted reade "untranslated_names" might be dangerous for inadverted reader
r programs which rely on the programs which rely on the
restriction to at most 37 characters in ECMA-119 file names. This restriction to at most 37 characters in ECMA-119 file names.
rule allows ECMA-119 file This rule allows ECMA-119 file
names up to 96 characters with no character conversion. If a file name has more characters, then names up to 96 characters with no character conversion. If a file name has more characters, then
image production will fail deliberately. image production will fail deliberately.
"untranslated_name_len="number enables untranslated_names with a s maller limit for the length of "untranslated_name_len="number enables untranslated_names with a s maller limit for the length of
file names. 0 disables this feature, -1 chooses maximum length lim it, numbers larger than 0 give file names. 0 disables this feature, -1 chooses maximum length lim it, numbers larger than 0 give
the desired length limit. the desired length limit.
"joliet_long_names" allows Joliet leaf names up to 103 characters rather than 64. "joliet_long_names" allows Joliet leaf names up to 103 characters rather than 64.
"joliet_long_paths" allows Joliet paths longer than 240 characters . "joliet_long_paths" allows Joliet paths longer than 240 characters .
"joliet_utf16" encodes Joliet names in UTF-16BE rather than UCS- "joliet_utf16" encodes Joliet names in UTF-16BE rather than
2. The difference is with UCS-2. The difference is with
characters which are not present in UCS-2 and get encoded in UTF characters which are not present in UCS-2 and get encoded in UTF-1
-16 by 2 words of 16 bit each. 6 by 2 words of 16 bit each.
Both words then stem from a reserved subset of UCS-2. Both words then stem from a reserved subset of UCS-2.
"always_gmt" stores timestamps in GMT representation with timezone 0. "always_gmt" stores timestamps in GMT representation with timezone 0.
"rec_mtime" records with non-RockRidge directory entries the disk "rec_mtime" records with non-RockRidge directory entries the
file's mtime and not the disk file's mtime and not the
creation time of the image. This applies to the ECMA-119 tree (p creation time of the image. This applies to the ECMA-119 tree (pla
lain ISO 9660), to Joliet, and in ISO 9660), to Joliet, and
to ISO 9660:1999. "rec_time" is default. If disabled, it gets auto to ISO 9660:1999. "rec_time" is default. If disabled, it gets a
matically re-enabled by -as utomatically re-enabled by -as
mkisofs emulation when a pathspec is encountered. mkisofs emulation when a pathspec is encountered.
"new_rr" uses Rock Ridge version 1.12 (suitable for GNU/Linux bu t not for older FreeBSD or for "new_rr" uses Rock Ridge version 1.12 (suitable for GNU/Linux but not for older FreeBSD or for
Solaris). This implies "aaip_susp_1_10_off" which may be changed b y subsequent "aaip_susp_1_10". Solaris). This implies "aaip_susp_1_10_off" which may be changed b y subsequent "aaip_susp_1_10".
Default is "old_rr" which uses Rock Ridge version 1.10. This impli es also "aaip_susp_1_10" which Default is "old_rr" which uses Rock Ridge version 1.10. This impli es also "aaip_susp_1_10" which
may be changed by subsequent "aaip_susp_1_10_off". may be changed by subsequent "aaip_susp_1_10_off".
"aaip_susp_1_10" allows AAIP to be written as unofficial ex tension of RRIP rather than as "aaip_susp_1_10" allows AAIP to be written as unofficial extensi on of RRIP rather than as
official extension under SUSP-1.12. official extension under SUSP-1.12.
"no_emul_toc" saves 64 kB with the first session on overwriteable media but makes the image "no_emul_toc" saves 64 kB with the first session on overwrite able media but makes the image
incapable of displaying its session history. incapable of displaying its session history.
"iso_9660_1999" causes the production of an additional dire ctory tree compliant to ISO "iso_9660_1999" causes the production of an additional direc tory tree compliant to ISO
9660:1999. It can record long filenames for readers which do not u nderstand Rock Ridge. 9660:1999. It can record long filenames for readers which do not u nderstand Rock Ridge.
"old_empty" uses the old way of of giving block addresses in the r "old_empty" uses the old way of of giving block addresses in the
ange of [0,31] to files with range of [0,31] to files with
no own data content. The new way is to have a dedicated bloc no own data content. The new way is to have a dedicated block to
k to which all such files will which all such files will
point. point.
Default setting is Default setting is
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots: "clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:
always_gmt:old_rr". always_gmt:old_rr".
Note: The term "ECMA-119 name" means the plain ISO 9660 names and attributes which get visible Note: The term "ECMA-119 name" means the plain ISO 9660 names an d attributes which get visible
if the reader ignores Rock Ridge. if the reader ignores Rock Ridge.
-rr_reloc_dir name -rr_reloc_dir name
Specify the name of the relocation directory in which deep directo ry subtrees shall be placed if Specify the name of the relocation directory in which deep directo ry subtrees shall be placed if
-compliance is set to "deep_paths_off" or "long_paths_off". A dee p directory is one that has a -compliance is set to "deep_paths_off" or "long_paths_off". A de ep directory is one that has a
chain of 8 parent directories (including root) above itself, or on e that contains a file with an chain of 8 parent directories (including root) above itself, or on e that contains a file with an
ECMA-119 path of more than 255 characters. ECMA-119 path of more than 255 characters.
The overall directory tree will appear originally deep when interp reted as Rock Ridge tree. It The overall directory tree will appear originally deep when inte rpreted as Rock Ridge tree. It
will appear as re-arranged if only ECMA-119 information is conside red. will appear as re-arranged if only ECMA-119 information is conside red.
The default relocation directory is the root directory. By The default relocation directory is the root directory. By gi
giving a non-empty name with ving a non-empty name with
-rr_reloc_dir, a directory in the root directory may get this role -rr_reloc_dir, a directory in the root directory may get this rol
. If that directory does not e. If that directory does not
already exist at -commit time, then it will get created and marke already exist at -commit time, then it will get created and marked
d for Rock Ridge as relocation for Rock Ridge as relocation
artefact. At least on GNU/Linux it will not be displayed in mounte d Rock Ridge images. artefact. At least on GNU/Linux it will not be displayed in mounte d Rock Ridge images.
The name must not contain a '/' character and must not be longer t han 255 bytes. The name must not contain a '/' character and must not be longer t han 255 bytes.
-volid text -volid text
Specify the volume ID, which most operating systems will consider to be the volume name of the Specify the volume ID, which most operating systems will conside r to be the volume name of the
image or medium. image or medium.
xorriso accepts any text up to 32 characters, but according t o rarely obeyed specs stricter xorriso accepts any text up to 32 characters, but according to r arely obeyed specs stricter
rules apply: rules apply:
ECMA-119 demands ASCII characters out of [A-Z0-9_]. Like: ECMA-119 demands ASCII characters out of [A-Z0-9_]. Like:
"IMAGE_23" "IMAGE_23"
Joliet allows 16 UCS-2 characters. Like: Joliet allows 16 UCS-2 characters. Like:
"Windows name" "Windows name"
Be aware that the volume id might get used automatically as the na me of the mount point when the Be aware that the volume id might get used automatically as the na me of the mount point when the
medium is inserted into a playful computer system. medium is inserted into a playful computer system.
If an ISO image gets loaded while the volume ID is set to default "ISOIMAGE" or to "", then the If an ISO image gets loaded while the volume ID is set to default "ISOIMAGE" or to "", then the
volume ID of the loaded image will become the effective volume id for the next write run. But as volume ID of the loaded image will become the effective volume id for the next write run. But as
soon as command -volid is performed afterwards, this pendi ng ID is overridden by the new soon as command -volid is performed afterwards, this pending ID is overridden by the new
setting. setting.
Consider this when setting -volid "ISOIMAGE" before executing -dev , -indev, or -rollback. If Consider this when setting -volid "ISOIMAGE" before executing - dev, -indev, or -rollback. If
you insist in -volid "ISOIMAGE", set it again after those commands . you insist in -volid "ISOIMAGE", set it again after those commands .
-volset_id text -volset_id text
Set the volume set ID string to be written with the next -comm it. Permissible are up to 128 Set the volume set ID string to be written with the next -commit. Permissible are up to 128
characters. This setting gets overridden by image loading. characters. This setting gets overridden by image loading.
-publisher text -publisher text
Set the publisher ID string to be written with the next -commit. T his may identify the person or Set the publisher ID string to be written with the next -commit. T his may identify the person or
organisation who specified what shall be recorded. Permissible are up to 128 characters. This organisation who specified what shall be recorded. Permissible ar e up to 128 characters. This
setting gets overridden by image loading. setting gets overridden by image loading.
-application_id text -application_id text
Set the application ID string to be written with the next -com Set the application ID string to be written with the next
mit. This may identify the -commit. This may identify the
specification of how the data are recorded. Permissible are up t specification of how the data are recorded. Permissible are up to
o 128 characters. This setting 128 characters. This setting
gets overridden by image loading. gets overridden by image loading.
The special text "@xorriso@" gets converted to the ID string of xorriso which is normally The special text "@xorriso@" gets converted to the ID strin g of xorriso which is normally
written as -preparer_id. It is a wrong tradition to write the prog ram ID as -application_id. written as -preparer_id. It is a wrong tradition to write the prog ram ID as -application_id.
-system_id text -system_id text
Set the system ID string to be written with the next -commit. This may identify the system which Set the system ID string to be written with the next -commit. This may identify the system which
can recognize and act upon the content of the System Area in image blocks 0 to 15. Permissible can recognize and act upon the content of the System Area in imag e blocks 0 to 15. Permissible
are up to 32 characters. This setting gets overridden by image loa ding. are up to 32 characters. This setting gets overridden by image loa ding.
-volume_date type timestring -volume_date type timestring
Set one of the four overall timestamps for subsequent image writin g. Available types are: Set one of the four overall timestamps for subsequent image writin g. Available types are:
"c" time when the volume was created. "c" time when the volume was created.
"m" time when volume was last modified. "m" time when volume was last modified.
"x" time when the information in the volume expires. "x" time when the information in the volume expires.
"f" time since when the volume is effectively valid. "f" time since when the volume is effectively valid.
"all_file_dates" sets mtime, atime, and ctime of all files and directories to the given time. "all_file_dates" sets mtime, atime, and ctime of all files and di rectories to the given time.
If the timestring is "set_to_mtime", then the atime and ctime of e ach file and directory get set If the timestring is "set_to_mtime", then the atime and ctime of e ach file and directory get set
to the value found in their mtime. to the value found in their mtime.
These actions stay delayed until actual ISO production begins. Up to then they can be revoked These actions stay delayed until actual ISO production begins. Up to then they can be revoked
by "all_file_dates" with empty timestring or timestring "default". by "all_file_dates" with empty timestring or timestring "default".
The timestamps of the El Torito boot catalog file get refreshed wh en the ISO is produced. They The timestamps of the El Torito boot catalog file get refreshed when the ISO is produced. They
can be influenced by "uuid". can be influenced by "uuid".
"uuid" sets a timestring that overrides "c" and "m" times literal ly and sets the time of the El "uuid" sets a timestring that overrides "c" and "m" times literal ly and sets the time of the El
Torito boot catalog. It must consist of 16 decimal digits which form YYYYMMDDhhmmsscc, with Torito boot catalog. It must consist of 16 decimal digits whi ch form YYYYMMDDhhmmsscc, with
YYYY between 1970 and 2999. Time zone is GMT. It is supposed to m atch this GRUB line: YYYY between 1970 and 2999. Time zone is GMT. It is supposed to m atch this GRUB line:
search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds). E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
Timestrings for the other types may be given as with command Timestrings for the other types may be given as with command -alt
-alter_date. Some of them are er_date. Some of them are
prone to timezone computations. The timestrings "default" or prone to timezone computations. The timestrings "default" o
"overridden" cause default r "overridden" cause default
settings: "c" and "m" will show the current time of image creati settings: "c" and "m" will show the current time of image creation
on. "x" and "f" will be marked . "x" and "f" will be marked
as insignificant. "uuid" will be deactivated. as insignificant. "uuid" will be deactivated.
At -commit time, some timestamps get set to the maximum value of At -commit time, some timestamps get set to the maximum value
effectively written volume of effectively written volume
creation and modification time: El Torito boot catalog, HF creation and modification time: El Torito boot catalog, HFS
S+ superblock, ECMA-119 file + superblock, ECMA-119 file
modification time if -compliance "no_rec_mtime". The isohybrid MB modification time if -compliance "no_rec_mtime". The isohybrid
R id is computed from "uuid" MBR id is computed from "uuid"
if given, else from the effective volume modification date. if given, else from the effective volume modification date.
-copyright_file text -copyright_file text
Set the copyright file name to be written with the next -commi Set the copyright file name to be written with the next -commit. T
t. This should be the ISO 9660 his should be the ISO 9660
path of a file in the image which contains a copyright statement. path of a file in the image which contains a copyright statem
Permissible are up to 37 ent. Permissible are up to 37
characters. This setting gets overridden by image loading. characters. This setting gets overridden by image loading.
-abstract_file text -abstract_file text
Set the abstract file name to be written with the next -commit. Th is should be the ISO 9660 path Set the abstract file name to be written with the next -commit. Th is should be the ISO 9660 path
of a file in the image which contains an abstract statemen t about the image content. of a file in the image which contains an abstract statem ent about the image content.
Permissible are up to 37 characters. This setting gets overridden by image loading. Permissible are up to 37 characters. This setting gets overridden by image loading.
-biblio_file text -biblio_file text
Set the biblio file name to be written with the next -commit. Th Set the biblio file name to be written with the next -commit. This
is should be the ISO 9660 path should be the ISO 9660 path
of a file in the image which contains bibliographic records. of a file in the image which contains bibliographic recor
Permissible are up to 37 ds. Permissible are up to 37
characters. This setting gets overridden by image loading. characters. This setting gets overridden by image loading.
-preparer_id -preparer_id
Set the preparer ID string to be written with the next -commit. T Set the preparer ID string to be written with the next -commit. Th
his may identify the person or is may identify the person or
other entity which controls the preparation of the data which shal other entity which controls the preparation of the data which sh
l be recorded. Normally this all be recorded. Normally this
should be the ID of xorriso and not of the person or program w should be the ID of xorriso and not of the person or program whic
hich operates xorriso. Please h operates xorriso. Please
avoid to change it. Permissible are up to 128 characters. avoid to change it. Permissible are up to 128 characters.
The special text "@xorriso@" gets converted to the ID string of x orriso which is default at The special text "@xorriso@" gets converted to the ID string of xorriso which is default at
program startup. program startup.
Unlike other ID strings, this setting is not influenced by image l oading. Unlike other ID strings, this setting is not influenced by image l oading.
-application_use character|0xXY|disk_path -application_use character|0xXY|disk_path
Specify the content of the Application Use field which can take at most 512 bytes. Specify the content of the Application Use field which can take at most 512 bytes.
If the parameter of this command is empty, then the field is fille d with 512 0-bytes. If it is a If the parameter of this command is empty, then the field is fille d with 512 0-bytes. If it is a
single character, then it gets repeated 512 times. If it begins b y "0x" followed by two hex single character, then it gets repeated 512 times. If it begi ns by "0x" followed by two hex
digits [0-9a-fA-F], then the digits are read as byte value which g ets repeated 512 times. digits [0-9a-fA-F], then the digits are read as byte value which g ets repeated 512 times.
Any other parameter text is used as disk_path to open a data fi le and to read up to 512 bytes Any other parameter text is used as disk_path to open a data file and to read up to 512 bytes
from it. If the file is smaller than 512 bytes, then the remaining bytes in the field get set to from it. If the file is smaller than 512 bytes, then the remaining bytes in the field get set to
binary 0. binary 0.
This setting is not influenced by image loading. This setting is not influenced by image loading.
-out_charset character_set_name -out_charset character_set_name
Set the character set to which file names get converted when w Set the character set to which file names get converted when writi
riting an image. See paragraph ng an image. See paragraph
"Character sets" for more explanations. When loading the writt "Character sets" for more explanations. When loading the w
en image after -commit the ritten image after -commit the
setting of -out_charset will be copied to -in_charset. setting of -out_charset will be copied to -in_charset.
-uid uid -uid uid
User id to be used for all files when the new ISO tree gets writte n to media. User id to be used for all files when the new ISO tree gets writte n to media.
-gid gid -gid gid
Group id to be used for all files when the new ISO tree gets writt en to media. Group id to be used for all files when the new ISO tree gets writt en to media.
-zisofs option[:options] -zisofs option[:options]
Set global parameters for zisofs compression. This data format i Set global parameters for zisofs compression. This data format is
s recognized and transparently recognized and transparently
uncompressed by some Linux kernels. It is to be applied via comman uncompressed by some Linux kernels. It is to be applied via com
d -set_filter with built-in mand -set_filter with built-in
filter "--zisofs". Parameters are: filter "--zisofs". Parameters are:
"level="[0-9] zlib compression: 0=none, 1=fast,..., 9=slow "level="[0-9] zlib compression: 0=none, 1=fast,..., 9=slow
"block_size="32k|64k|128k size of compression blocks "block_size="32k|64k|128k size of compression blocks
"by_magic=on" enables an expensive test at image generation tim e which checks files from disk "by_magic=on" enables an expensive test at image generation time which checks files from disk
whether they already are zisofs compressed, e.g. by program mkzftr ee. whether they already are zisofs compressed, e.g. by program mkzftr ee.
"default" same as "level=6:block_size=32k:by_magic=off" "default" same as "level=6:block_size=32k:by_magic=off"
-speed code|number[k|m|c|d|b] -speed code|number[k|m|c|d|b]
Set the burn speed. Default is "max" (or "0") = maximum speed as announced by the drive. Set the burn speed. Default is "max" (or "0") = maximum sp eed as announced by the drive.
Further special speed codes are: Further special speed codes are:
"min" (or "-1") selects minimum speed as announced by the drive. "min" (or "-1") selects minimum speed as announced by the drive.
"none" avoids to send a speed setting command to the drive before burning begins. "none" avoids to send a speed setting command to the drive before burning begins.
Speed can be given in media dependent numbers or as a desire Speed can be given in media dependent numbers or as a desired th
d throughput per second in MMC roughput per second in MMC
compliant kB (= 1000) or MB (= 1000 kB). Media x-speed factor can compliant kB (= 1000) or MB (= 1000 kB). Media x-speed factor ca
be set explicitly by "c" for n be set explicitly by "c" for
CD, "d" for DVD, "b" for BD, "x" is optional. CD, "d" for DVD, "b" for BD, "x" is optional.
Example speeds: Example speeds:
706k = 706kB/s = 4c = 4xCD 706k = 706kB/s = 4c = 4xCD
5540k = 5540kB/s = 4d = 4xDVD 5540k = 5540kB/s = 4d = 4xDVD
If there is no hint about the speed unit attached, then the medi um in the -outdev will decide. If there is no hint about the speed unit attached, then the medium in the -outdev will decide.
Default unit is CD = 176.4k. Default unit is CD = 176.4k.
MMC drives usually activate their own idea of speed and take the s peed value given by the burn MMC drives usually activate their own idea of speed and take the speed value given by the burn
program only as upper limit for their own decision. program only as upper limit for their own decision.
-stream_recording "on"|"off"|"full"|"data"|number -stream_recording "on"|"off"|"full"|"data"|number
Setting "on" tries to circumvent the management of defects on D Setting "on" tries to circumvent the management of defects on DVD-
VD-RAM, BD-RE, or BD-R. Defect RAM, BD-RE, or BD-R. Defect
management keeps partly damaged media usable. But it reduces write management keeps partly damaged media usable. But it reduces wri
speed to half nominal speed te speed to half nominal speed
even if the medium is in perfect shape. For the case o even if the medium is in perfect shape. For the case of f
f flawless media, one may use lawless media, one may use
-stream_recording "on" to get full speed. -stream_recording "on" to get full speed.
"full" tries full speed with all write operations, whereas "on" does this only above byte "full" tries full speed with all write operations, whereas "on" does this only above byte
address 32s. One may give a number of at least 16s in order to set an own address limit. address 32s. One may give a number of at least 16s in order to set an own address limit.
"data" causes full speed to start when superblock and directory e ntries are written and writing "data" causes full speed to start when superblock and directory en tries are written and writing
of file content blocks begins. of file content blocks begins.
-dvd_obs "default"|"32k"|"64k" -dvd_obs "default"|"32k"|"64k"
GNU/Linux specific: Set the number of bytes to be transmitted with GNU/Linux specific: Set the number of bytes to be transmitted wi
each write operation to DVD th each write operation to DVD
or BD media. A number of 64 KB may improve throughput with or BD media. A number of 64 KB may improve throughput with bus
bus systems which show latency systems which show latency
problems. The default depends on media type, on command -stream_re problems. The default depends on media type, on command -stream_r
cording , and on compile time ecording , and on compile time
options. options.
-modesty_on_drive parameter[:parameters] -modesty_on_drive parameter[:parameters]
Control whether the drive buffer shall be kept from getting comp Control whether the drive buffer shall be kept from getting comple
letely filled. Parameter "on" tely filled. Parameter "on"
(or "1") keeps the program from trying to write to the burner dri (or "1") keeps the program from trying to write to the burne
ve while its buffer is in r drive while its buffer is in
danger to be filled over a given limit. If this limit is excee danger to be filled over a given limit. If this limit is exceeded
ded then the program will wait then the program will wait
until the filling reaches a given low percentage value. until the filling reaches a given low percentage value.
This can ease the load on operating system and drive controller an d thus help with achieving This can ease the load on operating system and drive controlle r and thus help with achieving
better input bandwidth if disk and burner are not on independent c ontrollers (like hda and hdb). better input bandwidth if disk and burner are not on independent c ontrollers (like hda and hdb).
It may also help with throughput problems of simultaneous burns on It may also help with throughput problems of simultaneous burns o
different burners with Linux n different burners with Linux
kernels like 3.16, if one has reason not to fix the problem by kernels like 3.16, if one has reason not to fix the problem by -sc
-scsi_dev_family "sg". On the si_dev_family "sg". On the
other hand it increases the risk of buffer underflow and thus redu ced write speed. other hand it increases the risk of buffer underflow and thus redu ced write speed.
Some burners are not suitable because they report buffer fill with granularity too coarse in Some burners are not suitable because they report buffer fill with granularity too coarse in
size or time, or expect their buffer to be filled to the top befor e they go to full speed. size or time, or expect their buffer to be filled to the top befor e they go to full speed.
Parameters "off" or "0" disable this feature. Parameters "off" or "0" disable this feature.
The threshold for beginning to wait is given by paramete The threshold for beginning to wait is given by parameter
r "max_percent=". Parameter "max_percent=". Parameter
"min_percent=" defines the threshold for resuming transmission. P "min_percent=" defines the threshold for resuming transmission.
ercentages are permissible in Percentages are permissible in
the range of 25 to 100. Numbers in this range without a pre the range of 25 to 100. Numbers in this range without a prepend
pended name are interpreted as ed name are interpreted as
"on:min_percent=". "on:min_percent=".
E.g.: -modesty_on_drive 75 E.g.: -modesty_on_drive 75
The optimal values depend on the buffer behavior of the drive. The optimal values depend on the buffer behavior of the drive.
Parameter "timeout_sec=" defines after which time of unsuccessful waiting the modesty shall be Parameter "timeout_sec=" defines after which time of unsuccessfu l waiting the modesty shall be
disabled because it does not work. disabled because it does not work.
Parameter "min_usec=" defines the initial sleeping period in micr Parameter "min_usec=" defines the initial sleeping period in micro
oseconds. If the drive buffer seconds. If the drive buffer
appears to be too full for sending more data, the program will wai appears to be too full for sending more data, the program will w
t the given time and inquire ait the given time and inquire
the buffer fill state again. If repeated inquiry shows not eno the buffer fill state again. If repeated inquiry shows not enough
ugh free space, the sleep time free space, the sleep time
will slowly be increased to what parameter "max_usec=" defines. will slowly be increased to what parameter "max_usec=" defines.
Parameters, which are not mentioned with a -modesty_on_drive comma nd, stay unchanged. Default Parameters, which are not mentioned with a -modesty_on_drive com mand, stay unchanged. Default
is: is:
-modesty_on_drive off:min_percent=90:max_percent=95: -modesty_on_drive off:min_percent=90:max_percent=95:
timeout_sec=120:min_usec=5000:max_usec=25000 timeout_sec=120:min_usec=5000:max_usec=25000
-use_immed_bit "on"|"off"|"default" -use_immed_bit "on"|"off"|"default"
Control whether several long lasting SCSI commands shall be exec Control whether several long lasting SCSI commands shall be execut
uted with the Immed bit, which ed with the Immed bit, which
makes the commands end early while the drive operation is still go makes the commands end early while the drive operation is still g
ing on. xorriso then inquires oing on. xorriso then inquires
progress indication until the drive reports to be ready again. progress indication until the drive reports to be ready again. If
If this feature is turned off, this feature is turned off,
then blanking and formatting will show no progress indication. then blanking and formatting will show no progress indication.
It may depend on the operating system whether -use_immed_bit is se t to "off" by default. Command It may depend on the operating system whether -use_immed_bit is se t to "off" by default. Command
-status will tell by appending "/on" or "/off" if a drive has already been acquired and -status will tell by appending "/on" or "/off" if a drive has already been acquired and
-use_immed_bit is currently set to "default". Command -use_immed_ bit tolerates and ignores such -use_immed_bit is currently set to "default". Command -use_immed_ bit tolerates and ignores such
appended text. appended text.
-stdio_sync "on"|"off"|"end"|number -stdio_sync "on"|"off"|"end"|number
Set the number of bytes after which to force output to stdio: pseu do drives. This forcing keeps Set the number of bytes after which to force output to stdio: pseu do drives. This forcing keeps
the memory from being clogged with lots of pending data for slow d the memory from being clogged with lots of pending data for slo
evices. Default "on" is the w devices. Default "on" is the
same as "16m". Forced output can be disabled by "off", or be d same as "16m". Forced output can be disabled by "off", or be dela
elayed by "end" until all data yed by "end" until all data
are produced. If a number is chosen, then it must be at least 64k. are produced. If a number is chosen, then it must be at least 64k.
-dummy "on"|"off" -dummy "on"|"off"
If "on" then simulate burning or refuse with FAILURE event if no simulation is possible, do If "on" then simulate burning or refuse with FAILURE event if no simulation is possible, do
neither blank nor format. neither blank nor format.
-fs number["k"|"m"] -fs number["k"|"m"]
Set the size of the fifo buffer which smoothens the data strea Set the size of the fifo buffer which smoothens the data stream fr
m from ISO image generation to om ISO image generation to
media burning. Default is 4 MiB, minimum 64 kiB, maximum 1 GiB. T media burning. Default is 4 MiB, minimum 64 kiB, maximum 1 GiB.
he number may be followed by The number may be followed by
letter "k" or "m" which means unit is kiB (= 1024) or MiB (= 1024 kiB). letter "k" or "m" which means unit is kiB (= 1024) or MiB (= 1024 kiB).
-close "on"|"off"|"as_needed" -close "on"|"off"|"as_needed"
If -close is set to "on" then mark the written medium as not appen dable any more. This will have If -close is set to "on" then mark the written medium as not appen dable any more. This will have
no effect on overwritable media types. Setting "on" is the contra ry of cdrecord option -multi, no effect on overwritable media types. Setting "on" is the contr ary of cdrecord option -multi,
and is one aspect of growisofs option -dvd-compat. and is one aspect of growisofs option -dvd-compat.
If set to "off" then keep the medium writable for an appended sess ion. If set to "off" then keep the medium writable for an appended sess ion.
If set to "as_needed" then use "on" only if "off" is predicted to fail with the given medium and If set to "as_needed" then use "on" only if "off" is predicted to fail with the given medium and
its state. its state.
Not all drives correctly recognize fast-blanked DVD-RW which nee Not all drives correctly recognize fast-blanked DVD-RW whic
d "on". If there is well h need "on". If there is well
founded suspicion that a burn run failed due to -close "off", th founded suspicion that a burn run failed due to -close "off", then
en -close "as_needed" causes a -close "as_needed" causes a
re-try with "on". re-try with "on".
Note that emulation command -as "cdrecord" temporarily overrides t he current setting of -close Note that emulation command -as "cdrecord" temporarily overrides the current setting of -close
by its own default -close "on" if its option -multi is missing. by its own default -close "on" if its option -multi is missing.
-write_type "auto"|"tao"|"sao/dao" -write_type "auto"|"tao"|"sao/dao"
Set the write type for the next burn run. "auto" will select SAO Set the write type for the next burn run. "auto" will select SAO w
with blank CD media, DAO with ith blank CD media, DAO with
blank DVD-R[W] if -close is "on", and elsewise CD TAO or the eq blank DVD-R[W] if -close is "on", and elsewise CD TAO or th
uivalent write type of the e equivalent write type of the
particular DVD/BD media. Choosing TAO or SAO/DAO explicitly might cause the burn run to fail if particular DVD/BD media. Choosing TAO or SAO/DAO explicitly might cause the burn run to fail if
the desired write type is not possible with the given media state. the desired write type is not possible with the given media state.
-padding number["k"|"m"]|"included"|"appended" -padding number["k"|"m"]|"included"|"appended"
Append the given number of extra bytes to the image stream. This Append the given number of extra bytes to the image stream. This
is a traditional remedy for a is a traditional remedy for a
traditional bug in block device read drivers. Needed only for CD traditional bug in block device read drivers. Needed only for CD r
recordings in TAO mode. Since ecordings in TAO mode. Since
one can hardly predict on what media an image might end up, xorris o adds the traditional 300k of one can hardly predict on what media an image might end up, xorris o adds the traditional 300k of
padding by default to all images. padding by default to all images.
For images which will never get to a CD it is safe to use -padding 0 . For images which will never get to a CD it is safe to use -padding 0 .
Normally padding is not written as part of the ISO image but appe nded after the image end. This Normally padding is not written as part of the ISO image but appen ded after the image end. This
is -padding mode "appended". is -padding mode "appended".
Emulation command -as "mkisofs" and command -jigdo cause padding t o be written as part of the Emulation command -as "mkisofs" and command -jigdo cause paddin g to be written as part of the
image. The same effect is achieved by -padding mode "included". image. The same effect is achieved by -padding mode "included".
Bootable ISO images: Bootable ISO images:
Contrary to published specifications many BIOSes will load an El Torito Contrary to published specifications many BIOSes will load an El Torito r
record from the first session ecord from the first session
on media and not from the last one, which gets mounted by default. T on media and not from the last one, which gets mounted by defaul
his makes no problems with t. This makes no problems with
overwriteable media, because they appear to inadverted readers as one sin gle session. overwriteable media, because they appear to inadverted readers as one sin gle session.
But with multi-session media CD-R[W], DVD-R[W], DVD+R, it implies that th e whole bootable system has to But with multi-session media CD-R[W], DVD-R[W], DVD+R, it implies that th e whole bootable system has to
reside already in the first session and that the last session still has t o bear all files which the reside already in the first session and that the last session still h as to bear all files which the
booted system expects after mounting the ISO image. booted system expects after mounting the ISO image.
If a boot image from ISOLINUX or GRUB is known to be present on media If a boot image from ISOLINUX or GRUB is known to be present on media the
then it is advised to patch it n it is advised to patch it
when a follow-up session gets written. But one should not rely on the when a follow-up session gets written. But one should not rely on t
capability to influence the he capability to influence the
bootability of the existing sessions, unless one can assume overwriteable media. bootability of the existing sessions, unless one can assume overwriteable media.
Normally the boot images are data files inside the ISO Normally the boot images are data files inside the ISO fil
filesystem. By special path esystem. By special path
"--interval:appended_partition_NNN:all::" it is possible to refer to an a "--interval:appended_partition_NNN:all::" it is possible to refer to an
ppended partition. The number appended partition. The number
NNN gives the partition number as used with the corresponding option -app end_partition. E.g.: NNN gives the partition number as used with the corresponding option -app end_partition. E.g.:
-append_partition 2 0xef /tmp/efi.img -append_partition 2 0xef /tmp/efi.img
-e --interval:appended_partition_2:all:: -e --interval:appended_partition_2:all::
There are booting mechanisms which do not use an El Torito record but r There are booting mechanisms which do not use an El Torito record but rat
ather start at the first bytes her start at the first bytes
of the image: PC-BIOS MBR or EFI GPT for hard-disk-like devices, APM part of the image: PC-BIOS MBR or EFI GPT for hard-disk-like devices, APM pa
ition entries for Macs which rtition entries for Macs which
expect HFS+ boot images, MIPS Volume Header for old SGI computer expect HFS+ boot images, MIPS Volume Header for old SGI computers, DE
s, DEC Boot Block for old MIPS C Boot Block for old MIPS
DECstation, SUN Disk Label for SPARC machines, HP-PA boot sector for HP P A-RISC machines, DEC Alpha SRM DECstation, SUN Disk Label for SPARC machines, HP-PA boot sector for HP P A-RISC machines, DEC Alpha SRM
boot sector for old DEC Alpha machines. boot sector for old DEC Alpha machines.
Several of the following commands expect disk paths as input but also Several of the following commands expect disk paths as input but also acc
accept description strings for ept description strings for
the libisofs interval reader, which is able to cut out data from disk fil the libisofs interval reader, which is able to cut out data from disk
es or -indev and to zeroize files or -indev and to zeroize
parts of the content: command -append_partition, boot specs system_area= parts of the content: command -append_partition, boot specs system_area=,
, grub2_mbr=, prep_boot_part=, grub2_mbr=, prep_boot_part=,
efi_boot_part=. efi_boot_part=.
The description string consists of the following components, separated by colon ':' The description string consists of the following components, separated by colon ':'
"--interval:"Flags":"Interval":"Zeroizers":"Source "--interval:"Flags":"Interval":"Zeroizers":"Source
The component "--interval" states that this is not a plain disk path but rather an interval reader The component "--interval" states that this is not a plain disk path but rather an interval reader
description string. The component Flags modifies the further interpretat ion: description string. The component Flags modifies the further interpretat ion:
"local_fs" demands to read from a file depicted by the path in Source. "local_fs" demands to read from a file depicted by the path in Source.
"imported_iso" demands to read from the -indev. This works only if -out dev is not the same as -indev. "imported_iso" demands to read from the -indev. This works only if -outde v is not the same as -indev.
The Source component is ignored. The Source component is ignored.
"appended_partition_NNN" with a decimal number NNN works only for -boot_i "appended_partition_NNN" with a decimal number NNN works only for -boot_
mage bootspecs which announce image bootspecs which announce
El Torito boot image paths: bin_path=, efi_path=. The number gives the El Torito boot image paths: bin_path=, efi_path=. The number gives the p
partition number as used with artition number as used with
the corresponding option -append_partition. the corresponding option -append_partition.
The component Interval consists of two byte address numbers separated by a "-" character. E.g. "0-429" The component Interval consists of two byte address numbers separated by a "-" character. E.g. "0-429"
means to read bytes 0 to 429. means to read bytes 0 to 429.
The component Zeroizers consists of zero or more comma separated strin The component Zeroizers consists of zero or more comma separated strings.
gs. They define which part of They define which part of
the read data to zeroize. Byte number 0 means the byte read from the In the read data to zeroize. Byte number 0 means the byte read from the
terval start address. Each Interval start address. Each
string may be one of: string may be one of:
"zero_mbrpt" demands to zeroize the MBR partition table if bytes 510 and 511 bear the MBR signature "zero_mbrpt" demands to zeroize the MBR partition table if bytes 510 and 511 bear the MBR signature
0x55 0xaa. 0x55 0xaa.
"zero_gpt" demands to check for a GPT header in bytes 512 to 1023, to ze roize it and its partition "zero_gpt" demands to check for a GPT header in bytes 512 to 1023, t o zeroize it and its partition
table blocks. table blocks.
"zero_apm" demands to check for an APM block 0 and to zeroize its partiti on table blocks. "zero_apm" demands to check for an APM block 0 and to zeroize its partiti on table blocks.
Start_byte"-"End_byte demands to zeroize the read-in bytes beginning wit h number Start_byte and ending Start_byte"-"End_byte demands to zeroize the read-in bytes beginning with number Start_byte and ending
after End_byte. after End_byte.
The component Source is the file path with flag "local_fs", and ignored w ith flag "imported_iso". The component Source is the file path with flag "local_fs", and ignored w ith flag "imported_iso".
Byte numbers may be scaled by a suffix out of {k,m,g,t,s,d} meaning mult iplication by {1024, 1024k, Byte numbers may be scaled by a suffix out of {k,m,g,t,s,d} meaning m ultiplication by {1024, 1024k,
1024m, 1024g, 2048, 512}. A scaled value end number depicts the last byte of the scaled range. 1024m, 1024g, 2048, 512}. A scaled value end number depicts the last byte of the scaled range.
E.g. "0d-0d" is "0-511". E.g. "0d-0d" is "0-511".
Examples: Examples:
"local_fs:0-32767:zero_mbrpt,zero_gpt,440-443:/tmp/template.iso" "local_fs:0-32767:zero_mbrpt,zero_gpt,440-443:/tmp/template.iso"
"imported_iso:45056d-47103d::" "imported_iso:45056d-47103d::"
-boot_image "any"|"isolinux"|"grub" -boot_image "any"|"isolinux"|"grub"
"discard"|"keep"|"patch"|"replay"|"show_status"| "discard"|"keep"|"patch"|"replay"|"show_status"|
bootspec|"next" bootspec|"next"
Define the equipment of the emerging filesystem with boot entry po ints. Define the equipment of the emerging filesystem with boot entry po ints.
With systems which boot via BIOS or EFI this is a set of El To With systems which boot via BIOS or EFI this is a set of El Torito
rito boot images, possibly MBR boot images, possibly MBR
boot code, and possibly partition tables of type MBR, GPT, or APM. boot code, and possibly partition tables of type MBR, GPT, or APM
Such file sets get produced . Such file sets get produced
by boot loader systems like ISOLINUX or GRUB. by boot loader systems like ISOLINUX or GRUB.
Each -boot_image command has two parameters: type and setting. Mor e than one -boot_image command Each -boot_image command has two parameters: type and setting. Mor e than one -boot_image command
may be used to define the handling of one or more boot images. Seq uence matters. may be used to define the handling of one or more boot images. Seq uence matters.
Types isolinux and grub care for known peculiarities. Type any ma kes no assumptions about the Types isolinux and grub care for known peculiarities. Type any makes no assumptions about the
origin of the boot images. origin of the boot images.
When loading an ISO filesystem, system area and El Torito bo When loading an ISO filesystem, system area and El Torito boot i
ot images get loaded, too. The mages get loaded, too. The
default behavior is not to write loaded El Torito boot images and default behavior is not to write loaded El Torito boot images
to write the loaded system and to write the loaded system
area content without alterations. area content without alterations.
discard gives up the El Torito boot catalog and its boot images. regardless whether loaded from discard gives up the El Torito boot catalog and its boot images. regardless whether loaded from
an ISO filesystem or defined by commands. Any BIOS or EFI related boot options get revoked. an ISO filesystem or defined by commands. Any BIOS or EFI rel ated boot options get revoked.
Nevertheless, loaded system area data stay valid. If desired, they have to be erased by Nevertheless, loaded system area data stay valid. If desired, they have to be erased by
-boot_image any system_area=/dev/zero -boot_image any system_area=/dev/zero
keep keeps or copies El Torito boot images unaltered and writes a new catalog. keep keeps or copies El Torito boot images unaltered and writes a new catalog.
patch applies patching to existing El Torito boot images if they s eem to bear a boot info table. patch applies patching to existing El Torito boot images if they s eem to bear a boot info table.
A boot info table needs to be patched when the boot image gets A boot info table needs to be patched when the boot image gets new
newly introduced into the ISO ly introduced into the ISO
image or if an existing image gets relocated. This is automatical image or if an existing image gets relocated. This is automatica
ly done if type "isolinux" or lly done if type "isolinux" or
"grub" is given, but not with "any". "grub" is given, but not with "any".
If patching is enabled, then boot images from previous session If patching is enabled, then boot images from previous sessions wi
s will be checked whether they ll be checked whether they
seem to bear a boot info table. If not, then they stay unpatched. seem to bear a boot info table. If not, then they stay unpatched.
This check is not infallible. This check is not infallible.
So if you do know that the images need no patching, use "any" "k So if you do know that the images need no patching, use "any" "kee
eep". "grub" "patch" will not p". "grub" "patch" will not
patch EFI images (platform_id=0xef). patch EFI images (platform_id=0xef).
replay is a more modern version of "patch", which not only cares f replay is a more modern version of "patch", which not only car
or existing El Torito boot es for existing El Torito boot
equipment but also for the recognizable boot provisions in th equipment but also for the recognizable boot provisions in the Sy
e System Area. It discards any stem Area. It discards any
existing -boot_image setting and executes the commands proposed existing -boot_image setting and executes the commands propose
by command -report_el_torito d by command -report_el_torito
"cmd". "cmd".
This action will only succeed if the file objects mention This action will only succeed if the file objects mentioned
ed in the output of command in the output of command
-report_el_torito "cmd" are still available. Do not remove or ren -report_el_torito "cmd" are still available. Do not remove or
ame boot image files after rename boot image files after
-indev. -indev.
Drop unknown El Torito: -boot_image "any" "discard" Drop unknown El Torito: -boot_image "any" "discard"
Maintain recognizable stuff: -boot_image "any" "replay" Maintain recognizable stuff: -boot_image "any" "replay"
El Torito only for GRUB: -boot_image "grub" "patch" El Torito only for GRUB: -boot_image "grub" "patch"
El Torito only for ISOLINUX: -boot_image "isolinux" "patch" El Torito only for ISOLINUX: -boot_image "isolinux" "patch"
show_status will print what is known about the loaded boot images and their designated fate. show_status will print what is known about the loaded boot images and their designated fate.
A bootspec is a word of the form name=value. It is used to des A bootspec is a word of the form name=value. It is used to describ
cribe the parameters of a boot e the parameters of a boot
feature. The names "dir", "bin_path", "efi_path" lead to El To feature. The names "dir", "bin_path", "efi_path" lead to El
rito bootable images. Name Torito bootable images. Name
"system_area" activates a given file as MBR or other disk header. "system_area" activates a given file as MBR or other disk header.
On all media types this is possible within the first session. I On all media types this is possible within the first session. In f
n further sessions an existing urther sessions an existing
boot image can get replaced by a new one, but depending on the med boot image can get replaced by a new one, but depending on th
ia type this may have few e media type this may have few
effect at boot time. See above. effect at boot time. See above.
El Torito boot images have to be added to the ISO image by norm El Torito boot images have to be added to the ISO image by normal
al means (image loading, -map, means (image loading, -map,
-add, ...). In case of ISOLINUX the files should reside either in -add, ...). In case of ISOLINUX the files should reside either in
ISO image directory /isolinux ISO image directory /isolinux
or in /boot/isolinux . In that case it suffices to use as bootsp or in /boot/isolinux . In that case it suffices to use as bootspe
ec the text "dir=/isolinux" or c the text "dir=/isolinux" or
"dir=/boot/isolinux". E.g.: "dir=/boot/isolinux". E.g.:
-boot_image isolinux dir=/boot/isolinux -boot_image isolinux dir=/boot/isolinux
which bundles these individual settings: which bundles these individual settings:
-boot_image isolinux bin_path=/boot/isolinux/isolinux.bin -boot_image isolinux bin_path=/boot/isolinux/isolinux.bin
-boot_image isolinux cat_path=/boot/isolinux/boot.cat -boot_image isolinux cat_path=/boot/isolinux/boot.cat
-boot_image isolinux load_size=2048 -boot_image isolinux load_size=2048
-boot_image any boot_info_table=on -boot_image any boot_info_table=on
An El Torito boot catalog file gets inserted into the ISO image wi An El Torito boot catalog file gets inserted into the ISO image w
th address cat_path= with the ith address cat_path= with the
first -boot_image "any" "next" or at -commit time. It is su first -boot_image "any" "next" or at -commit time. It is subjec
bject to normal -overwrite and t to normal -overwrite and
-reassure processing if there is already a file with the same name -reassure processing if there is already a file with the same nam
. The catalog lists the boot e. The catalog lists the boot
images and is read by the boot facility to choose one of images and is read by the boot facility to choose one of the b
the boot images. But it is not oot images. But it is not
necessary that it appears in the directory tree at all. One may necessary that it appears in the directory tree at all. O
hide it in all trees by ne may hide it in all trees by
cat_hidden=on. Other possible values are "iso_rr", "joliet", "hf cat_hidden=on. Other possible values are "iso_rr", "joliet", "hfs
splus", and the default "off". plus", and the default "off".
The timestamps of the boot catalog file are refreshed at commit The timestamps of the boot catalog file are refreshed at comm
time. Command -volume_date it time. Command -volume_date
"uuid" can be used to set their value. "uuid" can be used to set their value.
bin_path= depicts an El Torito boot image file, a binary program which is to be started by the bin_path= depicts an El Torito boot image file, a binary program w hich is to be started by the
hardware boot facility (e.g. the BIOS) at boot time. hardware boot facility (e.g. the BIOS) at boot time.
efi_path= depicts an El Torito boot image file that is ready for E FI booting. This is normally a efi_path= depicts an El Torito boot image file that is ready for E FI booting. This is normally a
FAT filesystem image not larger than 65535 blocks of 512 bytes (= FAT filesystem image not larger than 65535 blocks of 512 bytes (=
32 MiB - 512). Its load_size 32 MiB - 512). Its load_size
is determined automatically, no boot info table gets written, no is determined automatically, no boot info table gets written,
boot medium gets emulated, no boot medium gets emulated,
platform_id is 0xef. platform_id is 0xef.
emul_type= can be one of "no_emulation", "hard_disk", "diskette" emul_type= can be one of "no_emulation", "hard_disk", "diskette".
. It controls the boot medium It controls the boot medium
emulation code of a boot image. The default "no_emulation" is s emulation code of a boot image. The default "no_emulation" i
uitable for ISOLINUX, GRUB, s suitable for ISOLINUX, GRUB,
FreeBSD cdboot. FreeBSD cdboot.
load_size= is a value which depends on the boot image. Default load_size= is a value which depends on the boot image. Default
2048 should be overridden only is 2048 which matches the
if a better value is known. expectations of most boot images. The special value "full" m
eans the full size of the boot
image file rounded up to a multiple of 2048 bytes. Maximum is 33,5
52,384 bytes.
boot_info_table=on causes address patching to bytes 8 to 63 of the boot image which is given by boot_info_table=on causes address patching to bytes 8 to 63 of the boot image which is given by
"any" "bin_path=". "boot_info_table=off" disables this patching. "any" "bin_path=". "boot_info_table=off" disables this patching.
grub2_boot_info=on causes address patching to byte 2548 of th e boot image which is given by grub2_boot_info=on causes address patching to byte 2548 of th e boot image which is given by
"any" "bin_path=". The address is written as 64 bit little-endian number. It is the 2KB block "any" "bin_path=". The address is written as 64 bit little-endian number. It is the 2KB block
address of the boot image content, multiplied by 4, and then incremented by 5. address of the boot image content, multiplied by 4, and then incremented by 5.
"grub2_boot_info=off" disables this patching. "grub2_boot_info=off" disables this patching.
platform_id= defines by a hexadecimal or decimal number the Platf orm ID of the boot image. platform_id= defines by a hexadecimal or decimal number the Platf orm ID of the boot image.
"0x00" is 80x86 PC-BIOS, "0x01" is PowerPC, "0x02" is Mac, "0xef" is EFI (decimal "239"). "0x00" is 80x86 PC-BIOS, "0x01" is PowerPC, "0x02" is Mac, "0xef" is EFI (decimal "239").
id_string=text|56_hexdigits defines the ID string of the boot catalog section where the boot id_string=text|56_hexdigits defines the ID string of the boot catalog section where the boot
image will be listed. If the value consists of 56 characters [0-9A -Fa-f] then it is converted image will be listed. If the value consists of 56 characters [0-9A -Fa-f] then it is converted
skipping to change at line 2161 skipping to change at line 2181
A string of 32 hex digits, or a RFC 4122 compliant GUID string ma y be used to set the disk GUID A string of 32 hex digits, or a RFC 4122 compliant GUID string ma y be used to set the disk GUID
directly. UEFI prescribes the first three components of a R FC 4122 GUID string to be directly. UEFI prescribes the first three components of a R FC 4122 GUID string to be
byte-swapped in the binary representation: byte-swapped in the binary representation:
E.g. gpt_disk_guid=2303cd2a-73c7-424a-a298-25632d a7f446 equals E.g. gpt_disk_guid=2303cd2a-73c7-424a-a298-25632d a7f446 equals
gpt_disk_guid=2acd0323c7734a42a29825632da7f446 gpt_disk_guid=2acd0323c7734a42a29825632da7f446
The partition GUIDs get generated by minimally varying the disk GU ID. The partition GUIDs get generated by minimally varying the disk GU ID.
-boot_image any part_like_isohybrid=on enables -boot_image isolinu x partition_entry= even if no -boot_image any part_like_isohybrid=on enables -boot_image isolinu x partition_entry= even if no
-boot_image isolinux system_area= is given. No MBR partition of type 0xee emerges, even if GPT -boot_image isolinux system_area= is given. No MBR partition of type 0xee emerges, even if GPT
gets produced. Gaps between GPT and APM partitions will not be filled by more partitions. gets produced. Gaps between GPT and APM partitions will not be filled by more partitions.
Appended partitions get mentioned in APM if other APM partitions e merge. Appended partitions get mentioned in APM if other APM partitions e merge.
-boot_image any iso_mbr_part_type=number sets the partition t
ype of the MBR partition which
represents the ISO or at least protects it. Number may be 0x00 t
o 0xff. The text "default"
re-enables the default types of the various occasions to create an
ISO MBR partition.
This is without effect if no such partition emerges by other set
tings or if the partition type
is prescribed mandatorily like 0xee for GPT protective MBR or 0x96
for CHRP.
grub2_mbr=disk_path works like "any" system_area= with additional patching for modern GRUB MBRs. grub2_mbr=disk_path works like "any" system_area= with additional patching for modern GRUB MBRs.
The content start address of the first boot image is converted to The content start address of the first boot image is converted
a count of 512 byte blocks, to a count of 512 byte blocks,
and an offset of 4 is added. The result is written as 64 bi and an offset of 4 is added. The result is written as 64 bit l
t little-endian number to byte ittle-endian number to byte
address 0x1b0. address 0x1b0.
This feature can be revoked either by grub2_mbr= with empty disk path, or by submitting a This feature can be revoked either by grub2_mbr= with empty disk path, or by submitting a
disk_path via system_area=. disk_path via system_area=.
partition_table=on causes a simple partition table to be writte n into bytes 446 to 511 of the partition_table=on causes a simple partition table to be written i nto bytes 446 to 511 of the
System Area. System Area.
With type "isolinux" it shows a partition that begins at byte 0 an With type "isolinux" it shows a partition that begins at byte
d it causes the LBA of the 0 and it causes the LBA of the
first boot image to be written into the MBR. For the first s first boot image to be written into the MBR. For the first sessio
ession this works only if also n this works only if also
"system_area=" and "bin_path=" or "dir=" is given. "system_area=" and "bin_path=" or "dir=" is given.
With types "any" and "grub" it shows a single partition which star ts at byte 512 and ends where With types "any" and "grub" it shows a single partition which sta rts at byte 512 and ends where
the ISO image ends. This works with or without system_area= or bo ot image. the ISO image ends. This works with or without system_area= or bo ot image.
Bootspecs chrp_boot_part=, prep_boot_part=, and efi_boot_part= o verwrite this entry in the MBR Bootspecs chrp_boot_part=, prep_boot_part=, and efi_boot_part= ove rwrite this entry in the MBR
partition table. partition table.
If types "isolinux" or "grub" are set to "patch", then "partition_ table=on" is activated without If types "isolinux" or "grub" are set to "patch", then "partition_ table=on" is activated without
new boot image. In this case the existing System Area gets chec new boot image. In this case the existing System Area gets checke
ked whether it bears addresses d whether it bears addresses
and sizes as if it had been processed by "partition_table=on". If and sizes as if it had been processed by "partition_table=on". If
so, then those parameters get so, then those parameters get
updated when the new System Area is written. updated when the new System Area is written.
Special "system_area=/dev/zero" causes 32k of NUL-bytes. Use th is to discard an MBR which was Special "system_area=/dev/zero" causes 32k of NUL-bytes. Use this to discard an MBR which was
loaded with the ISO image. loaded with the ISO image.
appended_part_as=gpt marks partitions from -append_partition in GP T rather than in MBR. In this appended_part_as=gpt marks partitions from -append_partition in G PT rather than in MBR. In this
case the MBR shows a single partition of type 0xee which covers th e whole output data. case the MBR shows a single partition of type 0xee which covers th e whole output data.
appended_part_as=mbr is the default. Appended partitions get appended_part_as=mbr is the default. Appended partitions get mark
marked in GPT only if GPT is ed in GPT only if GPT is
produced because of other settings. If given explicitly, this cle produced because of other settings. If given explicitly, this c
ars setting "gpt" and "apm". lears setting "gpt" and "apm".
Nevertheless "apm" may be added to "mbr". Nevertheless "apm" may be added to "mbr".
appended_part_as=apm marks partitions from -append_partition i n APM additionally to "mbr" or appended_part_as=apm marks partitions from -append_partition in AP M additionally to "mbr" or
"gpt". "gpt".
By default, appended partitions get marked in APM only if APM is produced because of other By default, appended partitions get marked in APM only if AP M is produced because of other
options together with part_like_isohybrid="on". options together with part_like_isohybrid="on".
chrp_boot_part=on causes a single partition in MBR which covers th e whole ISO image and has type chrp_boot_part=on causes a single partition in MBR which covers th e whole ISO image and has type
0x96. This is not compatible with any other feature that produces MBR partition entries. It 0x96. This is not compatible with any other feature that prod uces MBR partition entries. It
makes GPT unrecognizable. makes GPT unrecognizable.
prep_boot_part=disk_path inserts the content of a data file int prep_boot_part=disk_path inserts the content of a data file into t
o the image and marks it by an he image and marks it by an
MBR partition of type 0x41. The parts of the ISO image before and MBR partition of type 0x41. The parts of the ISO image before an
after this partition will be d after this partition will be
covered by further MBR partitions. The data file is supposed to c ontain ELF executable code. covered by further MBR partitions. The data file is supposed to c ontain ELF executable code.
efi_boot_part=disk_path inserts the content of a data file into t efi_boot_part=disk_path inserts the content of a data file into th
he image and marks it by a GPT e image and marks it by a GPT
partition. If not chrp_boot_part=on, then the first partition in M partition. If not chrp_boot_part=on, then the first partition
BR will have type 0xee to in MBR will have type 0xee to
announce the presence of GPT. The data file is supposed to contai n a FAT filesystem. announce the presence of GPT. The data file is supposed to contai n a FAT filesystem.
Instead of a disk_path, the word --efi-boot-image may be given. It exposes in GPT the content Instead of a disk_path, the word --efi-boot-image may be given. I t exposes in GPT the content
of the first El Torito EFI boot image as EFI system partition. EFI boot images are introduced by of the first El Torito EFI boot image as EFI system partition. EFI boot images are introduced by
bootspec efi_path=. The affected EFI boot image cannot show u p in HFS+ because it is stored bootspec efi_path=. The affected EFI boot image cannot show up in HFS+ because it is stored
outside the HFS+ partition. outside the HFS+ partition.
partition_offset=2kb_block_adr causes a partition table with a sin partition_offset=2kb_block_adr causes a partition table with a s
gle partition that begins at ingle partition that begins at
the given block address. This is counted in 2048 byte blocks, the given block address. This is counted in 2048 byte blocks, not
not in 512 byte blocks. If the in 512 byte blocks. If the
block address is non-zero then it must be at least 16. A non-zero block address is non-zero then it must be at least 16. A non-ze
partition offset causes two ro partition offset causes two
superblocks to be generated and two sets of directory trees. Th superblocks to be generated and two sets of directory trees. The i
e image is then mountable from mage is then mountable from
its absolute start as well as from the partition start. its absolute start as well as from the partition start.
The offset value of an ISO image gets preserved when a new sessio n is added. So the value The offset value of an ISO image gets preserved when a new s ession is added. So the value
defined here is only in effect if a new ISO image gets written. defined here is only in effect if a new ISO image gets written.
partition_hd_cyl=number gives the number of heads per cylin der for the partition table. 0 partition_hd_cyl=number gives the number of heads per cylinder for the partition table. 0
chooses a default value. Maximum is 255. chooses a default value. Maximum is 255.
partition_sec_hd=number gives the number of sectors per head for t he partition table. 0 chooses partition_sec_hd=number gives the number of sectors per head for the partition table. 0 chooses
a default value. Maximum is 63. a default value. Maximum is 63.
The product partition_sec_hd * partition_hd_cyl * 512 is th The product partition_sec_hd * partition_hd_cyl * 512 is the cy
e cylinder size. It should be linder size. It should be
divisible by 2048 in order to make exact alignment possible. W divisible by 2048 in order to make exact alignment possible.
ith appended partitions and With appended partitions and
"appended_part_as=gpt" there is no limit for the number of cylind "appended_part_as=gpt" there is no limit for the number of cylinde
ers. Else there may be at most rs. Else there may be at most
1024 of them. If the cylinder size is too small to stay below 1024 of them. If the cylinder size is too small to stay bel
the limit, then appropriate ow the limit, then appropriate
values of partition_hd_cyl are chosen with partition_sec_hd 32 values of partition_hd_cyl are chosen with partition_sec_hd 32 or
or 63. If the image is larger 63. If the image is larger
than 8,422,686,720 bytes, then the cylinder size constraints canno t be fulfilled for MBR. than 8,422,686,720 bytes, then the cylinder size constraints canno t be fulfilled for MBR.
partition_cyl_align=mode controls image size alignment to an integ partition_cyl_align=mode controls image size alignment to an inte
er number of cylinders. It is ger number of cylinders. It is
prescribed by isohybrid specs and it seems to please progra prescribed by isohybrid specs and it seems to please program fd
m fdisk. Cylinder size must be isk. Cylinder size must be
divisible by 2048. Images larger than 8,323,596,288 bytes cannot divisible by 2048. Images larger than 8,323,596,288 bytes cann
be aligned in MBR partition ot be aligned in MBR partition
table. table.
Mode "auto" is default. Alignment by padding happens only with "is olinux" "partition_table=on". Mode "auto" is default. Alignment by padding happens only with "is olinux" "partition_table=on".
Mode "on" causes alignment by padding with "partition_table=on " for any type. Mode "all" is Mode "on" causes alignment by padding with "partition_table=on" fo r any type. Mode "all" is
like "on" but also pads up partitions from -append_partition to an aligned size. like "on" but also pads up partitions from -append_partition to an aligned size.
Mode "off" disables alignment for any type. Mode "off" disables alignment for any type.
mbr_force_bootable=mode enforces an MBR partition with "bootable/a mbr_force_bootable=mode enforces an MBR partition with "bootabl
ctive" flag if options like e/active" flag if options like
partition_table= or grub2_mbr= indicate production of a bootabl partition_table= or grub2_mbr= indicate production of a bootable M
e MBR. These options normally BR. These options normally
cause the flag to be set if there is an MBR partition of type othe cause the flag to be set if there is an MBR partition of type o
r than 0xee or 0xef. If no ther than 0xee or 0xef. If no
such partition exists, then no bootflag is set, unless mbr_force_ such partition exists, then no bootflag is set, unless mbr_force_b
bootable= forces creation of a ootable="on" forces creation
dummy partition of type 0x00 which covers only the first block of of a dummy partition of type 0x00 which covers only the first bloc
the ISO image. k of the ISO image.
If no bootable MBR is indicated and a partition gets crea
ted by -append_partition, then
mbr_force_bootable="on" causes a bootflag like it would do with a
bootable MBR.
mips_path=iso_rr_path declares a data file in the image to be a MI PS Big Endian boot file and mips_path=iso_rr_path declares a data file in the image to be a MI PS Big Endian boot file and
causes production of a MIPS Big Endian Volume Header. This is mutu ally exclusive with production causes production of a MIPS Big Endian Volume Header. This is mutu ally exclusive with production
of other boot blocks like MBR. It will overwrite the first 512 by tes of any data provided by of other boot blocks like MBR. It will overwrite the first 512 by tes of any data provided by
system_area=. Up to 15 boot files can be declared by mips_path=. system_area=. Up to 15 boot files can be declared by mips_path=.
mipsel_path=iso_rr_path declares a data file in the image to be the MIPS Little Endian boot mipsel_path=iso_rr_path declares a data file in the image to be the MIPS Little Endian boot
file. This is mutually exclusive with other boot blocks. It will overwrite the first 512 bytes file. This is mutually exclusive with other boot blocks. It will overwrite the first 512 bytes
of any data provided by system_area=. Only a single boot file can be declared by mipsel_path=. of any data provided by system_area=. Only a single boot file can be declared by mipsel_path=.
sparc_label=text causes the production of a SUN Disk Label with the given text as ASCII label. sparc_label=text causes the production of a SUN Disk Label with the given text as ASCII label.
Partitions 2 to 8 may be occupied by appended images. Partition 1 will always be the ISO image. Partitions 2 to 8 may be occupied by appended images. Partition 1 will always be the ISO image.
See command -append_partition. The first 512 bytes of any data pr ovided by system_area= will be See command -append_partition. The first 512 bytes of any data pr ovided by system_area= will be
skipping to change at line 2576 skipping to change at line 2603
If ":short" is appended to the drive choosing word, then only a sh ort summary of drive state and If ":short" is appended to the drive choosing word, then only a sh ort summary of drive state and
medium content is printed. medium content is printed.
As further difference to -toc, this command does not emit FAILURE events if the desired drive is As further difference to -toc, this command does not emit FAILURE events if the desired drive is
not acquired. not acquired.
-mount_cmd drive entity id path -mount_cmd drive entity id path
Emit an appropriate command line for mounting the ISO session indi cated by drive, entity and id. Emit an appropriate command line for mounting the ISO session indi cated by drive, entity and id.
The result will be different on GNU/Linux and on FreeBSD or NetBSD . The result will be different on GNU/Linux and on FreeBSD or NetBSD .
drive can be "indev" or "outdev" to indicate already acquired driv es, or it can be the path of a drive can be "indev" or "outdev" to indicate already acquired driv es, or it can be the path of a
not yet acquired drive. Prefix "stdio:" for non-MMC drives is not mandatory. not yet acquired drive. Prefix "stdio:" for non-MMC drives is not mandatory.
entity must be either "sbsector" with the superblock sector addres For entity and id, see also command -load. They must be either "sb
s as id, or "track" with a sector" with the superblock
track number as id, or "session" with a session number, or "volid" sector address as id, or "track" with a track number as id, or "s
with a search pattern for the ession" with a session number,
volume id, or "auto" with any text as id. or "volid" with a search pattern for the volume id, or "auto" with
which any text as id mounts
the first track of the last session.
path will be used as mount point and must already exist as a direc tory on disk. path will be used as mount point and must already exist as a direc tory on disk.
The command gets printed to the result channel. See command -mount for direct execution of this The command gets printed to the result channel. See command -moun t for direct execution of this
command. command.
-mount_opts option[:option...] -mount_opts option[:option...]
Set options which influence -mount and -mount_cmd. Currently th Set options which influence -mount and -mount_cmd. Currently there
ere is only option "exclusive" is only option "exclusive"
which is default and its counterpart "shared". The latter causes x which is default and its counterpart "shared". The latter cau
orriso not to give up the ses xorriso not to give up the
affected drive with command -mount. On GNU/Linux it adds mount affected drive with command -mount. On GNU/Linux it adds mount op
option "loop" which may enable tion "loop" which may enable
mounting of several sessions of the same block device at the same mounting of several sessions of the same block device at the same
time. One should not write to time. One should not write to
a mounted optical medium, of course. Take care to umount all sessi ons before ejecting. a mounted optical medium, of course. Take care to umount all sessi ons before ejecting.
-session_string drive entity id format -session_string drive entity id format
Print to the result channel a text which gets composed according t o format and the parameters of Print to the result channel a text which gets composed according t o format and the parameters of
the addressed session. the addressed session.
Formats "linux:"path or "freebsd:"path produce the output of -moun t_cmd for the given operating Formats "linux:"path or "freebsd:"path produce the output of -mou nt_cmd for the given operating
systems. systems.
In other texts xorriso will substitute the following parame ter names. An optional prefix In other texts xorriso will substitute the following parameter names. An optional prefix
"string:" will be removed. "string:" will be removed.
"%device%" will be substituted by the mountable device path of the drive address. "%device%" will be substituted by the mountable device path of the drive address.
"%sbsector%" will be substituted by the session start sector. "%sbsector%" will be substituted by the session start sector.
"%track%", "%session%", "%volid%" will be substituted by track num ber, session number, or volume "%track%", "%session%", "%volid%" will be substituted by track num ber, session number, or volume
id of the depicted session. id of the depicted session.
-print_size -print_size
Print the foreseeable consumption of 2048 byte blocks by next -co Print the foreseeable consumption of 2048 byte blocks by next -com
mmit. This can last a while as mit. This can last a while as
a -commit gets prepared and only in last moment is revoked by this a -commit gets prepared and only in last moment is revoked by thi
command. The result depends s command. The result depends
on several settings and also on the kind of output device. If no -jidgo options are set and not on several settings and also on the kind of output device. If no -jidgo options are set and not
command -as "mkisofs" was used, then -padding (300 kB by default) is not counted as part of the command -as "mkisofs" was used, then -padding (300 kB by default) is not counted as part of the
image size. image size.
If an El Torito boot image file is already depicted, then com If an El Torito boot image file is already depicted, then comma
mand -print_size automatically nd -print_size automatically
executes -boot_image "any" "next". This means that the properties executes -boot_image "any" "next". This means that the propertie
of that boot image cannot be s of that boot image cannot be
edited by subsequent commands. edited by subsequent commands.
-tell_media_space -tell_media_space
Print available space on the output medium and the free s pace after subtracting already Print available space on the output medium and the free spac e after subtracting already
foreseeable consumption by next -commit. foreseeable consumption by next -commit.
Note that the title of the prediction "After commit :" is misleadi Note that the title of the prediction "After commit :" is misle
ng. It is rather the space ading. It is rather the space
that may still be filled in this session without making the that may still be filled in this session without making the nex
next -commit fail from medium t -commit fail from medium
overflow. overflow.
The free space after the next -commit might be smaller by several MB. This depends on medium The free space after the next -commit might be smaller by sever al MB. This depends on medium
type, number of recorded sessions, and drive habits. type, number of recorded sessions, and drive habits.
-pvd_info -pvd_info
Print various ID strings and timestamps which can be found in load ed ISO images. Some of the IDs Print various ID strings and timestamps which can be found in load ed ISO images. Some of the IDs
may be changed by commands like -volid or -publisher. For these may be changed by commands like -volid or -publisher. For th
IDs -pvd_info reports what ese IDs -pvd_info reports what
would be written with the next -commit. The timestamps get not would be written with the next -commit. The timestamps get not a
automatically propagated from utomatically propagated from
loaded image to newly written image. The ones for new images may b e set by command -volume_date. loaded image to newly written image. The ones for new images may b e set by command -volume_date.
See there for the meaning of the particular timestamps. See there for the meaning of the particular timestamps.
-report_el_torito mode -report_el_torito mode
With mode plain print a report about the information found in the El Torito boot catalog of the With mode plain print a report about the information found in the El Torito boot catalog of the
loaded ISO image. loaded ISO image.
With mode help print a text which explains the meaning of the line s put out by "plain". With mode help print a text which explains the meaning of the line s put out by "plain".
Mode cmd tries to print the xorriso commands which are necessary Mode cmd tries to print the xorriso commands which are neces
to produce the found boot sary to produce the found boot
equipment: disk identifiers, El Torito boot images, and Sys equipment: disk identifiers, El Torito boot images, and System
tem Area. Disk identifiers are Area. Disk identifiers are
strings which the booting operating system might use to find the I strings which the booting operating system might use to find th
SO filesystem from where it e ISO filesystem from where it
comes. Currently known is the use of volume id and modification da te. comes. Currently known is the use of volume id and modification da te.
The intended use case is modification of the filesystem by having -indev and -outdev pointing to The intended use case is modification of the filesystem by having -indev and -outdev pointing to
different images or drives. The result might be insufficient, if different images or drives. The result might be insufficient, if
the found equipment cannot be the found equipment cannot be
produced by xorriso. Various SORRY events may arise in this case, produced by xorriso. Various SORRY events may arise in this case,
but it is not guaranteed that but it is not guaranteed that
xorriso recognizes all its insufficiencies. xorriso recognizes all its insufficiencies.
Mode as_mkisofs tries to print the xorriso -as mkisofs options, wh Mode as_mkisofs tries to print the xorriso -as mkisofs options,
ich are necessary to produce which are necessary to produce
the found equipment. The intended use case is to use the mo the found equipment. The intended use case is to use the mounte
unted filesystem as input tree d filesystem as input tree
together with the printed options. together with the printed options.
-report_system_area mode -report_system_area mode
With mode plain print a report about the information found in the With mode plain print a report about the information found in the
System Area of the loaded ISO System Area of the loaded ISO
image. The report consists of zero to many lines with a header image. The report consists of zero to many lines with a header tex
text, a colon, and information t, a colon, and information
text. text.
With mode help print a text which explains the meaning of the line With mode help print a text which explains the meaning of the
s put out by "plain". You lines put out by "plain". You
probably will have to look for more documentation which explain probably will have to look for more documentation which explains t
s the technical details of the he technical details of the
mentioned boot facilities. mentioned boot facilities.
Modes cmd and as_mkisofs work like with command -report_el_torito. See above. Modes cmd and as_mkisofs work like with command -report_el_torito. See above.
With mode gpt_disk_guid print the GPT disk GUID of the loaded ISO With mode gpt_disk_guid print the GPT disk GUID of the loaded
in RFC 4122 text format to ISO in RFC 4122 text format to
result channel. It is not considered an error if no GPT is pr result channel. It is not considered an error if no GPT is present
esent. In this case nothing is . In this case nothing is
printed to result channel. printed to result channel.
With mode gpt_crc_of:disk_path read up to 32 KiB from the disk fil With mode gpt_crc_of:disk_path read up to 32 KiB from the disk
e with the path given after file with the path given after
the colon. Compute the GPT compliant CRC number and print it to the colon. Compute the GPT compliant CRC number and print it to th
the result channel. The number e result channel. The number
is shown like "0x690fd979". The special disk_path "-" causes read ing from standard input. is shown like "0x690fd979". The special disk_path "-" causes read ing from standard input.
With mode make_guid print a pseudo-random GUID in RFC 4122 text fo rmat to result channel. With mode make_guid print a pseudo-random GUID in RFC 4122 text fo rmat to result channel.
Navigation in ISO image and disk filesystem: Navigation in ISO image and disk filesystem:
-cd iso_rr_path -cd iso_rr_path
Change the current working directory in the ISO image. This is pr epended to iso_rr_paths which Change the current working directory in the ISO image. This is p repended to iso_rr_paths which
do not begin with '/'. do not begin with '/'.
It is possible to set the working directory to a path which does n ot exist yet in the ISO image. It is possible to set the working directory to a path which does n ot exist yet in the ISO image.
The necessary parent directories will be created when the first fi The necessary parent directories will be created when the firs
le object is inserted into t file object is inserted into
that virtual directory. Use -mkdir if you want to enforce that virtual directory. Use -mkdir if you want to enforce the
the existence of the directory existence of the directory
already at first insertion. already at first insertion.
-cdx disk_path -cdx disk_path
Change the current working directory in the local filesystem. To be prepended to disk_paths Change the current working directory in the local filesystem. To be prepended to disk_paths
which do not begin with '/'. which do not begin with '/'.
-pwd -pwd
Tell the current working directory in the ISO image. Tell the current working directory in the ISO image.
-pwdx -pwdx
Tell the current working directory in the local filesystem. Tell the current working directory in the local filesystem.
-ls iso_rr_pattern [***] -ls iso_rr_pattern [***]
List files in the ISO image which match shell patterns (i.e. wi th wildcards '*' '?' '[a-z]'). List files in the ISO image which match shell patterns (i.e. with wildcards '*' '?' '[a-z]').
If a pattern does not begin with '/' then it is compared with addr esses relative to -cd. If a pattern does not begin with '/' then it is compared with addr esses relative to -cd.
Directories are listed by their content rather than as single file item. Directories are listed by their content rather than as single file item.
Pattern expansion may be disabled by command -iso_rr_pattern. Pattern expansion may be disabled by command -iso_rr_pattern.
-lsd iso_rr_pattern [***] -lsd iso_rr_pattern [***]
Like -ls but listing directories as themselves and not by their co ntent. This resembles shell Like -ls but listing directories as themselves and not by their content. This resembles shell
command ls -d. command ls -d.
-lsl iso_rr_pattern [***] -lsl iso_rr_pattern [***]
Like -ls but also list some of the file attributes. The output format resembles shell command Like -ls but also list some of the file attributes. The output fo rmat resembles shell command
ls -ln. ls -ln.
File type 'e' indicates the El Torito boot catalog. File type 'e' indicates the El Torito boot catalog.
If the file has non-trivial ACL, then a '+' is appended to the per mission info. If the file is If the file has non-trivial ACL, then a '+' is appended to the pe rmission info. If the file is
hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A' for "hfsplus" , 'H' for multiple hiding gets hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A' for "hfsplus" , 'H' for multiple hiding gets
appended. Together with ACL it is 'i', 'j', 'a', 'h'. appended. Together with ACL it is 'i', 'j', 'a', 'h'.
-lsdl iso_rr_pattern [***] -lsdl iso_rr_pattern [***]
Like -lsd but also list some of the file attributes. The output f ormat resembles shell command Like -lsd but also list some of the file attributes. The output format resembles shell command
ls -dln. ls -dln.
-lsx disk_pattern [***] -lsx disk_pattern [***]
List files in the local filesystem which match shell patterns. Pa tterns which do not begin with List files in the local filesystem which match shell patterns. Pat terns which do not begin with
'/' are used relative to -cdx. '/' are used relative to -cdx.
Directories are listed by their content rather than as single file item. Directories are listed by their content rather than as single file item.
Pattern expansion may be disabled by command -disk_pattern. Pattern expansion may be disabled by command -disk_pattern.
-lsdx disk_pattern [***] -lsdx disk_pattern [***]
Like -lsx but listing directories as themselves and not by their c ontent. This resembles shell Like -lsx but listing directories as themselves and not by their content. This resembles shell
command ls -d. command ls -d.
-lslx disk_pattern [***] -lslx disk_pattern [***]
Like -lsx but also listing some of the file attributes. Output format resembles shell command Like -lsx but also listing some of the file attributes. Output fo rmat resembles shell command
ls -ln. ls -ln.
-lsdlx disk_pattern [***] -lsdlx disk_pattern [***]
Like -lsdx but also listing some of the file attributes. Output f ormat resembles shell command Like -lsdx but also listing some of the file attributes. Output format resembles shell command
ls -dln. ls -dln.
-getfacl iso_rr_pattern [***] -getfacl iso_rr_pattern [***]
Print the access permissions of the given files in the ISO i Print the access permissions of the given files in the ISO image
mage using the format of shell using the format of shell
command getfacl. If a file has no ACL then it gets fabricated from command getfacl. If a file has no ACL then it gets fabricated fr
the -chmod settings. A file om the -chmod settings. A file
may have a real ACL if it was introduced into the ISO image while command -acl was set to "on". may have a real ACL if it was introduced into the ISO image while command -acl was set to "on".
-getfacl_r iso_rr_pattern [***] -getfacl_r iso_rr_pattern [***]
Like -gefacl but listing recursively the whole file trees undernea th eventual directories. Like -gefacl but listing recursively the whole file trees undernea th eventual directories.
-getfattr iso_rr_pattern [***] -getfattr iso_rr_pattern [***]
Print the xattr of the given files in the ISO image. If a file ha s no such xattr then noting is Print the xattr of the given files in the ISO image. If a file ha s no such xattr then noting is
printed for it. printed for it.
-getfattr_r iso_rr_pattern [***] -getfattr_r iso_rr_pattern [***]
skipping to change at line 2744 skipping to change at line 2772
-du iso_rr_pattern [***] -du iso_rr_pattern [***]
Recursively list size of directories and files in the ISO image wh ich match one of the patterns. Recursively list size of directories and files in the ISO image wh ich match one of the patterns.
similar to shell command du -k. similar to shell command du -k.
-dus iso_rr_pattern [***] -dus iso_rr_pattern [***]
List size of directories and files in the ISO image which match on e of the patterns. Similar to List size of directories and files in the ISO image which match on e of the patterns. Similar to
shell command du -sk. shell command du -sk.
-dux disk_pattern [***] -dux disk_pattern [***]
Recursively list size of directories and files in the local filesy stem which match one of the Recursively list size of directories and files in the local fil esystem which match one of the
patterns. Similar to shell command du -k. patterns. Similar to shell command du -k.
-dusx disk_pattern [***] -dusx disk_pattern [***]
List size of directories and files in the local filesystem wh ich match one of the patterns. List size of directories and files in the local filesystem which match one of the patterns.
Similar to shell command du -sk. Similar to shell command du -sk.
-findx disk_path [-name pattern] [-type t] [-exec action [params]] -- -findx disk_path [-name pattern] [-type t] [-exec action [params]] --
Like -find but operating on local filesystem and not on the ISO im age. This is subject to the Like -find but operating on local filesystem and not on the ISO image. This is subject to the
settings of -follow. settings of -follow.
-findx accepts the same -type parameters as -find. Additionally i -findx accepts the same -type parameters as -find. Additionally it
t recognizes type "mountpoint" recognizes type "mountpoint"
(or "m") which matches subdirectories which reside on a different (or "m") which matches subdirectories which reside on a differen
device than their parent. It t device than their parent. It
never matches the disk_path given as start address for -findx. never matches the disk_path given as start address for -findx.
-findx accepts the -exec actions as does -find. But except the following few actions it will -findx accepts the -exec actions as does -find. But except the fol lowing few actions it will
always perform action "echo". always perform action "echo".
in_iso reports the path if its counterpart exists in the ISO image . For this the disk_path of in_iso reports the path if its counterpart exists in the ISO ima ge. For this the disk_path of
the -findx command gets replaced by the iso_rr_path given as param eter. the -findx command gets replaced by the iso_rr_path given as param eter.
E.g.: -findx /home/thomas -exec in_iso /thomas_on_cd -- E.g.: -findx /home/thomas -exec in_iso /thomas_on_cd --
not_in_iso reports the path if its counterpart does not exis t in the ISO image. The report not_in_iso reports the path if its counterpart does not exist in the ISO image. The report
format is the same as with command -compare. format is the same as with command -compare.
add_missing iso_rr_path_start adds the counterpart if it does not yet exist in the ISO image and add_missing iso_rr_path_start adds the counterpart if it does not yet exist in the ISO image and
marks it for "rm_merge" as non-removable. marks it for "rm_merge" as non-removable.
E.g.: -findx /home/thomas -exec add_missing /thomas_on_cd -- E.g.: -findx /home/thomas -exec add_missing /thomas_on_cd --
is_full_in_iso reports if the counterpart in the ISO image contain s files. To be used with -type is_full_in_iso reports if the counterpart in the ISO image contain s files. To be used with -type
"m" to report mount points. "m" to report mount points.
empty_iso_dir deletes all files from the counterpart in the ISO im age. To be used with -type "m" empty_iso_dir deletes all files from the counterpart in the ISO im age. To be used with -type "m"
to truncate mount points. to truncate mount points.
estimate_size prints a lower and an upper estimation of the nu mber of blocks which the found estimate_size prints a lower and an upper estimation of the number of blocks which the found
files together will occupy in the emerging ISO image. This does n ot account for the superblock, files together will occupy in the emerging ISO image. This does n ot account for the superblock,
for the directories in the -findx path, or for image padding. for the directories in the -findx path, or for image padding.
list_extattr mode prints a script to the result channel, w list_extattr mode prints a script to the result channel, which
hich would use FreeBSD command would use FreeBSD command
setextattr to set the file's xattr name-value pairs of user n setextattr to set the file's xattr name-value pairs of us
amespace. See -find for a er namespace. See -find for a
description of parameter mode. description of parameter mode.
E.g. -exec list_extattr e -- E.g. -exec list_extattr e --
-compare disk_path iso_rr_path -compare disk_path iso_rr_path
Compare attributes and eventual data file content of a fileobject in the local filesystem with a Compare attributes and eventual data file content of a fileobject in the local filesystem with a
file object in the ISO image. The iso_rr_path may well point to an file object in the ISO image. The iso_rr_path may well point to
image file object which is an image file object which is
not yet committed, i.e. of which the data content still resides not yet committed, i.e. of which the data content still resides in
in the local filesystem. Such the local filesystem. Such
data content is prone to externally caused changes. data content is prone to externally caused changes.
If iso_rr_path is empty then disk_path is used as path in the ISO image too. If iso_rr_path is empty then disk_path is used as path in the ISO image too.
Differing attributes are reported in detail, differing content i s summarized. Both to the Differing attributes are reported in detail, differing conte nt is summarized. Both to the
result channel. In case of no differences no result lines are emit ted. result channel. In case of no differences no result lines are emit ted.
-compare_r disk_path iso_rr_path -compare_r disk_path iso_rr_path
Like -compare but working recursively. I.e. all file objects bel ow both addresses get compared Like -compare but working recursively. I.e. all file objects below both addresses get compared
whether they have counterparts below the other address and whether both counterparts match. whether they have counterparts below the other address and whether both counterparts match.
-compare_l disk_prefix iso_rr_prefix disk_path [***] -compare_l disk_prefix iso_rr_prefix disk_path [***]
Perform -compare_r with each of the disk_path parameters. iso_rr_ path will be composed from Perform -compare_r with each of the disk_path parameters. iso _rr_path will be composed from
disk_path by replacing disk_prefix by iso_rr_prefix. disk_path by replacing disk_prefix by iso_rr_prefix.
-show_stream iso_rr_path [***] -show_stream iso_rr_path [***]
Display the content stream chain of data files in the ISO im age. The chain consists of the Display the content stream chain of data files in the ISO image. The chain consists of the
iso_rr_name and one or more streams, separated by " < " marks. A stream description consists of iso_rr_name and one or more streams, separated by " < " marks. A stream description consists of
one or more texts, separated by ":" characters. The first t ext tells the stream type, the one or more texts, separated by ":" characters. The first text tells the stream type, the
following ones, if ever, describe its individual properties. Freq uently used types are: following ones, if ever, describe its individual properties. Freq uently used types are:
disk:'disk_path' for local filesystem objects. disk:'disk_path' for local filesystem objects.
image:'iso_rr_path' for ISO image file objects. image:'iso_rr_path' for ISO image file objects.
cout:'disk_path offset count' for -cut_out files. cout:'disk_path offset count' for -cut_out files.
extf:'filter_name' for external filters. extf:'filter_name' for external filters.
Example: Example:
'/abc/xyz.gz' < extf:'gzip' < disk:'/home/me/x' '/abc/xyz.gz' < extf:'gzip' < disk:'/home/me/x'
-show_stream_r iso_rr_path [***] -show_stream_r iso_rr_path [***]
Like -show_stream but working recursively. Like -show_stream but working recursively.
Evaluation of readability and recovery: Evaluation of readability and recovery:
It is not uncommon that optical media produce read errors. The reasons ma It is not uncommon that optical media produce read errors. The reasons m
y be various and get obscured ay be various and get obscured
by error correction which is performed by the drives and based on extra by error correction which is performed by the drives and based on extra d
data on the media. If a drive ata on the media. If a drive
returns data then one can quite trust that they are valid. But at some d returns data then one can quite trust that they are valid. But at so
egree of read problems the me degree of read problems the
correction will fail and the drive is supposed to indicate error. correction will fail and the drive is supposed to indicate error.
xorriso can scan a medium for readable data blocks, classify them accor ding to their read speed, save xorriso can scan a medium for readable data blocks, classify them accordi ng to their read speed, save
them to a file, and keep track of successfully saved blocks for further t ries on the same medium. them to a file, and keep track of successfully saved blocks for further t ries on the same medium.
By command -md5 checksums may get recorded with data files and whole se By command -md5 checksums may get recorded with data files and whole
ssions. These checksums are sessions. These checksums are
reachable only via indev and a loaded image. They work independently of reachable only via indev and a loaded image. They work independently of
the media type and can detect the media type and can detect
transmission errors. transmission errors.
-check_media [option [option ...]] -- -check_media [option [option ...]] --
Try to read data blocks from the indev drive, optionally copy them Try to read data blocks from the indev drive, optionally copy th
to a disk file, and finally em to a disk file, and finally
report about the encountered quality. Several options may report about the encountered quality. Several options may be
be used to modify the default used to modify the default
behavior. behavior.
The parameters given with this command override the default settin gs which may have been changed The parameters given with this command override the default settin gs which may have been changed
by command -check_media_defaults. See there for a description of a vailable options. by command -check_media_defaults. See there for a description of a vailable options.
The result list tells intervals of 2 KiB blocks with start The result list tells intervals of 2 KiB blocks with start add
address, number of blocks and ress, number of blocks and
quality. Qualities which begin with "+" are supposed to be valid r quality. Qualities which begin with "+" are supposed to be valid
eadable data. Qualities with readable data. Qualities with
"-" are unreadable or corrupted data. "0" indicates qualitie "-" are unreadable or corrupted data. "0" indicates qualities whi
s which are not covered by the ch are not covered by the
check run or are regularly allowed to be unreadable (e.g. gaps bet ween tracks). check run or are regularly allowed to be unreadable (e.g. gaps bet ween tracks).
Alternatively it is possible to report damaged files rather than b locks. Alternatively it is possible to report damaged files rather than b locks.
If -md5 is "on" then the default mode what=tracks looks out for li bisofs checksum tags for the If -md5 is "on" then the default mode what=tracks looks out for libisofs checksum tags for the
ISO session data and checks them against the checksums computed fr om the data stream. ISO session data and checks them against the checksums computed fr om the data stream.
-check_media_defaults [option [option ...]] -- -check_media_defaults [option [option ...]] --
Preset options for runs of -check_media, -extract_cut and best_e Preset options for runs of -check_media, -extract_cut and best_eff
ffort file extraction. Options ort file extraction. Options
given with -check_media will override the preset options. -ext given with -check_media will override the preset options. -
ract_cut will override some extract_cut will override some
options automatically. options automatically.
An option consists of a keyword, a "=" character, and a value. Op tions may override each other. An option consists of a keyword, a "=" character, and a value. Opt ions may override each other.
So their sequence matters. So their sequence matters.
The default setting at program start is: The default setting at program start is:
use=indev what=tracks min_lba=-1 max_lba=-1 retry=default use=indev what=tracks min_lba=-1 max_lba=-1 retry=default
time_limit=28800 item_limit=100000 data_to='' event=ALL time_limit=28800 item_limit=100000 data_to='' event=ALL
abort_file=/var/opt/xorriso/do_abort_check_media abort_file=/var/opt/xorriso/do_abort_check_media
sector_map='' map_with_volid=off patch_lba0=off report=blocks sector_map='' map_with_volid=off patch_lba0=off report=blocks
bad_limit=invalid slow_limit=1.0 chunk_size=0s async_chunks=0 bad_limit=invalid slow_limit=1.0 chunk_size=0s async_chunks=0
Option "reset=now" restores these startup defaults. Option "reset=now" restores these startup defaults.
Non-default options are: Non-default options are:
report="files" lists the files which use damaged blocks (not with report="files" lists the files which use damaged blocks (not wi
use=outdev). The format is th use=outdev). The format is
like with find -exec report_damage. Note that a MD5 session m like with find -exec report_damage. Note that a MD5 session misma
ismatch marks all files of the tch marks all files of the
session as damaged. If finer distinction is desired, perform -md5 off before -check_media. session as damaged. If finer distinction is desired, perform -md5 off before -check_media.
report="blocks_files" first lists damaged blocks and then affected files. report="blocks_files" first lists damaged blocks and then affected files.
use="outdev" reads from the output drive instead of the input driv e. This avoids loading the ISO use="outdev" reads from the output drive instead of the input driv e. This avoids loading the ISO
image tree from media. image tree from media.
use="sector_map" does not read any media but loads the file g iven by option sector_map= and use="sector_map" does not read any media but loads the file given by option sector_map= and
processes this virtual outcome. processes this virtual outcome.
what="disc" scans the payload range of a medium without respecting track gaps. what="disc" scans the payload range of a medium without respecting track gaps.
what="image" similar to "disc", but restricts scanning to the rang e of the ISO 9660 image, if what="image" similar to "disc", but restricts scanning to the r ange of the ISO 9660 image, if
present. present.
min_lba=limit omits all blocks with addresses lower than limit. min_lba=limit omits all blocks with addresses lower than limit.
max_lba=limit switches to what=disc and omits all blocks above lim it. max_lba=limit switches to what=disc and omits all blocks above lim it.
chunk_size=size sets the number of bytes to be read in one low-le vel read operation. This gets chunk_size=size sets the number of bytes to be read in one low-lev el read operation. This gets
rounded down to full blocks of 2048 bytes. 0 means automatic size. rounded down to full blocks of 2048 bytes. 0 means automatic size.
retry="on" forces read retries with minimal senseful chunk size retry="on" forces read retries with minimal senseful chunk s
when the normal read chunk ize when the normal read chunk
produces a read error. This size is 1s with CD and stdio files, 1 produces a read error. This size is 1s with CD and stdio files, 16
6s with DVD (1 ECC Block), and s with DVD (1 ECC Block), and
32s with BD (1 Cluster). By default, retries are only enabled 32s with BD (1 Cluster). By default, retries are only enab
with CD media. "retry=off" led with CD media. "retry=off"
forbits retries for all media types. forbits retries for all media types.
abort_file=disk_path gives the path of the file which may abort a scan run. Abort happens if the abort_file=disk_path gives the path of the file which may abort a scan run. Abort happens if the
file exists and its mtime is not older than the start time of the run. Use shell command "touch" file exists and its mtime is not older than the start time of the run. Use shell command "touch"
to trigger this. Other than an aborted program run, this will report the tested and untested to trigger this. Other than an aborted program run, this will rep ort the tested and untested
blocks and go on with running xorriso. blocks and go on with running xorriso.
time_limit=seconds gives the number of seconds after which the sca time_limit=seconds gives the number of seconds after which the
n shall be aborted. This is scan shall be aborted. This is
useful for unattended scanning of media which may else overw useful for unattended scanning of media which may else overwork t
ork the drive in its effort to he drive in its effort to
squeeze out some readable blocks. Abort may be delayed by the dri squeeze out some readable blocks. Abort may be delayed by the dr
ve gnawing on the last single ive gnawing on the last single
read operation. Value -1 means unlimited time. read operation. Value -1 means unlimited time.
item_limit=number gives the number of report list items after w hich to abort. Value -1 means item_limit=number gives the number of report list items after whic h to abort. Value -1 means
unlimited item number. unlimited item number.
data_to=disk_path copies the valid blocks to the given file. data_to=disk_path copies the valid blocks to the given file.
event=severity sets the given severity for a problem event which s hall be issued at the end of a event=severity sets the given severity for a problem event which s hall be issued at the end of a
check run if data blocks were unreadable or failed to match re corded MD5 checksums. Severity check run if data blocks were unreadable or failed to match recor ded MD5 checksums. Severity
"ALL" disables this event. "ALL" disables this event.
sector_map=disk_path tries to read the file given by disk_path as sector_map=disk_path tries to read the file given by disk_path
sector bitmap and to store as sector bitmap and to store
such a map file after the scan run. The bitmap tells which bloc such a map file after the scan run. The bitmap tells which blocks
ks have been read successfully have been read successfully
in previous runs. It is the persistent memory for several scans o in previous runs. It is the persistent memory for several scans
n the same medium, even with on the same medium, even with
intermediate eject, in order to collect readable blocks wheneve intermediate eject, in order to collect readable blocks whenever t
r the drive is lucky enough to he drive is lucky enough to
produce them. The stored file contains a human readable TOC of tr produce them. The stored file contains a human readable TOC o
acks and their start block f tracks and their start block
addresses, followed by binary bitmap data. addresses, followed by binary bitmap data.
By default, untested blocks are not considered bad, but rather a s intentionally unread. If you By default, untested blocks are not considered bad, but rather as intentionally unread. If you
expect time_limit= or item_limit= to abort the run, then consider to use bad_limit="untested". expect time_limit= or item_limit= to abort the run, then consider to use bad_limit="untested".
map_with_volid="on" examines tracks whether they are ISO images an d prints their volume IDs into map_with_volid="on" examines tracks whether they are ISO images an d prints their volume IDs into
the human readable TOC of sector_map=. the human readable TOC of sector_map=.
patch_lba0="on" transfers within the data_to= file a copy of the patch_lba0="on" transfers within the data_to= file a copy of the c
currently loaded session head urrently loaded session head
to the start of that file and patches it to be valid at that posit to the start of that file and patches it to be valid at that po
ion. This makes the loaded sition. This makes the loaded
session the last valid session of the image file when it gets moun ted or loaded as stdio: drive. session the last valid session of the image file when it gets moun ted or loaded as stdio: drive.
New sessions will be appended after this last session and will ove rwrite any sessions which have New sessions will be appended after this last session and will ove rwrite any sessions which have
followed it. followed it.
patch_lba0="force" performs patch_lba0="on" even if xorriso bel ieves that the copied data are patch_lba0="force" performs patch_lba0="on" even if xorriso believ es that the copied data are
not valid. not valid.
patch_lba0= may also bear a number. If it is 32 or higher it is ta patch_lba0= may also bear a number. If it is 32 or higher it is
ken as start address of the taken as start address of the
session to be copied. In this case it is not necessary to have session to be copied. In this case it is not necessary to have an
an -indev and a loaded image. -indev and a loaded image.
":force" may be appended after the number. ":force" may be appended after the number.
indev and a loaded image.
bad_limit=threshold sets the highest quality which shall be consid ered as damage. Choose one of bad_limit=threshold sets the highest quality which shall be consid ered as damage. Choose one of
"good", "md5_match", "slow", "partial", "valid", "untested", "inv alid", "tao_end", "off_track", "good", "md5_match", "slow", "partial", "valid", "untested", "inva lid", "tao_end", "off_track",
"md5_mismatch", "unreadable". "md5_mismatch", "unreadable".
"valid" and "invalid" are qualities imported from a sector_map fil "valid" and "invalid" are qualities imported from a sector_map fi
e. "tao_end" and "off_track" le. "tao_end" and "off_track"
are intentionally not readable, but not bad either. "partia are intentionally not readable, but not bad either. "partial" a
l" are blocks retrieved from a re blocks retrieved from a
partially readable chunk. They are supposed to be ok but stem from a suspicious neighborhood. partially readable chunk. They are supposed to be ok but stem from a suspicious neighborhood.
"md5_match" and "md5_mismatch" regions overlap with regions of oth er quality. "md5_match" and "md5_mismatch" regions overlap with regions of oth er quality.
slow_limit=threshold sets the time threshold for a single read chu nk to be considered slow. This slow_limit=threshold sets the time threshold for a single read chu nk to be considered slow. This
may be a fractional number like 0.1 or 1.5. may be a fractional number like 0.1 or 1.5.
async_chunks=number enables asynchronous MD5 processing if number async_chunks=number enables asynchronous MD5 processing if number
is 2 or larger. In this case is 2 or larger. In this case
the given number of read chunks is allocated as fifo buffer. On the given number of read chunks is allocated as fifo buffer.
very fast MMC drives try: On very fast MMC drives try:
chunk_size=64s async_chunks=16. chunk_size=64s async_chunks=16.
-check_md5 severity iso_rr_path [***] -check_md5 severity iso_rr_path [***]
Compare the data content of the given files in the loaded Compare the data content of the given files in the loaded ima
image with their recorded MD5 ge with their recorded MD5
checksums, if there are any. In case of any mismatch an event of t checksums, if there are any. In case of any mismatch an event of
he given severity is issued. the given severity is issued.
It may then be handled by appropriate settings of commands -abort It may then be handled by appropriate settings of commands -abort_
_on or -return_with which both on or -return_with which both
can cause non-zero exit values of the program run. Severity ALL su ppresses that event. can cause non-zero exit values of the program run. Severity ALL su ppresses that event.
This command reports match and mismatch of data files to the resu lt channel. Non-data files This command reports match and mismatch of data files to the r esult channel. Non-data files
cause NOTE events. There will also be UPDATE events from data read ing. cause NOTE events. There will also be UPDATE events from data read ing.
If no iso_rr_path is given then the whole loaded session is compa red with its MD5 sum. Be aware If no iso_rr_path is given then the whole loaded session is compar ed with its MD5 sum. Be aware
that this covers only one session and not the whole image if there are older sessions. that this covers only one session and not the whole image if there are older sessions.
-check_md5_r severity iso_rr_path [***] -check_md5_r severity iso_rr_path [***]
Like -check_md5 but checking all data files underneath the given p aths. Only mismatching data Like -check_md5 but checking all data files underneath the given paths. Only mismatching data
files will be reported. files will be reported.
osirrox ISO-to-disk restore commands: osirrox ISO-to-disk restore commands:
Normally xorriso only writes to disk files which were given as stdio: Normally xorriso only writes to disk files which were given as stdio: pse
pseudo-drives or as log files. udo-drives or as log files.
But its alter ego osirrox is able to extract file objects from ISO images But its alter ego osirrox is able to extract file objects from ISO image
and to create, overwrite, or s and to create, overwrite, or
delete file objects on disk. delete file objects on disk.
Disk file exclusions by -not_mgt, -not_leaf, -not_paths apply. If disk f ile objects already exist then Disk file exclusions by -not_mgt, -not_leaf, -not_paths apply. If disk f ile objects already exist then
the settings of -overwrite and -reassure apply. But -overwrite "on" onl y triggers the behavior of the settings of -overwrite and -reassure apply. But -overwrite "on" only triggers the behavior of
-overwrite "nondir". I.e. directories cannot be deleted. -overwrite "nondir". I.e. directories cannot be deleted.
Access permissions of files in the ISO image do not restrict restoring. The directory permissions on Access permissions of files in the ISO image do not restrict restoring. The directory permissions on
disk have to allow rwx. disk have to allow rwx.
-osirrox setting[:option:...] -osirrox setting[:option:...]
Setting "off" disables disk filesystem manipulations. This is the default unless the program was Setting "off" disables disk filesystem manipulations. This is the default unless the program was
started with leafname "osirrox". Elsewise the capability to restore files can be enabled started with leafname "osirrox". Elsewise the capability to re store files can be enabled
explicitly by -osirrox "on". It can be irrevocably disabled by -o sirrox "banned". explicitly by -osirrox "on". It can be irrevocably disabled by -o sirrox "banned".
The setting "blocked" is like "off". But it can only be revoked The setting "blocked" is like "off". But it can only be revok
by setting "unblock", which ed by setting "unblock", which
elsewise is like "on". This can be used to curb command elsewise is like "on". This can be used to curb command sc
scripts which might use "on" ripts which might use "on"
undesiredly. undesiredly.
To enable restoring of special files by "device_files" is potentia lly dangerous. The meaning of To enable restoring of special files by "device_files" is potentia lly dangerous. The meaning of
the number st_rdev (see man 2 stat) depends much on the operat the number st_rdev (see man 2 stat) depends much on the operating
ing system. Best is to restore system. Best is to restore
device files only to the same system from where they were copied. device files only to the same system from where they were copied
If not enabled, device files . If not enabled, device files
in the ISO image are ignored during restore operations. in the ISO image are ignored during restore operations.
Due to a bug of previous versions, device files from previous se ssions might have been altered Due to a bug of previous versions, device files from previous sess ions might have been altered
to major=0, minor=1. So this combination does not get restored. to major=0, minor=1. So this combination does not get restored.
Option "concat_split_on" is default. It enables restoring of spli Option "concat_split_on" is default. It enables restoring of
t file directories as data split file directories as data
files if the directory contains a complete collection of -c files if the directory contains a complete collection of -cut_o
ut_out part files. With option ut part files. With option
"concat_split_off" such directories are handled like any other ISO image directory. "concat_split_off" such directories are handled like any other ISO image directory.
Option "auto_chmod_off" is default. If "auto_chmod_on" is set then Option "auto_chmod_off" is default. If "auto_chmod_on" is set the
access restrictions for disk n access restrictions for disk
directories get circumvented if those directories are owned directories get circumvented if those directories are owned by t
by the effective user who runs he effective user who runs
xorriso. This happens by temporarily granting rwx permission to th e owner. xorriso. This happens by temporarily granting rwx permission to th e owner.
Option "sort_lba_on" may improve read performance with optical dr Option "sort_lba_on" may improve read performance with optica
ives. It can restore large l drives. It can restore large
numbers of hard links without exhausting -temp_mem_limit. It doe numbers of hard links without exhausting -temp_mem_limit. It does
s not preserve directory mtime not preserve directory mtime
and it needs -osirrox option auto_chmod_on in order to extract dir and it needs -osirrox option auto_chmod_on in order to extract di
ectories which offer no write rectories which offer no write
permission. Default is "sort_lba_off". permission. Default is "sort_lba_off".
Option "o_excl_on" is the default unless the program was start Option "o_excl_on" is the default unless the program was started
ed with leafname "osirrox". On with leafname "osirrox". On
GNU/Linux it tries to avoid using drives which are mounted or in u GNU/Linux it tries to avoid using drives which are mounted or in
se by other libburn programs. use by other libburn programs.
Option "o_excl_off" on GNU/Linux enables access to such drives. D Option "o_excl_off" on GNU/Linux enables access to such drives. Dr
rives which get acquired while ives which get acquired while
"o_excl_off" will refuse to get blanked, formatted, written, or ej "o_excl_off" will refuse to get blanked, formatted, written, or e
ected. But be aware that even jected. But be aware that even
harmless inquiries can spoil ongoing burns of CD-R[W] and DVD-R[W] . harmless inquiries can spoil ongoing burns of CD-R[W] and DVD-R[W] .
Option "strict_acl_off" is default. It tolerates on FreeBSD the p Option "strict_acl_off" is default. It tolerates on FreeBSD the pr
resence of directory "default" esence of directory "default"
ACLs in the ISO image. With "strict_acl_on" these GNU/Linux ACLs ACLs in the ISO image. With "strict_acl_on" these GNU/Linux A
cause on FreeBSD a FAILURE CLs cause on FreeBSD a FAILURE
event during restore with -acl "on". event during restore with -acl "on".
-extract iso_rr_path disk_path -extract iso_rr_path disk_path
Copy the file objects at and underneath iso_rr_path to their corresponding addresses at and Copy the file objects at and underneath iso_rr_path to their cor responding addresses at and
underneath disk_path. This is the inverse of -map or -update_r. underneath disk_path. This is the inverse of -map or -update_r.
If iso_rr_path is a directory and disk_path is an existing directo If iso_rr_path is a directory and disk_path is an existing dir
ry then both trees will be ectory then both trees will be
merged. Directory attributes get extracted only if the disk dir merged. Directory attributes get extracted only if the disk direct
ectory is newly created by the ory is newly created by the
copy operation. Disk files get removed only if they are to be rep laced by file objects from the copy operation. Disk files get removed only if they are to be rep laced by file objects from the
ISO image. ISO image.
As many attributes as possible are copied together with restored f ile objects. As many attributes as possible are copied together with restored f ile objects.
-extract_single iso_rr_path disk_path -extract_single iso_rr_path disk_path
Like -extract, but if iso_rr_path is a directory then its sub tree gets not restored. Like -extract, but if iso_rr_path is a directory then its sub tree gets not restored.
-extract_l iso_rr_prefix disk_prefix iso_rr_path [***] -extract_l iso_rr_prefix disk_prefix iso_rr_path [***]
Perform -extract with each of the iso_rr_path parameters. d isk_path will be composed from Perform -extract with each of the iso_rr_path parameters. disk_ path will be composed from
iso_rr_path by replacing iso_rr_prefix by disk_prefix. iso_rr_path by replacing iso_rr_prefix by disk_prefix.
-extract_cut iso_rr_path byte_offset byte_count disk_path -extract_cut iso_rr_path byte_offset byte_count disk_path
Copy a byte interval from a data file out of an ISO image into a n Copy a byte interval from a data file out of an ISO image into a
ewly created disk file. The newly created disk file. The
main purpose for this is to offer a way of handling large file main purpose for this is to offer a way of handling large files if
s if they are not supported by they are not supported by
mount -t iso9660 or if the target disk filesystem cannot store lar ge files. mount -t iso9660 or if the target disk filesystem cannot store lar ge files.
If the data bytes of iso_rr_path are stored in the loaded ISO imag If the data bytes of iso_rr_path are stored in the loaded ISO im
e, and no filter is applied, age, and no filter is applied,
and byte_offset is a multiple of 2048, then a special run of -ch and byte_offset is a multiple of 2048, then a special run of -chec
eck_media is performed. It may k_media is performed. It may
be quicker and more rugged than the general reading method. be quicker and more rugged than the general reading method.
-cpx iso_rr_path [***] disk_path -cpx iso_rr_path [***] disk_path
Copy single leaf file objects from the ISO image to the address gi ven by disk_path. If more then Copy single leaf file objects from the ISO image to the address gi ven by disk_path. If more then
one iso_rr_path is given then disk_path must be a directory or no n-existent. In the latter case one iso_rr_path is given then disk_path must be a directory or non -existent. In the latter case
it gets created and the extracted files get installed in it with t he same leafnames. it gets created and the extracted files get installed in it with t he same leafnames.
Missing directory components in disk_path will get created, if pos sible. Missing directory components in disk_path will get created, if pos sible.
Directories are allowed as iso_rr_path only with -osirrox "concat_ split_on" and only if they Directories are allowed as iso_rr_path only with -osirrox "con cat_split_on" and only if they
actually represent a complete collection of -cut_out split file pa rts. actually represent a complete collection of -cut_out split file pa rts.
-cpax iso_rr_path [***] disk_path -cpax iso_rr_path [***] disk_path
Like -cpx but restoring mtime, atime as in ISO image and trying to set ownership and group as in Like -cpx but restoring mtime, atime as in ISO image and trying to set ownership and group as in
ISO image. ISO image.
-cp_rx iso_rr_path [***] disk_path -cp_rx iso_rr_path [***] disk_path
Like -cpx but also extracting whole directory trees from the ISO i mage. Like -cpx but also extracting whole directory trees from the ISO i mage.
The resulting disk paths are determined as with shell command cp The resulting disk paths are determined as with shell comm
-r : If disk_path is an and cp -r : If disk_path is an
existing directory then the trees will be inserted or merged unde existing directory then the trees will be inserted or merged under
rneath this directory and will neath this directory and will
keep their leaf names. The ISO directory "/" has no leaf name and keep their leaf names. The ISO directory "/" has no leaf name an
thus gets mapped directly to d thus gets mapped directly to
disk_path. disk_path.
-cp_rax iso_rr_path [***] disk_path -cp_rax iso_rr_path [***] disk_path
Like -cp_rx but restoring mtime, atime as in ISO image and trying to set ownership and group as Like -cp_rx but restoring mtime, atime as in ISO image and trying to set ownership and group as
in ISO image. in ISO image.
-paste_in iso_rr_path disk_path byte_offset byte_count -paste_in iso_rr_path disk_path byte_offset byte_count
Read the content of a ISO data file and write it into a data file on disk beginning at the Read the content of a ISO data file and write it into a data file on disk beginning at the
byte_offset. Write at most byte_count bytes. This is the inverse of command -cut_out. byte_offset. Write at most byte_count bytes. This is the inverse of command -cut_out.
-concat mode [target | lim prog [args [...]] lim] iso_rr_path [***] -concat mode [target | lim prog [args [...]] lim] iso_rr_path [***]
Copy the data content of one or more data files of the ISO image i nto a disk file object, into a Copy the data content of one or more data files of the ISO image i nto a disk file object, into a
file descriptor, or start a program and copy the data into its sta ndard input. The latter is file descriptor, or start a program and copy the data into its standard input. The latter is
subject to the security restrictions for external filters. subject to the security restrictions for external filters.
Modes overwrite and append write into the target which is given by the second parameter. This Modes overwrite and append write into the target which is given by the second parameter. This
may be the path to a disk file object, or "-" which means standard output, or a text of the form may be the path to a disk file object, or "-" which means standard output, or a text of the form
/dev/fd/number, where number is an open file descriptor (e.g. sta /dev/fd/number, where number is an open file descriptor (e.g. stan
ndard error is /dev/fd/2). An dard error is /dev/fd/2). An
existing target file is not removed before writing begins. If it i existing target file is not removed before writing begins. If
s not able to take content it is not able to take content
data, then this command fails. Mode overwrite truncates regul data, then this command fails. Mode overwrite truncates regular d
ar data files to 0 size before ata files to 0 size before
writing into them. Example: writing into them. Example:
-concat append /home/me/accumulated_text /my/iso/text -- -concat append /home/me/accumulated_text /my/iso/text --
Mode pipe expects as second parameter a delimiter word which shall Mode pipe expects as second parameter a delimiter word which sha
mark the end of the program ll mark the end of the program
argument list. The third argument is the disk_path to the program argument list. The third argument is the disk_path to the program.
. It must contain at least one It must contain at least one
'/'. $PATH is not applied. Further parameters up to the announced '/'. $PATH is not applied. Further parameters up to the announ
delimiter word are used as ced delimiter word are used as
arguments with the program start. Example: arguments with the program start. Example:
-iso_rr_pattern on \ -iso_rr_pattern on \
-concat pipe + /usr/bin/wc + "/my/iso/files*" -- -concat pipe + /usr/bin/wc + "/my/iso/files*" --
The further parameters in all modes are the iso_rr_paths of d ata files. Their content gets The further parameters in all modes are the iso_rr_paths of data files. Their content gets
concatenated in the copy. concatenated in the copy.
-mount drive entity id path -mount drive entity id path
Produce the same line as -mount_cmd and then execute it as externa l program run after giving up Produce the same line as -mount_cmd and then execute it as extern al program run after giving up
the depicted drive. See also -mount_opts. This demands -osirrox t o be enabled and normally will the depicted drive. See also -mount_opts. This demands -osirrox t o be enabled and normally will
succeed only for the superuser. For safety reasons the mount progr am is only executed if it is succeed only for the superuser. For safety reasons the mount pro gram is only executed if it is
reachable as /bin/mount or /sbin/mount. reachable as /bin/mount or /sbin/mount.
Command compatibility emulations: Command compatibility emulations:
Writing of ISO 9660 on CD is traditionally done by program mkisofs Writing of ISO 9660 on CD is traditionally done by program mkisofs as I
as ISO 9660 image producer and SO 9660 image producer and
cdrecord as burn program. xorriso does not strive for their comprehensiv cdrecord as burn program. xorriso does not strive for their comprehensi
e emulation. Nevertheless it ve emulation. Nevertheless it
is ready to perform some of its core tasks under control of commands is ready to perform some of its core tasks under control of commands whic
which in said programs trigger h in said programs trigger
comparable actions. comparable actions.
-as personality option [options] -- -as personality option [options] --
Perform the variable length option list as sparse emulation of t he program depicted by the Perform the variable length option list as sparse emulation of the program depicted by the
personality word. personality word.
Personality "mkisofs" accepts the options listed with: Personality "mkisofs" accepts the options listed with:
-as mkisofs -help -- -as mkisofs -help --
Among them: -R (always on), -r, -J, -o, -M, -C, -dir-mod Among them: -R (always on), -r, -J, -o, -M, -C, -dir-mode,
e, -file-mode, -path-list, -m, -file-mode, -path-list, -m,
-exclude-list, -f, -print-size, -pad, -no-pad, -V, -v, -v -exclude-list, -f, -print-size, -pad, -no-pad, -V, -v,
ersion, -graft-points, -z, -version, -graft-points, -z,
-no-emul-boot, -b, -c, -boot-info-table, -boot-load-size, -input -no-emul-boot, -b, -c, -boot-info-table, -boot-load-size, -input-c
-charset, -G, -output-charset, harset, -G, -output-charset,
-U, -hide, -hide-joliet, -hide-list, -hide-joliet-list, file paths -U, -hide, -hide-joliet, -hide-list, -hide-joliet-list, file
and pathspecs. A lot of paths and pathspecs. A lot of
options are not supported and lead to failure of the mkisofs em options are not supported and lead to failure of the mkisofs emula
ulation. Some are ignored, but tion. Some are ignored, but
better do not rely on this tolerance. better do not rely on this tolerance.
The supported options are documented in detail in xorrisofs.info and in man xorrisofs. The The supported options are documented in detail in xorrisofs. info and in man xorrisofs. The
description here is focused on the effect of mkisofs emulation in the context of a xorriso run. description here is focused on the effect of mkisofs emulation in the context of a xorriso run.
Other than with the "cdrecord" personality there is no aut Other than with the "cdrecord" personality there is no automatic
omatic -commit at the end of a -commit at the end of a
"mkisofs" option list. Verbosity settings -v (= "UPDATE") and -qui "mkisofs" option list. Verbosity settings -v (= "UPDATE") and -
et (= "SORRY") persist. The quiet (= "SORRY") persist. The
output file persists until things happen like -commit, -rollback, -dev, or end of xorriso. output file persists until things happen like -commit, -rollback, -dev, or end of xorriso.
Options which affect all file objects in the ISO image, like -r Options which affect all file objects in the ISO image, like -r or
or -dir-mode, will be applied -dir-mode, will be applied
only to files which are present in the ISO image when the command only to files which are present in the ISO image when the comman
-as ends. If you use several d -as ends. If you use several
-as mkisofs commands in the same run, then consider to put -as mkisofs commands in the same run, then consider to put such
such options into the last -as options into the last -as
command. command.
If files are added to the image, then -pacifier gets set to " mkisofs" and -stdio_sync is If files are added to the image, then -pacifier gets set t o "mkisofs" and -stdio_sync is
defaulted to "off" if no such setting was made yet. defaulted to "off" if no such setting was made yet.
-graft-points is equivalent to -pathspecs on. Note that pathspe -graft-points is equivalent to -pathspecs on. Note that pathspecs
cs without "=" are interpreted without "=" are interpreted
differently than with xorriso command -add. Directories get merge differently than with xorriso command -add. Directories get mer
d with the root directory of ged with the root directory of
the ISO image, other filetypes get mapped into that root directory . the ISO image, other filetypes get mapped into that root directory .
If pathspecs are given and if no output file was chosen before If pathspecs are given and if no output file was chosen before or
or during the "mkisofs" option during the "mkisofs" option
list, then standard output (-outdev "-") will get into effect. If list, then standard output (-outdev "-") will get into effect. I
-o points to a regular file, f -o points to a regular file,
then it will be truncated to 0 bytes when finally writing be then it will be truncated to 0 bytes when finally writing begins
gins. This truncation does not . This truncation does not
happen if the drive is chosen by xorriso commands before -as happen if the drive is chosen by xorriso commands before
mkisofs or after its list -as mkisofs or after its list
delimiter. Directories and symbolic links are no valid -o targets. delimiter. Directories and symbolic links are no valid -o targets.
Writing to stdout is possible only if -as "mkisofs" was among t he start arguments or if other Writing to stdout is possible only if -as "mkisofs" was among the start arguments or if other
start arguments pointed the output drive to standard output. start arguments pointed the output drive to standard output.
-print-size inhibits automatic image production at program end. Th is ban is lifted only if the -print-size inhibits automatic image production at program end. This ban is lifted only if the
pending image changes get discarded. pending image changes get discarded.
Padding is counted as part of the ISO image if not option --emul-t oc is given. Padding is counted as part of the ISO image if not option --emul-t oc is given.
If no -iso-level is given, then level 1 is chosen when the first If no -iso-level is given, then level 1 is chosen when the first f
file or directory is added to ile or directory is added to
the image. At the same occasion directory names get allowed the image. At the same occasion directory names get allow
to violate the standard by ed to violate the standard by
-compliance option allow_dir_id_ext. This may be avoided by optio n -disallow_dir_id_ext. -compliance option allow_dir_id_ext. This may be avoided by optio n -disallow_dir_id_ext.
Option -root is supported. Option -old-root is implemented Option -root is supported. Option -old-root is implemented
by xorriso commands -mkdir, by xorriso commands -mkdir,
-cp_clone, -find update_merge, and -find rm_merge. -root a -cp_clone, -find update_merge, and -find rm_merge. -root
nd -old-root set command and -old-root set command
-disk_dev_ino to "ino_only" and -md5 to "on", by default. -disk_ -disk_dev_ino to "ino_only" and -md5 to "on", by default. -disk_d
dev_ino can be set to "off" by ev_ino can be set to "off" by
--old-root-no-ino or to "on" by --old-root-devno . -md5 c --old-root-no-ino or to "on" by --old-root-devno . -md
an be set to "off" by 5 can be set to "off" by
--old-root-no-md5 . --old-root-no-md5 .
Not original mkisofs options are --quoted_path_list , --hardlin Not original mkisofs options are --quoted_path_list , --hardlinks
ks , --acl , --xattr , --md5 , , --acl , --xattr , --md5 ,
--stdio_sync . They work like the xorriso commands with the same --stdio_sync . They work like the xorriso commands with the sam
name and hardcoded parameter e name and hardcoded parameter
"on", e.g. -acl "on". Explicit parameters are expected by --stdio _sync and --scdbackup_tag. "on", e.g. -acl "on". Explicit parameters are expected by --stdio _sync and --scdbackup_tag.
The capability to preserve multi-session history on overwri The capability to preserve multi-session history on overwritea
teable media gets disabled by ble media gets disabled by
default. It can be enabled by using --emul-toc with the fir default. It can be enabled by using --emul-toc with the
st session. See -compliance first session. See -compliance
no_emul_toc. no_emul_toc.
--sort-weight gets as parameters a number and an iso_rr_pat --sort-weight gets as parameters a number and an iso_rr_path.
h. The number becomes the LBA The number becomes the LBA
sorting weight of regular file iso_rr_path or of all regular sorting weight of regular file iso_rr_path or of all regu
files underneath directory lar files underneath directory
iso_rr_path. (See -find -exec sort_weight). iso_rr_path. (See -find -exec sort_weight).
Adopted from grub-mkisofs are --protective-msdos-label (see -boot_ image grub partition_table=on) Adopted from grub-mkisofs are --protective-msdos-label (see -boot_ image grub partition_table=on)
and --modification-date=YYYYMMDDhhmmsscc (see -volume_date uuid). and --modification-date=YYYYMMDDhhmmsscc (see -volume_date uui
For EFI bootable GRUB boot d). For EFI bootable GRUB boot
images use --efi-boot. It performs -boot_image grub efi_path= images use --efi-boot. It performs -boot_image grub efi_path= su
surrounded by two -boot_image rrounded by two -boot_image
"any" "next". Alternative option -e from Fedora genisoimage sets "any" "next". Alternative option -e from Fedora genisoimage set
bin_path and platform_id for s bin_path and platform_id for
EFI, but performs no "next". EFI, but performs no "next".
For MBR bootable ISOLINUX images there is -isohybrid-mbr FILE, whe re FILE is one of the Syslinux For MBR bootable ISOLINUX images there is -isohybrid-mbr FILE, whe re FILE is one of the Syslinux
files mbr/isohdp[fp]x*.bin . Use this instead of -G to apply the e ffect of -boot_image isolinux files mbr/isohdp[fp]x*.bin . Use this instead of -G to apply the effect of -boot_image isolinux
partition_table=on. partition_table=on.
--boot-catalog-hide is -boot_image any cat_hidden=on. --boot-catalog-hide is -boot_image any cat_hidden=on.
-mips-boot is the same as -boot_image any mips_path= . -mips-boot is the same as -boot_image any mips_path= .
-mipsel-boot leads to mipsel_path= . -mipsel-boot leads to mipsel_path= .
-partition_offset number is -boot_image any partition_offset=numbe r. -partition_offset number is -boot_image any partition_offset=numbe r.
Command -append_partition is supported. Command -append_partition is supported.
-untranslated_name_len number is -compliance untranslated_name_len =number. -untranslated_name_len number is -compliance untranslated_name_len =number.
--old-empty is -compliance old_empty. --old-empty is -compliance old_empty.
The options of genisoimage Jigdo Template Extraction are recogn ized and performed via xorriso The options of genisoimage Jigdo Template Extraction are recognize d and performed via xorriso
command -jigdo. See the "Alias:" names there for the meaning of th e genisoimage options. command -jigdo. See the "Alias:" names there for the meaning of th e genisoimage options.
Personalities "xorrisofs", "genisoimage", and "genisofs" are alias es for "mkisofs". Personalities "xorrisofs", "genisoimage", and "genisofs" are alias es for "mkisofs".
If xorriso is started with one of the leafnames "xorrisofs" If xorriso is started with one of the leafnames "xorrisof
, "genisofs", "mkisofs", or s", "genisofs", "mkisofs", or
"genisoimage", then it performs -read_mkisofsrc and prepends "genisoimage", then it performs -read_mkisofsrc and prepends -as
-as "genisofs" to the program "genisofs" to the program
arguments. I.e. all arguments will be interpreted mkisofs style arguments. I.e. all arguments will be interpreted mkisofs st
until "--" is encountered. yle until "--" is encountered.
From then on, arguments are interpreted as xorriso commands. From then on, arguments are interpreted as xorriso commands.
--no_rc as first argument of such a program start prevents interp retation of startup files. See --no_rc as first argument of such a program start prevents interpr etation of startup files. See
section FILES below. section FILES below.
Personality "cdrecord" accepts the options listed with: Personality "cdrecord" accepts the options listed with:
-as cdrecord -help -- -as cdrecord -help --
Among them: -v, dev=, speed=, blank=, fs=, -eject, -atip, padsize= Among them: -v, dev=, speed=, blank=, fs=, -eject, -atip, padsi
, tsize=, -isosize, -multi, ze=, tsize=, -isosize, -multi,
-msinfo, --grow_overwriteable_iso, write_start_address=, track -msinfo, --grow_overwriteable_iso, write_start_address=, track so
source file path or "-" for urce file path or "-" for
standard input as track source. standard input as track source.
It ignores most other options of cdrecord and cdrskin but refuses on -audio, -scanbus, and on It ignores most other options of cdrecord and cdrskin but refus es on -audio, -scanbus, and on
blanking modes unknown to xorriso. blanking modes unknown to xorriso.
The scope is only a single data track per session to be writt The scope is only a single data track per session to be written
en to blank, overwriteable, or to blank, overwriteable, or
appendable media. The medium gets closed if closing is applicable appendable media. The medium gets closed if closing is appli
and not option -multi is cable and not option -multi is
present. present.
If an input drive was acquired, then it is given up. This is on ly allowed if no image changes If an input drive was acquired, then it is given up. This is only allowed if no image changes
are pending. are pending.
dev= must be given as xorriso device address. Addresses like 0,0,0 or ATA:1,1,0 are not dev= must be given as xorriso device address. Addresses l ike 0,0,0 or ATA:1,1,0 are not
supported. supported.
If a track source is given, then an automatic -commit happen s at the end of the "cdrecord" If a track source is given, then an automatic -commit happens at the end of the "cdrecord"
option list. option list.
--grow_overwriteable_iso enables emulation of multi-session on ove --grow_overwriteable_iso enables emulation of multi-session on o
rwriteable media. To enable verwriteable media. To enable
emulation of a TOC, the first session needs -C 0,32 with emulation of a TOC, the first session needs -C 0,32 with -a
-as mkisofs (but no -M) and s mkisofs (but no -M) and
--grow_overwriteable_iso write_start_address=32s with -as cdrecord . --grow_overwriteable_iso write_start_address=32s with -as cdrecord .
A much more elaborate libburn based cdrecord emulator is the progr am cdrskin. A much more elaborate libburn based cdrecord emulator is the progr am cdrskin.
Personalites "xorrecord", "wodim", and "cdrskin" are aliases for " cdrecord". Personalites "xorrecord", "wodim", and "cdrskin" are aliases for " cdrecord".
If xorriso is started with one of the leafnames "xorrecord", "cdrs If xorriso is started with one of the leafnames "xorrecord", "cdr
kin", "cdrecord", or "wodim", skin", "cdrecord", or "wodim",
then it automatically prepends -as "cdrskin" to the program argu then it automatically prepends -as "cdrskin" to the program argume
ments. I.e. all arguments will nts. I.e. all arguments will
be interpreted cdrecord style until "--" is encountered. F be interpreted cdrecord style until "--" is encountered.
rom then on, arguments are From then on, arguments are
interpreted as xorriso commands. interpreted as xorriso commands.
--no_rc as first argument of such a program start prevents int erpretation of xorriso startup --no_rc as first argument of such a program start prevents interp retation of xorriso startup
files. See section FILES below. files. See section FILES below.
-read_mkisofsrc -read_mkisofsrc
Try one by one to open for reading: Try one by one to open for reading:
./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(dirname $0)/.mki sofsrc ./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(dirname $0)/.mki sofsrc
On success interpret the file content as of man mkisofs CONFIGURAT On success interpret the file content as of man mkisofs CONFIGURA
ION, and end this command. Do TION, and end this command. Do
not try further files. The last address is used only if star not try further files. The last address is used only if start ar
t argument 0 has a non-trivial gument 0 has a non-trivial
dirname. dirname.
The reader currently interprets the following NAME=VALUE pairs: AP PI (-application_id) , PUBL The reader currently interprets the following NAME=VALUE pairs: APPI (-application_id) , PUBL
(-publisher) , SYSI (-system_id) , VOLI (-volid) , VOLS (-volset_i d) (-publisher) , SYSI (-system_id) , VOLI (-volid) , VOLS (-volset_i d)
Any other lines will be silently ignored. Any other lines will be silently ignored.
-pacifier behavior_code -pacifier behavior_code
Control behavior of UPDATE pacifiers during write operations. Th e following behavior codes are Control behavior of UPDATE pacifiers during write operations. The following behavior codes are
defined: defined:
"xorriso" is the default format: "xorriso" is the default format:
Writing: sector XXXXX of YYYYYY [fifo active, nn% fill] Writing: sector XXXXX of YYYYYY [fifo active, nn% fill]
"cdrecord" looks like: "cdrecord" looks like:
X of Y MB written (fifo nn%) [buf mmm%] X of Y MB written (fifo nn%) [buf mmm%]
"mkisofs" "mkisofs"
nn% done, estimate finish Tue Jul 15 20:13:28 2008 nn% done, estimate finish Tue Jul 15 20:13:28 2008
The frequency of the messages can be adjusted by The frequency of the messages can be adjusted by
"interval=number" "interval=number"
where number gives the seconds between two messages. Permissible s ettings are 0.1 to 60.0. where number gives the seconds between two messages. Permissible s ettings are 0.1 to 60.0.
-scdbackup_tag list_path record_name -scdbackup_tag list_path record_name
Set the parameter "name" for a scdbackup checksum record. It will Set the parameter "name" for a scdbackup checksum record. It wi
be appended in an scdbackup ll be appended in an scdbackup
checksum tag to the -md5 session tag if the image starts at LBA checksum tag to the -md5 session tag if the image starts at LBA 0.
0. This is the case if it gets This is the case if it gets
written as first session onto a sequential medium, or piped into written as first session onto a sequential medium, or piped
a program, named pipe or into a program, named pipe or
character device. character device.
If list_path is not empty then the record will also be appended to the data file given by this If list_path is not empty then the record will also be appended to the data file given by this
path. path.
Program scdbackup_verify will recognize and verify tag and file re cord. Program scdbackup_verify will recognize and verify tag and file re cord.
An empty record_name disables this feature. An empty record_name disables this feature.
Scripting, dialog and program control features: Scripting, dialog and program control features:
-no_rc -no_rc
Only if used as first program argument this command prevents re ading and interpretation of Only if used as first program argument this command prevents reading and interpretation of
startup files. See section FILES below. startup files. See section FILES below.
-options_from_file fileaddress -options_from_file fileaddress
Read quoted input from fileaddress and execute it like dialog Read quoted input from fileaddress and execute it like dialog lin
lines. Empty lines and lines es. Empty lines and lines
which begin by # are ignored. Normally one line should hold one x which begin by # are ignored. Normally one line should hold o
orriso command and all its ne xorriso command and all its
parameters. Nevertheless lines may be concatenated by a trailing backslash. parameters. Nevertheless lines may be concatenated by a trailing backslash.
See also section "Command processing", paragraph "Quoted input". See also section "Command processing", paragraph "Quoted input".
-help -help
Print helptext. Print helptext.
-version -version
Print program name and version, component versions, license. Print program name and version, component versions, license.
-list_extras code -list_extras code
Tell whether certain extra features were enabled at compile time. Code "all" lists all features Tell whether certain extra features were enabled at compile time. Code "all" lists all features
and a headline. Other codes pick a single feature. Code "codes" lists them. They share names and a headline. Other codes pick a single feature. Code "codes " lists them. They share names
with related commands (see also there): with related commands (see also there):
"acl" tells whether xorriso has an adapter for local filesystems A CLs. "acl" tells whether xorriso has an adapter for local filesystems A CLs.
"xattr" tells whether xorriso has an adapter for local filesystems EA. "xattr" tells whether xorriso has an adapter for local filesystems EA.
"jigdo" tells whether production of Jigdo files is possible. "jigdo" tells whether production of Jigdo files is possible.
"zisofs" tells whether zisofs and built-in gzip filters are enable d. "zisofs" tells whether zisofs and built-in gzip filters are enable d.
"external_filter" tells whether external filter processes ar e allowed and whether they are "external_filter" tells whether external filter processes are al lowed and whether they are
allowed if real user id and effective user id differ. allowed if real user id and effective user id differ.
"dvd_obs" tells whether 64 kB output to DVD media is default. "dvd_obs" tells whether 64 kB output to DVD media is default.
"use_readline" tells whether readline may be enabled in dialog mod e. "use_readline" tells whether readline may be enabled in dialog mod e.
-history textline -history textline
Copy textline into libreadline history. Copy textline into libreadline history.
-status mode|filter -status mode|filter
Print the current settings of xorriso. Modes: Print the current settings of xorriso. Modes:
short... print only important or altered settings short... print only important or altered settings
long ... print all settings including defaults long ... print all settings including defaults
long_history like long plus history lines long_history like long plus history lines
Filters begin with '-' and are compared literally again st the output lines of Filters begin with '-' and are compared literally a gainst the output lines of
-status:long_history. A line is put out only if its start matches the filter text. No wildcards. -status:long_history. A line is put out only if its start matches the filter text. No wildcards.
-status_history_max number -status_history_max number
Set maximum number of history lines to be reported with -status "l ong_history". Set maximum number of history lines to be reported with -status "l ong_history".
-list_delimiter word -list_delimiter word
Set the list delimiter to be used instead of "--". It has to be a single word, must not be Set the list delimiter to be used instead of "--". It has to be a single word, must not be
empty, not longer than 80 characters, and must not contain quotati on marks. empty, not longer than 80 characters, and must not contain quotati on marks.
For brevity the list delimiter is referred as "--" throughout this text. For brevity the list delimiter is referred as "--" throughout this text.
-sh_style_result "on"|"off" -sh_style_result "on"|"off"
Make the result output of some filesystem inspection commands loo Make the result output of some filesystem inspection command
k more like the output of s look more like the output of
equivalent shell commands. The most important effect is to equivalent shell commands. The most important effect is to pr
prevent the wrapping of file event the wrapping of file
addresses into quotation marks with commands addresses into quotation marks with commands
-pwd -pwdx -ls -lsd -lsl -lsdl -lsx -lsdx -lslx -lsdlx -pwd -pwdx -ls -lsd -lsl -lsdl -lsx -lsdx -lslx -lsdlx
-du -dus -dux -dusx -findx -find -du -dus -dux -dusx -findx -find
This will make ambiguous the representation of file names which co This will make ambiguous the representation of file names which
ntain newline characters. On contain newline characters. On
the other hand it should facilitate integration of xorriso into s the other hand it should facilitate integration of xorriso into sh
hell scripts which already use ell scripts which already use
the corresponding shell commands. the corresponding shell commands.
-backslash_codes "on"|"off"|mode[:mode] -backslash_codes "on"|"off"|mode[:mode]
Enable or disable the interpretation of symbolic representations Enable or disable the interpretation of symbolic representati
of special characters with ons of special characters with
quoted input, or with program arguments, or with program text ou quoted input, or with program arguments, or with program text outp
tput. If enabled the following ut. If enabled the following
translations apply: translations apply:
\a=bell(007) \b=backspace(010) \e=Escape(033) \f=formfeed(014) \a=bell(007) \b=backspace(010) \e=Escape(033) \f=formfeed(014)
\n=linefeed(012) \r=carriage_return(015) \t=tab(011) \n=linefeed(012) \r=carriage_return(015) \t=tab(011)
\v=vtab(013) \\=backslash(134) \[0-7][0-7][0-7]=octal_code \v=vtab(013) \\=backslash(134) \[0-7][0-7][0-7]=octal_code
\x[0-9a-f][0-9a-f]=hex_code \cC=control-C \x[0-9a-f][0-9a-f]=hex_code \cC=control-C
Translations can occur with quoted input in 3 modes: Translations can occur with quoted input in 3 modes:
"in_double_quotes" translates only inside " quotation. "in_double_quotes" translates only inside " quotation.
"in_quotes" translates inside " and ' quotation. "in_quotes" translates inside " and ' quotation.
"with_quoted_input" translates inside and outside quotes. "with_quoted_input" translates inside and outside quotes.
With the start program arguments there is mode: With the start program arguments there is mode:
"with_program_arguments" translates program arguments. "with_program_arguments" translates program arguments.
Mode "encode_output" encodes output characters. It comb Mode "encode_output" encodes output characters. It com
ines "encode_results" with bines "encode_results" with
"encode_infos". Inside single or double quotation marks encodi "encode_infos". Inside single or double quotation marks encoding
ng applies to 8-bit characters applies to 8-bit characters
octal 001 to 037 , 177 to 377 and to backslash(134). Outside qu octal 001 to 037 , 177 to 377 and to backslash(134). Outside
otation marks some harmless quotation marks some harmless
ASCII control characters stay unencoded: bell(007), backspace( ASCII control characters stay unencoded: bell(007), backspace(01
010), tab(011), linefeed(012), 0), tab(011), linefeed(012),
formfeed(014), carriage_return(015). formfeed(014), carriage_return(015).
Mode "off" is default and disables any transl ation. Mode "on" is Mode "off" is default and disables any trans lation. Mode "on" is
"with_quoted_input:with_program_arguments:encode_output". "with_quoted_input:with_program_arguments:encode_output".
-temp_mem_limit number["k"|"m"] -temp_mem_limit number["k"|"m"]
Set the maximum size of temporary memory to be used for image dependent buffering. Currently Set the maximum size of temporary memory to be used for image de pendent buffering. Currently
this applies to pattern expansion, LBA sorting, restoring of hard links. this applies to pattern expansion, LBA sorting, restoring of hard links.
Default is 16m = 16 MiB, minimum 64k = 64 kiB, maximum 1024m = 1 G iB. Default is 16m = 16 MiB, minimum 64k = 64 kiB, maximum 1024m = 1 G iB.
-print text -print text
Print a text line to the result channel which is by default stdout . Print a text line to the result channel which is by default stdout .
-print_info text -print_info text
Print a text line to the info channel which is by default stderr. Print a text line to the info channel which is by default stderr.
-print_mark text -print_mark text
Print a text line to the mark channel which is by default directed to both, result and info Print a text line to the mark channel which is by default dir ected to both, result and info
channel. An empty text will cause no output at all. channel. An empty text will cause no output at all.
-prompt text -prompt text
Show text at beginning of output line and wait for the user to hit the Enter key or to send a Show text at beginning of output line and wait for the user to hit the Enter key or to send a
line via stdin. line via stdin.
-sleep seconds -sleep seconds
Wait for the given number of seconds before performing the n ext command. Expect coarse Wait for the given number of seconds before performing th e next command. Expect coarse
granularity no better than 1/100 seconds. granularity no better than 1/100 seconds.
-errfile_log mode path|channel -errfile_log mode path|channel
If problem events are related to input files from the filesystem , then their disk_paths can be If problem events are related to input files from the filesystem, then their disk_paths can be
logged to a file or to output channels R or I. logged to a file or to output channels R or I.
Mode can either be "plain" or "marked". The latter causes marker l Mode can either be "plain" or "marked". The latter causes marke
ines which give the time of r lines which give the time of
log start, burn session start, burn session end, log end or prog log start, burn session start, burn session end, log end or progra
ram end. In mode "plain", only m end. In mode "plain", only
the file paths are logged. the file paths are logged.
If path is "-" or "-R" then the log is directed to the result chan If path is "-" or "-R" then the log is directed to the result cha
nel. Path "-I" directs it to nnel. Path "-I" directs it to
the info message channel. Any text that does not begin with "-" the info message channel. Any text that does not begin with "-" is
is used as path for a file to used as path for a file to
append the log lines. append the log lines.
Problematic files can be recorded multiple times during one progra Problematic files can be recorded multiple times during one pr
m run. If the program run ogram run. If the program run
aborts then the list might not be complete because some i aborts then the list might not be complete because some input
nput files might not have been files might not have been
processed at all. processed at all.
The errfile paths are transported as messages of very low severity "ERRFILE". This transport The errfile paths are transported as messages of very low sever ity "ERRFILE". This transport
becomes visible with -report_about "ALL". becomes visible with -report_about "ALL".
-session_log path -session_log path
If path is not empty it gives the address of a plain text file wh If path is not empty it gives the address of a plain text file whe
ere a log record gets appended re a log record gets appended
after each session. This log can be used to determine the start_l after each session. This log can be used to determine the st
ba of a session for mount art_lba of a session for mount
options -o sbsector= (on GNU/Linux) or -s (on FreeBSD) from date o r volume ID. options -o sbsector= (on GNU/Linux) or -s (on FreeBSD) from date o r volume ID.
Record format is: timestamp start_lba size volume-id Record format is: timestamp start_lba size volume-id
The first three items are single words, the rest of the line is th e volume ID. The first three items are single words, the rest of the line is th e volume ID.
-scsi_log "on"|"off" -scsi_log "on"|"off"
Mode "on" enables very verbous logging of SCSI commands and drive replies. Logging messages get Mode "on" enables very verbous logging of SCSI commands and drive replies. Logging messages get
printed to stderr, not to any of the xorriso output channels. printed to stderr, not to any of the xorriso output channels.
A special property of this command is that the first -scsi_log set ting among the start arguments A special property of this command is that the first -scsi_log set ting among the start arguments
is in effect already when the first operations of xorriso begin. Only "-scsi_log" with dash "-" is in effect already when the first operations of xorriso begin. Only "-scsi_log" with dash "-"
is recognized that way. is recognized that way.
-end -end
End program after writing pending changes. End program after writing pending changes.
-rollback_end -rollback_end
Discard pending changes. End program immediately. Discard pending changes. End program immediately.
# any text # any text
Only in dialog or file execution mode, and only as first non-white space in line: Do not execute Only in dialog or file execution mode, and only as first non-whit espace in line: Do not execute
the line but store it in readline history. the line but store it in readline history.
Support for frontend programs via stdin and stdout: Support for frontend programs via stdin and stdout:
-pkt_output "on"|"off" -pkt_output "on"|"off"
Consolidate text output on stdout and classify each line by a chan nel indicator: Consolidate text output on stdout and classify each line by a chan nel indicator:
'R:' for result lines, 'R:' for result lines,
'I:' for notes and error messages, 'I:' for notes and error messages,
'M:' for -mark texts. 'M:' for -mark texts.
Next is a decimal number of which only bit 0 has a meaning for n Next is a decimal number of which only bit 0 has a meaning for now
ow. 0 means no newline at end . 0 means no newline at end
of payload, 1 means that the newline character at the end of the of payload, 1 means that the newline character at the end of
output line belongs to the the output line belongs to the
payload. After another colon and a blank follows the payload text. payload. After another colon and a blank follows the payload text.
Example: Example:
I:1: enter option and parameters : I:1: enter option and parameters :
-logfile channel fileaddress -logfile channel fileaddress
Copy output of a channel to the given file. Channel may be one of: "." for all channels, "I" for Copy output of a channel to the given file. Channel may be one of: "." for all channels, "I" for
info messages, "R" for result lines, "M" for -mark texts. info messages, "R" for result lines, "M" for -mark texts.
-mark text -mark text
If text is not empty it will get put out on "M" channel each time xorriso is ready for the next If text is not empty it will get put out on "M" channel each time xorriso is ready for the next
dialog line or before xorriso performs a command that was entered to the pager prompt. dialog line or before xorriso performs a command that was entered to the pager prompt.
-msg_op opcode parameter_text -msg_op opcode parameter_text
This command shall facilitate extraction of particular informat This command shall facilitate extraction of particular information
ion from the message output of from the message output of
other commands. It gives access to the C API function Xorriso_pars other commands. It gives access to the C API function Xorriso_p
e_line() and to the message arse_line() and to the message
sieve that is provided by the C API. Please refer to their d sieve that is provided by the C API. Please refer to their desc
escriptions in file xorriso.h. riptions in file xorriso.h.
Further it helps to interpret the severity codes of info messages. Further it helps to interpret the severity codes of info messages.
Intended users are frontend programs which operate xorriso in dial og mode. Intended users are frontend programs which operate xorriso in dial og mode.
The result output of this command is not caught by the message sie ve. The result output of this command is not caught by the message sie ve.
The following opcodes are defined: The following opcodes are defined:
start_sieve start_sieve
Install the message sieve as of Xorriso_sieve_big() and start wat ching program messages. The Install the message sieve as of Xorriso_sieve_big() and start watching program messages. The
parameter_text has no meaning. parameter_text has no meaning.
show_sieve show_sieve
Show a list of filter rule names. The parameter_text has no meani ng. The list begins by a line Show a list of filter rule names. The parameter_text has no meanin g. The list begins by a line
with the return value of Xorriso_sieve_get_result() with flag bit3 . If this value is larger than with the return value of Xorriso_sieve_get_result() with flag bit3 . If this value is larger than
0, then the next line tells the number of names. The following lin es show one name each. 0, then the next line tells the number of names. The following lin es show one name each.
read_sieve read_sieve
Use the parameter_text as name of a filter rule and inquire its next recorded result. See Use the parameter_text as name of a filter rule and inquire its next recorded result. See
Xorriso_sieve_big() for a list of names and reply strings. Xorriso_sieve_big() for a list of names and reply strings.
The recorded strings are put out on result channel. They get wrapp ed into lines which tell their The recorded strings are put out on result channel. They get wrapp ed into lines which tell their
structure. The first line tells the return value of Xorriso_siev structure. The first line tells the return value of Xorriso_sieve
e_get_result(). The next line _get_result(). The next line
tells the number of strings. Each string begins by a line that tel tells the number of strings. Each string begins by a line that te
ls the number of lines of the lls the number of lines of the
string. Then follow these lines. They are to be concatenated wi string. Then follow these lines. They are to be concatenated with
th a newline character between a newline character between
each of them. Finally the number of still available recorded resu each of them. Finally the number of still available recorded re
lts of the given name is put sults of the given name is put
out. out.
clear_sieve clear_sieve
Dispose all recorded strings and continue watching program messag es. The parameter_text has no Dispose all recorded strings and continue watching program message s. The parameter_text has no
meaning. meaning.
end_sieve end_sieve
Dispose the sieve with its filter rules and stop watching program messages. The parameter_text Dispose the sieve with its filter rules and stop watching program messages. The parameter_text
has no meaning. has no meaning.
parse parse
Read a text from dialog input and submit it to Xorriso_parse_li Read a text from dialog input and submit it to Xorriso_parse_line(
ne(). The parameter_text word ). The parameter_text word
shall consist of several words separated by blanks. It will be ne shall consist of several words separated by blanks. It will be
cessary to use both kinds of necessary to use both kinds of
quotation marks. quotation marks.
E.g. "'ISO session :' '' 0 0 1" E.g. "'ISO session :' '' 0 0 1"
The five parameter words are: prefix, separators, max_words, fla The five parameter words are: prefix, separators, max_words, flag,
g, number_of_input_lines. The number_of_input_lines. The
former four are handed over to Xorriso_parse_line(). The number of former four are handed over to Xorriso_parse_line(). The number
input lines minus one tells of input lines minus one tells
xorriso how many newline characters are part of the input text. xorriso how many newline characters are part of the input text.
The announced number of text lines will be read from dialog inpu The announced number of text lines will be read from dialog input,
t, concatenated with a newline concatenated with a newline
character between each of them, and submitted to Xorriso_parse_lin character between each of them, and submitted to Xorriso_parse_l
e() as parameter line. Note ine() as parameter line. Note
that newlines outside of quotation marks are interpreted a that newlines outside of quotation marks are interpreted as s
s separators if the separators eparators if the separators
parameter is empty. parameter is empty.
The parsed strings are put out on result channel. They get wrapped The parsed strings are put out on result channel. They get wrapp
into lines which tell their ed into lines which tell their
structure. The first line tells the return value of Xorriso_pars structure. The first line tells the return value of Xorriso_parse
e_line(). The next line tells _line(). The next line tells
the number of strings. Each string begins by a line that tells t the number of strings. Each string begins by a line that te
he number of lines of the lls the number of lines of the
string. Then follow these lines. They are to be concatenated wi string. Then follow these lines. They are to be concatenated with
th a newline character between a newline character between
each of them. each of them.
If -backslash_codes "encode_output" is enabled, then the strings u ndergo encoding as if they If -backslash_codes "encode_output" is enabled, then the strin gs undergo encoding as if they
were enclosed in quotes. Escpecially each string will be put out a s a single result line. were enclosed in quotes. Escpecially each string will be put out a s a single result line.
parse_bulk parse_bulk
Like "parse", but with the fifth parameter word being num Like "parse", but with the fifth parameter word being numbe
ber_of_input_texts rather than r_of_input_texts rather than
number_of_input_lines. Each input text has to be preceded number_of_input_lines. Each input text has to be prec
by a line that tells eded by a line that tells
number_of_input_lines as with "parse". Then come the announced nu mber of text lines. number_of_input_lines as with "parse". Then come the announced nu mber of text lines.
All input texts will be read before printing of result lines be All input texts will be read before printing of result lines begin
gins. This consumes memory in s. This consumes memory in
xorriso. So the number_of_input_texts should not be extremely high xorriso. So the number_of_input_texts should not be extremely
. On the other hand, large high. On the other hand, large
transactions of command, input texts, and results are desirab transactions of command, input texts, and results are desirable i
le if connection latency is an f connection latency is an
issue. issue.
parse_silently parse_silently
Like "parse" but not issuing a prompting message. Confusing to hum ans. Like "parse" but not issuing a prompting message. Confusing to hum ans.
parse_bulk_silently parse_bulk_silently
Like "parse_bulk" but not issuing a prompting message. Confusing t o humans. Like "parse_bulk" but not issuing a prompting message. Confusing t o humans.
compare_sev compare_sev
The parameter_text should contain two comma separated severity tex ts as issued by this program. The parameter_text should contain two comma separated severity te xts as issued by this program.
Like "SORRY,UPDATE". See also paragraph "Exception processing". Like "SORRY,UPDATE". See also paragraph "Exception processing".
These two severity texts get compared and a number gets print These two severity texts get compared and a number gets printed t
ed to the result channel. This o the result channel. This
number is 0 if both severities are equal. It is -1 if the first number is 0 if both severities are equal. It is -1 if the fi
severity is lower than the rst severity is lower than the
second one. It is 1 is the first severity is higher than the seco nd one. second one. It is 1 is the first severity is higher than the seco nd one.
Above example "SORRY,UPDATE" will yield 1. Above example "SORRY,UPDATE" will yield 1.
list_sev list_sev
Print to the result channel a blank separated list of all sever ity names. Sorted from low to Print to the result channel a blank separated list of all severity names. Sorted from low to
high severity. high severity.
-named_pipe_loop mode[:mode] disk_path_stdin disk_path_stdout disk_path_s tderr -named_pipe_loop mode[:mode] disk_path_stdin disk_path_stdout disk_path_s tderr
Temporarily replace standard input, standard output and standard e rror by named pipes. Enter Temporarily replace standard input, standard output and standa rd error by named pipes. Enter
dialog mode without readline. dialog mode without readline.
Defined modes are: Defined modes are:
"cleanup" removes the submitted pipe files when the loop ends. "cleanup" removes the submitted pipe files when the loop ends.
"keep" does not delete them. This is the default. "keep" does not delete them. This is the default.
"buffered" reads all lines from the input pipe until EOF before it opens the output pipes and "buffered" reads all lines from the input pipe until EOF before it opens the output pipes and
processes the input lines. processes the input lines.
"direct" opens the output pipes after the first input line was re ad. Each line is executed "direct" opens the output pipes after the first input line wa s read. Each line is executed
directly after it is read. This is the default. directly after it is read. This is the default.
The other three parameters must either be disk paths to existing n amed pipes, or be "-" to leave The other three parameters must either be disk paths to existing n amed pipes, or be "-" to leave
the according standard i/o channel unreplaced. the according standard i/o channel unreplaced.
xorriso will open the stdin pipe, read and execute dialog lines fr xorriso will open the stdin pipe, read and execute dialog lines f
om it until the sender closes rom it until the sender closes
the pipe. The output pipes get opened depending on mode "buffered the pipe. The output pipes get opened depending on mode "buffered"
" or "direct". After all lines or "direct". After all lines
are executed, xorriso will close its side of the pipes and enter a new cycle of opening, reading are executed, xorriso will close its side of the pipes and enter a new cycle of opening, reading
and executing. and executing.
If an input line consists only of the word "end_named_pipe_loop" then -named_pipe_loop will end If an input line consists only of the word "end_named_pipe_loop" t hen -named_pipe_loop will end
and further xorriso commands may be executed from other sources. and further xorriso commands may be executed from other sources.
-launch_frontend program [arguments ...] -- -launch_frontend program [arguments ...] --
Start the program that is given as first parameter. Submit the other parameters as program Start the program that is given as first parameter. Submit t he other parameters as program
arguments. Enable xorriso dialog mode. arguments. Enable xorriso dialog mode.
Two nameless pipe objects are created. xorriso standard input Two nameless pipe objects are created. xorriso standard input gets
gets connected to the standard connected to the standard
output of the started program. xorriso standard output and standa output of the started program. xorriso standard output and stand
rd error get connected to the ard error get connected to the
standard input of that program. standard input of that program.
xorriso will abort when the started program ends or if it can xorriso will abort when the started program ends or if it cannot b
not be started at all. In both e started at all. In both
cases it will return a non-zero exit value. The exit value will b cases it will return a non-zero exit value. The exit value will
e zero if the frontend sends be zero if the frontend sends
-end or -rollback_end before ending itself. -end or -rollback_end before ending itself.
This command may be totaly banned at compile time. It is banned by default if xorriso runs under This command may be totaly banned at compile time. It is banned by default if xorriso runs under
setuid permissions. setuid permissions.
The program name will not be searched in the $PATH directories. T o make this clear, it must The program name will not be searched in the $PATH directories . To make this clear, it must
contain at least one /-character. Best is an absolute path. contain at least one /-character. Best is an absolute path.
Example: Example:
xorriso -launch_frontend "$(which xorriso-tcltk)" -stdio -- xorriso -launch_frontend "$(which xorriso-tcltk)" -stdio --
The frontend program should first send via its standard output: The frontend program should first send via its standard output:
-mark 0 -pkt_output on -msg_op start_sieve - -reassure off -mark 0 -pkt_output on -msg_op start_sieve - -reassure off
It should be ready to decode -pkt_output and to react on -mark m essages. Best is to increment It should be ready to decode -pkt_output and to react on -mark mes sages. Best is to increment
the -mark number after each sent command sequence and then to wait for the new number to show up the -mark number after each sent command sequence and then to wait for the new number to show up
in a mark message: in a mark message:
...some...commands... -mark <incremented_number> ...some...commands... -mark <incremented_number>
Further are advised: Further are advised:
-report_about UPDATE -abort_on NEVER -report_about UPDATE -abort_on NEVER
-iso_rr_pattern off -disk_pattern off -iso_rr_pattern off -disk_pattern off
A check of the xorriso version should be done, in order to make sure that all desired features A check of the xorriso version should be done, in order to make su re that all desired features
are present. are present.
Command -launch_frontend will only work once per xorriso run. If Command -launch_frontend will only work once per xorriso run.
no command parameters are If no command parameters are
submitted or if program is an empty text, then no program wi submitted or if program is an empty text, then no program will
ll be started but nevertheless be started but nevertheless
-launch_frontend will be irrevocably disabled. -launch_frontend will be irrevocably disabled.
-prog text -prog text
Use text as name of this program in subsequent messages Use text as name of this program in subsequent messages
-prog_help text -prog_help text
Use text as name of this program and perform -help. Use text as name of this program and perform -help.
EXAMPLES EXAMPLES
Overview of examples: Overview of examples:
skipping to change at line 3512 skipping to change at line 3540
Burn an existing ISO image file to medium Burn an existing ISO image file to medium
Perform multi-session runs as of cdrtools traditions Perform multi-session runs as of cdrtools traditions
Let xorriso work underneath growisofs Let xorriso work underneath growisofs
Adjust thresholds for verbosity, exit value and program abort Adjust thresholds for verbosity, exit value and program abort
Examples of input timestrings Examples of input timestrings
Incremental backup of a few directory trees Incremental backup of a few directory trees
Restore directory trees from a particular ISO session to disk Restore directory trees from a particular ISO session to disk
Try to retrieve blocks from a damaged medium Try to retrieve blocks from a damaged medium
As superuser learn about available drives As superuser learn about available drives
On Linux, FreeBSD or NetBSD consider to give rw-permissions to those user s or groups which shall be On Linux, FreeBSD or NetBSD consider to give rw-permissions to those users or groups which shall be
able to use the drives with xorriso. On Solaris use pfexec. Consider to restrict privileges of xorriso able to use the drives with xorriso. On Solaris use pfexec. Consider to restrict privileges of xorriso
to "base,sys_devices" and to give r-permission to user or group. to "base,sys_devices" and to give r-permission to user or group.
$ xorriso -device_links $ xorriso -device_links
1 -dev '/dev/cdrom1' rwrw-- : 'TSSTcorp' 'DVD-ROM SH-D162C 1 -dev '/dev/cdrom1' rwrw-- : 'TSSTcorp' 'DVD-ROM SH-D162C
1 -dev '/dev/cdrw' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S223B' 1 -dev '/dev/cdrw' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S223B'
2 -dev '/dev/cdrw3' rwrw-- : 'HL-DT-ST' 'BDDVDRW_GGC-H20L' 2 -dev '/dev/cdrw3' rwrw-- : 'HL-DT-ST' 'BDDVDRW_GGC-H20L'
Blank medium and compose a new ISO image as batch run Blank medium and compose a new ISO image as batch run
Acquire drive /dev/sr2, make medium ready for writing a new image, fill t he image with the files from Acquire drive /dev/sr2, make medium ready for writing a new image, fill the image with the files from
hard disk directories /home/me/sounds and /home/me/pictures. hard disk directories /home/me/sounds and /home/me/pictures.
Because no -dialog "on" is given, the program will then end by writing th e session to the medium. Because no -dialog "on" is given, the program will then end by writing th e session to the medium.
$ xorriso -outdev /dev/sr2 \ $ xorriso -outdev /dev/sr2 \
-blank as_needed \ -blank as_needed \
-map /home/me/sounds /sounds \ -map /home/me/sounds /sounds \
-map /home/me/pictures /pictures -map /home/me/pictures /pictures
The ISO image may be shaped in a more elaborate way like the followin g: Omit some unwanted stuff by The ISO image may be shaped in a more elaborate way like the following: O mit some unwanted stuff by
removing it from the image directory tree. Reintroduce some wanted stuff . removing it from the image directory tree. Reintroduce some wanted stuff .
$ cd /home/me $ cd /home/me
$ xorriso -outdev /dev/sr2 \ $ xorriso -outdev /dev/sr2 \
-blank as_needed \ -blank as_needed \
-map /home/me/sounds /sounds \ -map /home/me/sounds /sounds \
-map /home/me/pictures /pictures \ -map /home/me/pictures /pictures \
-rm_r \ -rm_r \
/sounds/indecent \ /sounds/indecent \
'/pictures/*private*' \ '/pictures/*private*' \
/pictures/confidential \ /pictures/confidential \
-- \ -- \
-cd / \ -cd / \
-add pictures/confidential/work* -- -add pictures/confidential/work* --
Note that '/pictures/*private*' is a pattern for iso_rr_paths while pic Note that '/pictures/*private*' is a pattern for iso_rr_paths while pi
tures/confidential/work* gets ctures/confidential/work* gets
expanded by the shell with addresses from the hard disk. Command expanded by the shell with addresses from the hard disk. Commands -a
s -add and -map have different dd and -map have different
parameter rules but finally the same effect: they put files into the imag e. parameter rules but finally the same effect: they put files into the imag e.
A dialog session doing about the same A dialog session doing about the same
Some settings are already given as start argument. The other activities a re done as dialog input. The Some settings are already given as start argument. The other activities are done as dialog input. The
pager gets set to 20 lines of 80 characters. pager gets set to 20 lines of 80 characters.
The drive is acquired by command -dev rather than -outdev in order to see the message about its current The drive is acquired by command -dev rather than -outdev in order to see the message about its current
content. By command -blank this content is made ready for being overwritt en and the loaded ISO image is content. By command -blank this content is made ready for being overwritt en and the loaded ISO image is
made empty. made empty.
In order to be able to eject the medium, the session needs to be committe d explicitly. In order to be able to eject the medium, the session needs to be committe d explicitly.
$ xorriso -dialog on -page 20 80 -disk_pattern on $ xorriso -dialog on -page 20 80 -disk_pattern on
enter option and arguments : enter option and arguments :
-dev /dev/sr2 -dev /dev/sr2
enter option and arguments : enter option and arguments :
-blank as_needed -blank as_needed
skipping to change at line 3573 skipping to change at line 3601
enter option and arguments : enter option and arguments :
-cdx /home/me/pictures -cd /pictures -cdx /home/me/pictures -cd /pictures
enter option and arguments : enter option and arguments :
-add confidential/office confidential/factory -add confidential/office confidential/factory
enter option and arguments : enter option and arguments :
-du / -du /
enter option and arguments : enter option and arguments :
-commit_eject all -end -commit_eject all -end
Manipulate an existing ISO image on the same medium Manipulate an existing ISO image on the same medium
Load image from drive. Remove (i.e. hide) directory /sounds and its s Load image from drive. Remove (i.e. hide) directory /sounds and its sub
ubordinates. Rename directory ordinates. Rename directory
/pictures/confidential to /pictures/restricted. Change access /pictures/confidential to /pictures/restricted. Change access
permissions of directory permissions of directory
/pictures/restricted. Add new directory trees /sounds and /movies. /pictures/restricted. Add new directory trees /sounds and /movies. Burn
Burn to the same medium, check to the same medium, check
whether the tree can be loaded, and eject. whether the tree can be loaded, and eject.
$ xorriso -dev /dev/sr2 \ $ xorriso -dev /dev/sr2 \
-rm_r /sounds -- \ -rm_r /sounds -- \
-mv \ -mv \
/pictures/confidential \ /pictures/confidential \
/pictures/restricted \ /pictures/restricted \
-- \ -- \
-chmod go-rwx /pictures/restricted -- \ -chmod go-rwx /pictures/restricted -- \
-map /home/me/prepared_for_dvd/sounds_dummy /sounds \ -map /home/me/prepared_for_dvd/sounds_dummy /sounds \
-map /home/me/prepared_for_dvd/movies /movies \ -map /home/me/prepared_for_dvd/movies /movies \
skipping to change at line 3598 skipping to change at line 3626
Copy modified ISO image from one medium to another Copy modified ISO image from one medium to another
Load image from input drive. Do the same manipulations as in the previous example. Acquire output drive Load image from input drive. Do the same manipulations as in the previous example. Acquire output drive
and blank it. Burn the modified image as first and only session to the ou tput drive. and blank it. Burn the modified image as first and only session to the ou tput drive.
$ xorriso -indev /dev/sr2 \ $ xorriso -indev /dev/sr2 \
-rm_r /sounds -- \ -rm_r /sounds -- \
... ...
-outdev /dev/sr0 -blank as_needed \ -outdev /dev/sr0 -blank as_needed \
-commit -eject all -commit -eject all
Bring a prepared ISOLINUX tree onto medium and make it bootable Bring a prepared ISOLINUX tree onto medium and make it bootable
The user has already created a suitable file tree on disk and copied the ISOLINUX files into The user has already created a suitable file tree on disk and copi ed the ISOLINUX files into
subdirectory ./boot/isolinux of that tree. Now xorriso can burn an El To rito bootable medium: subdirectory ./boot/isolinux of that tree. Now xorriso can burn an El To rito bootable medium:
$ xorriso -outdev /dev/sr0 -blank as_needed \ $ xorriso -outdev /dev/sr0 -blank as_needed \
-map /home/me/ISOLINUX_prepared_tree / \ -map /home/me/ISOLINUX_prepared_tree / \
-boot_image isolinux dir=/boot/isolinux -boot_image isolinux dir=/boot/isolinux
Change existing file name tree from ISO-8859-1 to UTF-8 Change existing file name tree from ISO-8859-1 to UTF-8
This example assumes that the existing ISO image was written with charact er set ISO-8859-1 but that the This example assumes that the existing ISO image was written with charact er set ISO-8859-1 but that the
readers expected UTF-8. Now a new session gets added with con verted file names. Command readers expected UTF-8. Now a new session gets added with conve rted file names. Command
-changes_pending "yes" enables writing despite the lack of any manipulati on command. -changes_pending "yes" enables writing despite the lack of any manipulati on command.
In order to avoid any weaknesses of the local character set, this command pretends that it uses already In order to avoid any weaknesses of the local character set, this command pretends that it uses already
the final target set UTF-8. Therefore strange file names may appear i n messages, which will be made the final target set UTF-8. Therefore strange file names may appear in m essages, which will be made
terminal-safe by command -backslash_codes. terminal-safe by command -backslash_codes.
$ xorriso -in_charset ISO-8859-1 -local_charset UTF-8 \ $ xorriso -in_charset ISO-8859-1 -local_charset UTF-8 \
-out_charset UTF-8 -backslash_codes on -dev /dev/sr0 \ -out_charset UTF-8 -backslash_codes on -dev /dev/sr0 \
-changes_pending yes -commit -eject all -changes_pending yes -commit -eject all
Operate on storage facilities other than optical drives Operate on storage facilities other than optical drives
Full read-write operation is possible with regular files and block device s: Full read-write operation is possible with regular files and block device s:
$ xorriso -dev /tmp/regular_file ... $ xorriso -dev /tmp/regular_file ...
Paths underneath /dev normally need prefix "stdio:" Paths underneath /dev normally need prefix "stdio:"
$ xorriso -dev stdio:/dev/sdb ... $ xorriso -dev stdio:/dev/sdb ...
If /dev/sdb is to be used frequently and /dev/sda is the system disk, If /dev/sdb is to be used frequently and /dev/sda is the system di
then consider to place the sk, then consider to place the
following lines in a xorriso Startup File. They allow you to use /dev/ following lines in a xorriso Startup File. They allow you to use /dev/sd
sdb without prefix and protect b without prefix and protect
disk /dev/sda from xorriso: disk /dev/sda from xorriso:
-drive_class banned /dev/sda* -drive_class banned /dev/sda*
-drive_class harmless /dev/sdb -drive_class harmless /dev/sdb
Other writeable file types are supported write-only: Other writeable file types are supported write-only:
$ xorriso -outdev /tmp/named_pipe ... $ xorriso -outdev /tmp/named_pipe ...
Among the write-only drives is standard output: Among the write-only drives is standard output:
$ xorriso -outdev - \ $ xorriso -outdev - \
... ...
| gzip >image.iso.gz | gzip >image.iso.gz
skipping to change at line 3647 skipping to change at line 3675
Between both processes there can be performed arbitrary transportation or filtering. Between both processes there can be performed arbitrary transportation or filtering.
The first session is written like this: The first session is written like this:
$ xorriso -as mkisofs prepared_for_iso/tree1 | \ $ xorriso -as mkisofs prepared_for_iso/tree1 | \
xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject - xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject -
Follow-up sessions are written like this: Follow-up sessions are written like this:
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo) $ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ xorriso -as mkisofs -M /dev/sr0 -C $m prepared_for_iso/tree2 | \ $ xorriso -as mkisofs -M /dev/sr0 -C $m prepared_for_iso/tree2 | \
xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject - xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
Always eject the drive tray between sessions. The old sessions get read v ia /dev/sr0. Its device driver Always eject the drive tray between sessions. The old sessions get read v ia /dev/sr0. Its device driver
might not be aware of the changed content before it loads the medium aga in. In this case the previous might not be aware of the changed content before it loads the medium agai n. In this case the previous
session would not be loaded and the new session would contain only the ne wly added files. session would not be loaded and the new session would contain only the ne wly added files.
For the same reason do not let xorriso -as cdrecord load the medium, but rather do this manually or by For the same reason do not let xorriso -as cdrecord load the medium, but rather do this manually or by
a program that reads from /dev/sr0. a program that reads from /dev/sr0.
This example works for multi-session media only. Add cdrskin option - -grow_overwriteable_iso to all This example works for multi-session media only. Add cdrskin option --g row_overwriteable_iso to all
-as cdrecord runs in order to enable multi-session emulation on overwrite able media. -as cdrecord runs in order to enable multi-session emulation on overwrite able media.
Let xorriso work underneath growisofs Let xorriso work underneath growisofs
growisofs expects an ISO formatter program which understands options -C a nd -M. If xorriso gets started growisofs expects an ISO formatter program which understands options -C a nd -M. If xorriso gets started
by name "xorrisofs" then it is suitable for that. by name "xorrisofs" then it is suitable for that.
$ export MKISOFS="xorrisofs" $ export MKISOFS="xorrisofs"
$ growisofs -Z /dev/dvd /some/files $ growisofs -Z /dev/dvd /some/files
$ growisofs -M /dev/dvd /more/files $ growisofs -M /dev/dvd /more/files
If no "xorrisofs" is available on your system, then you will have to create a link pointing to the If no "xorrisofs" is available on your system, then you will have to crea te a link pointing to the
xorriso binary and tell growisofs to use it. E.g. by: xorriso binary and tell growisofs to use it. E.g. by:
$ ln -s $(which xorriso) "$HOME/xorrisofs" $ ln -s $(which xorriso) "$HOME/xorrisofs"
$ export MKISOFS="$HOME/xorrisofs" $ export MKISOFS="$HOME/xorrisofs"
One may quit mkisofs emulation by argument "--" and make use of all xorriso commands. growisofs One may quit mkisofs emulation by argument "--" and make use of a ll xorriso commands. growisofs
dislikes options which start with "-o" but -outdev must be set to "-". S o use "outdev" instead: dislikes options which start with "-o" but -outdev must be set to "-". S o use "outdev" instead:
$ growisofs -Z /dev/dvd -- outdev - -update_r /my/files /files $ growisofs -Z /dev/dvd -- outdev - -update_r /my/files /files
$ growisofs -M /dev/dvd -- outdev - -update_r /my/files /files $ growisofs -M /dev/dvd -- outdev - -update_r /my/files /files
growisofs has excellent burn capabilities with DVD and BD. It does not emulate session history on growisofs has excellent burn capabilities with DVD and BD. It does not emulate session history on
overwriteable media, though. overwriteable media, though.
Adjust thresholds for verbosity, exit value and program abort Adjust thresholds for verbosity, exit value and program abort
Be quite verbous, exit 32 if severity "FAILURE" was encountered, do not a bort prematurely but forcibly Be quite verbous, exit 32 if severity "FAILURE" was encountered, do not abort prematurely but forcibly
go on until the end of commands. go on until the end of commands.
$ xorriso ... \ $ xorriso ... \
-report_about UPDATE \ -report_about UPDATE \
-return_with FAILURE 32 \ -return_with FAILURE 32 \
-abort_on NEVER \ -abort_on NEVER \
... ...
Examples of input timestrings Examples of input timestrings
As printed by program date: 'Thu Nov 8 14:51:13 CET 2007' As printed by program date: 'Thu Nov 8 14:51:13 CET 2007'
The same without ignored parts: 'Nov 8 14:51:13 2007' The same without ignored parts: 'Nov 8 14:51:13 2007'
The same as expected by date: 110814512007.13 The same as expected by date: 110814512007.13
Four weeks in the future: +4w Four weeks in the future: +4w
The current time: +0 The current time: +0
Three hours ago: -3h Three hours ago: -3h
Seconds since Jan 1 1970: =1194531416 Seconds since Jan 1 1970: =1194531416
Incremental backup of a few directory trees Incremental backup of a few directory trees
This changes the directory trees /projects and /personal_mail in the ISO image so that they become This changes the directory trees /projects and /personal_mail in the ISO image so that they become
exact copies of their disk counterparts. ISO file objects get created, d eleted or get their attributes exact copies of their disk counterparts. ISO file objects get created, d eleted or get their attributes
adjusted accordingly. adjusted accordingly.
ACL, xattr, hard links and MD5 checksums will be recorded. Accelerate ACL, xattr, hard links and MD5 checksums will be recorded. Accelerated c
d comparison is enabled at the omparison is enabled at the
expense of potentially larger backup size. Only media with the expected v expense of potentially larger backup size. Only media with the expecte
olume ID or blank media are d volume ID or blank media are
accepted. Files with names matching *.o or *.swp get excluded explicitly . accepted. Files with names matching *.o or *.swp get excluded explicitly .
When done with writing the new session gets checked by its recorded MD5. When done with writing the new session gets checked by its recorded MD5.
$ xorriso \ $ xorriso \
-abort_on FATAL \ -abort_on FATAL \
-for_backup -disk_dev_ino on \ -for_backup -disk_dev_ino on \
-assert_volid 'PROJECTS_MAIL_*' FATAL \ -assert_volid 'PROJECTS_MAIL_*' FATAL \
-dev /dev/sr0 \ -dev /dev/sr0 \
-volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \ -volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \
-not_leaf '*.o' -not_leaf '*.swp' \ -not_leaf '*.o' -not_leaf '*.swp' \
-update_r /home/thomas/projects /projects \ -update_r /home/thomas/projects /projects \
-update_r /home/thomas/personal_mail /personal_mail \ -update_r /home/thomas/personal_mail /personal_mail \
-commit -toc -check_md5 FAILURE -- -eject all -commit -toc -check_md5 FAILURE -- -eject all
To be used several times on the same medium, whenever an update of the t To be used several times on the same medium, whenever an update of the tw
wo disk trees to the medium is o disk trees to the medium is
desired. Begin with a blank medium and update it until the run fails desired. Begin with a blank medium and update it until the run f
gracefully due to lack of ails gracefully due to lack of
remaining space on the old one. remaining space on the old one.
This makes sense if the full backup leaves substantial remaining capacit This makes sense if the full backup leaves substantial remaining capacity
y on media and if the expected on media and if the expected
changes are much smaller than the full backup. To apply zisofs compressi changes are much smaller than the full backup. To apply zisofs compres
on to those data files which sion to those data files which
get newly copied from the local filesystem, insert these commands immedia tely before -commit : get newly copied from the local filesystem, insert these commands immedia tely before -commit :
-hardlinks perform_update \ -hardlinks perform_update \
-find / -type f -pending_data -exec set_filter --zisofs -- \ -find / -type f -pending_data -exec set_filter --zisofs -- \
Commands -disk_dev_ino and -for_backup depend on stable device and inode numbers on disk. Without them, Commands -disk_dev_ino and -for_backup depend on stable device and inode numbers on disk. Without them,
an update run may use -md5 "on" to match recorded MD5 sums against the cu rrent file content on hard an update run may use -md5 "on" to match recorded MD5 sums against th e current file content on hard
disk. This is usually much faster than the default which compares both co ntents directly. disk. This is usually much faster than the default which compares both co ntents directly.
With mount option -o "sbsector=" on GNU/Linux or -s on FreeBSD or NetBS D it is possible to access the With mount option -o "sbsector=" on GNU/Linux or -s on FreeBSD or NetBSD it is possible to access the
session trees which represent the older backup versions. With CD media, G NU/Linux mount accepts session session trees which represent the older backup versions. With CD media, G NU/Linux mount accepts session
numbers directly by its option "session=". numbers directly by its option "session=".
Multi-session media and most overwriteable media written by xorriso c Multi-session media and most overwriteable media written by xorriso can t
an tell the sbsectors of their ell the sbsectors of their
sessions by xorriso command -toc. Used after -commit the following comma sessions by xorriso command -toc. Used after -commit the following com
nd prints the matching mount mand prints the matching mount
command for the newly written session (here for mount point /mnt): command for the newly written session (here for mount point /mnt):
-mount_cmd "indev" "auto" "auto" /mnt -mount_cmd "indev" "auto" "auto" /mnt
Commands -mount_cmd and -mount are also able to produce the mount comm ands for older sessions in the Commands -mount_cmd and -mount are also able to produce the mount command s for older sessions in the
table-of-content. E.g. as superuser: table-of-content. E.g. as superuser:
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt # osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
Above example produces a result similar to -root / -old-root / with mkis ofs. For getting the session Above example produces a result similar to -root / -old-root / with mki sofs. For getting the session
trees accumulated in the new sessions, let all -update commands use a com mon parent directory and clone trees accumulated in the new sessions, let all -update commands use a com mon parent directory and clone
it after updating is done: it after updating is done:
-update_r /home/thomas/projects /current/projects \ -update_r /home/thomas/projects /current/projects \
-update_r /home/thomas/personal_mail /current/personal_mail \ -update_r /home/thomas/personal_mail /current/personal_mail \
-clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \ -clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \
The cloned tree will have a name like /2011_02_12_155700. The cloned tree will have a name like /2011_02_12_155700.
Sessions on multi-session media are separated by several MB of unused blo Sessions on multi-session media are separated by several MB of unused b
cks. So with small sessions locks. So with small sessions
the payload capacity can become substantially lower than the overall me the payload capacity can become substantially lower than the overall medi
dia capacity. If the remaining a capacity. If the remaining
space on a medium does not suffice for the next gap, the drive is su space on a medium does not suffice for the next gap, the drive i
pposed to close the medium s supposed to close the medium
automatically. automatically.
Better do not use your youngest backup for -update_r. Have at least two media which you use Better do not use your youngest backup for -update_r. Have at leas t two media which you use
alternatingly. So only older backups get endangered by the new write oper ation, while the newest backup alternatingly. So only older backups get endangered by the new write oper ation, while the newest backup
is stored safely on a different medium. is stored safely on a different medium.
Always have a blank medium ready to perform a full backup in case t he update attempt fails due to Always have a blank medium ready to perform a full backup in case the u pdate attempt fails due to
insufficient remaining capacity. This failure will not spoil the old medi um, of course. insufficient remaining capacity. This failure will not spoil the old medi um, of course.
Restore directory trees from a particular ISO session to disk Restore directory trees from a particular ISO session to disk
This is an alternative to mounting the medium and using normal file opera tions. This is an alternative to mounting the medium and using normal file opera tions.
First check which backup sessions are on the medium: First check which backup sessions are on the medium:
$ xorriso -outdev /dev/sr0 -toc $ xorriso -outdev /dev/sr0 -toc
Then enable restoring of ACL, xattr and hard links. Load the desired sess ion and copy the file trees to Then enable restoring of ACL, xattr and hard links. Load the desired sess ion and copy the file trees to
disk. Avoid to create /home/thomas/restored without rwx-permission. disk. Avoid to create /home/thomas/restored without rwx-permission.
$ xorriso -for_backup \ $ xorriso -for_backup \
-load volid 'PROJECTS_MAIL_2008_06_19*' \ -load volid 'PROJECTS_MAIL_2008_06_19*' \
skipping to change at line 3769 skipping to change at line 3797
-extract /projects /home/thomas/restored/projects \ -extract /projects /home/thomas/restored/projects \
-extract /personal_mail /home/thomas/restored/personal_mail \ -extract /personal_mail /home/thomas/restored/personal_mail \
-rollback_end -rollback_end
The final command -rollback_end prevents an error message about the alter ed image being discarded. The final command -rollback_end prevents an error message about the alter ed image being discarded.
Try to retrieve blocks from a damaged medium Try to retrieve blocks from a damaged medium
$ xorriso -abort_on NEVER -indev /dev/sr0 \ $ xorriso -abort_on NEVER -indev /dev/sr0 \
-check_media time_limit=1800 report=blocks_files \ -check_media time_limit=1800 report=blocks_files \
data_to="$HOME"/dvd_copy sector_map="$HOME"/dvd_copy.map -- data_to="$HOME"/dvd_copy sector_map="$HOME"/dvd_copy.map --
This can be repeated several times, if necessary with -eject or with othe r -indev drives. See the human This can be repeated several times, if necessary with -eject or with othe r -indev drives. See the human
readable part of "$HOME"/dvd_copy.map for addresses which can be used on "$HOME"/dvd_copy with mount readable part of "$HOME"/dvd_copy.map for addresses which can be used on "$HOME"/dvd_copy with mount
option -o sbsector= or -s. option -o sbsector= or -s.
FILES FILES
Program alias names: Program alias names:
Normal installation of xorriso creates three links or copies which by their program name pre-select Normal installation of xorriso creates three links or copies which by th eir program name pre-select
certain settings: certain settings:
xorrisofs starts xorriso with -as mkisofs emulation. xorrisofs starts xorriso with -as mkisofs emulation.
xorrecord starts xorriso with -as cdrecord emulation. xorrecord starts xorriso with -as cdrecord emulation.
osirrox starts with -osirrox "on:o_excl_off" which allows further command s to copy files from ISO image osirrox starts with -osirrox "on:o_excl_off" which allows further command s to copy files from ISO image
to disk and to apply command -mount to one or more of the existing ISO se ssions. to disk and to apply command -mount to one or more of the existing ISO se ssions.
Startup files: Startup files:
If not -no_rc is given as the first argument then xorriso attempts on sta rtup to read and execute lines If not -no_rc is given as the first argument then xorriso attempts on sta rtup to read and execute lines
from the following files: from the following files:
/etc/default/xorriso /etc/default/xorriso
/etc/opt/xorriso/rc /etc/opt/xorriso/rc
/etc/xorriso/xorriso.conf /etc/xorriso/xorriso.conf
$HOME/.xorrisorc $HOME/.xorrisorc
The files are read in the sequence given above, but none of them is requi red to exist. The line format The files are read in the sequence given above, but none of them is requ ired to exist. The line format
is described with command -options_from_file. is described with command -options_from_file.
If mkisofs emulation was enabled by program name "xorrisofs", "mkisofs", "genisoimage", or "genisofs", If mkisofs emulation was enabled by program name "xorrisofs", "mkisofs", "genisoimage", or "genisofs",
then afterwards -read_mkisofsrc is performed, which reads .mkisofsrc file s. See there. then afterwards -read_mkisofsrc is performed, which reads .mkisofsrc file s. See there.
Runtime control files: Runtime control files:
The default setting of -check_media abort_file= is: The default setting of -check_media abort_file= is:
/var/opt/xorriso/do_abort_check_media /var/opt/xorriso/do_abort_check_media
ENVIRONMENT ENVIRONMENT
The following environment variables influence the program behavior: The following environment variables influence the program behavior:
HOME is used to find xorriso and mkisofs startup files. HOME is used to find startup files of xorriso and mkisofs.
SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org. It SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org.
is supposed to be either It is supposed to be either
undefined or to contain a decimal number which tells the seconds since ja nuary 1st 1970. If it contains undefined or to contain a decimal number which tells the seconds since ja nuary 1st 1970. If it contains
a number, then it is used as time value to set the default of -volume da te "uuid", sets -boot_image a number, then it is used as time value to set the default of -volume date "uuid", sets -boot_image
"any" "gpt_disk_guid=" to "volume_date_uuid", and -volume_date "all_file_ dates" to "set_to_mtime", "any" "gpt_disk_guid=" to "volume_date_uuid", and -volume_date "all_file_ dates" to "set_to_mtime",
Startup files and program options can override the effect of SOURCE_DATE_ EPOCH. Startup files and program options can override the effect of SOURCE_DATE_ EPOCH.
SEE ALSO SEE ALSO
For the mkisofs emulation of xorriso For the mkisofs emulation of xorriso
xorrisofs(1) xorrisofs(1)
For the cdrecord emulation of xorriso For the cdrecord emulation of xorriso
xorrecord(1) xorrecord(1)
skipping to change at line 3835 skipping to change at line 3863
ACL and xattr ACL and xattr
getfacl(1), setfacl(1), getfattr(1), setfattr(1) getfacl(1), setfacl(1), getfattr(1), setfattr(1)
MD5 checksums MD5 checksums
md5sum(1) md5sum(1)
On FreeBSD the commands for xattr and MD5 differ On FreeBSD the commands for xattr and MD5 differ
getextattr(8), setextattr(8), md5(1) getextattr(8), setextattr(8), md5(1)
BUGS BUGS
To report bugs, request help, or suggest enhancements for xorriso, plea se send electronic mail to the To report bugs, request help, or suggest enhancements for xorriso, please send electronic mail to the
public list <bug-xorriso@gnu.org>. If more privacy is desired, mail to < scdbackup@gmx.net>. public list <bug-xorriso@gnu.org>. If more privacy is desired, mail to < scdbackup@gmx.net>.
Please describe what you expect xorriso to do, the program arguments or d ialog commands by which you Please describe what you expect xorriso to do, the program arguments o r dialog commands by which you
tried to achieve it, the messages of xorriso, and the undesirable outcome of your program run. tried to achieve it, the messages of xorriso, and the undesirable outcome of your program run.
Expect to get asked more questions before solutions can be proposed. Expect to get asked more questions before solutions can be proposed.
AUTHOR AUTHOR
Thomas Schmitt <scdbackup@gmx.net> Thomas Schmitt <scdbackup@gmx.net>
for libburnia-project.org for libburnia-project.org
COPYRIGHT COPYRIGHT
Copyright (c) 2007 - 2016 Thomas Schmitt Copyright (c) 2007 - 2017 Thomas Schmitt
Permission is granted to distribute this text freely. It shall onl Permission is granted to distribute this text freely. It shall only be
y be modified in sync with the modified in sync with the
technical properties of xorriso. If you make use of the license to deriv e modified versions of xorriso technical properties of xorriso. If you make use of the license to deriv e modified versions of xorriso
then you are entitled to modify this text under that same license. then you are entitled to modify this text under that same license.
CREDITS CREDITS
xorriso is in part based on work by Vreixo Formoso who provides libisofs xorriso is in part based on work by Vreixo Formoso who provides libisofs
together with Mario Danic who together with Mario Danic who
also leads the libburnia team. Vladimir Serbinenko contributed the HFS+ also leads the libburnia team. Vladimir Serbinenko contributed the HF
filesystem code and related S+ filesystem code and related
knowledge. Thanks to Andy Polyakov who invented emulated growing, to Der ek Foreman and Ben Jansens who knowledge. Thanks to Andy Polyakov who invented emulated growing, to Der ek Foreman and Ben Jansens who
once founded libburn. once founded libburn.
Compliments towards Joerg Schilling whose cdrtools served me for ten year s. Compliments towards Joerg Schilling whose cdrtools served me for ten year s.
Version 1.4.6, Sep 16, 2016 XORRISO(1) Version 1.4.8, Sep 12, 2017 XORRISO(1)
 End of changes. 542 change blocks. 
1418 lines changed or deleted 1466 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)