"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "xorriso/xorriso.1" between
libisoburn-1.5.0.tar.gz and libisoburn-1.5.2.tar.gz

About: libisoburn is a frontend for the libraries libburn and libisofs which enables creation and expansion of ISO-9660 filesystems on all media and file types supported by libburn. It implements the API and command interpreter of program xorriso, and installs this program as small dynamically linked binary. xorriso is suitable for incremental data backup and for production of bootable ISO 9660 images. A statically linked version is available as GNU xorriso.

xorriso.1  (libisoburn-1.5.0):xorriso.1  (libisoburn-1.5.2)
skipping to change at line 421 skipping to change at line 421
to blind growing. Unlike -dev and -indev this action does not load a new ISO image. So it can be to blind growing. Unlike -dev and -indev this action does not load a new ISO image. So it can be
performed even if there are pending changes. performed even if there are pending changes.
-outdev can be performed without previous -dev or -indev. In tha t case an empty ISO image with -outdev can be performed without previous -dev or -indev. In tha t case an empty ISO image with
no changes pending is created. It can either be populated by help of -map, -add et.al. or it can no changes pending is created. It can either be populated by help of -map, -add et.al. or it can
be discarded silently if -dev or -indev are performed afterwards. be discarded silently if -dev or -indev are performed afterwards.
Special address string "-" means standard output, to which several restrictions apply. See above Special address string "-" means standard output, to which several restrictions apply. See above
paragraph "Libburn drives". paragraph "Libburn drives".
An empty address string "" gives up the current output drive witho ut acquiring a new one. No An empty address string "" gives up the current output drive witho ut acquiring a new one. No
writing is possible without an output drive. writing is possible without an output drive.
-drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern
Add a drive path pattern to one of the safety lists or make those
lists empty. There are three
lists defined which get tested in the following sequence:
If a drive address path matches the "harmless" list then the drive
will be accepted. If it is
not a MMC device then the prefix "stdio:" will be prepended automa
tically. This list is empty by
default.
Else if the path matches the "banned" list then the drive will not
be accepted by xorriso but
rather lead to a FAILURE event. This list is empty by default.
Else if the path matches the "caution" list and if it is not a MMC
device, then its address must
have the prefix "stdio:" or it will be rejected. This list has by
default one entry: "/dev".
If a drive path matches no list then it is considered "harmless".
By default these are all paths
which do not begin with directory "/dev".
A path matches a list if one of its parent paths or itself matche
s a list entry. Address prefix
"stdio:" or "mmc:" will be ignored when testing for matches.
By pseudo-class "clear_list" and pseudo-patterns "banned", "cautio
n", "harmless", or "all", the
lists may be made empty.
E.g.: -drive_class clear_list banned
One will normally define the -drive_class lists in one of the xorr
iso Startup Files.
Note: This is not a security feature but rather a bumper for the s
uperuser to prevent inadverted
mishaps. For reliably blocking access to a device file you have to
deny its rw-permissions in
the filesystem.
-drive_access "exclusive"|"shared":"unrestricted"|"readonly"
Control whether device file locking mechanisms shall be used when
acquiring a drive, and whether
status or content of the medium in the drive may be altered. Usefu
l and most harmless are the
setting "shared:readonly" and the default setting "exclusive:unres
tricted".
"exclusive" enables tests and locks when acquiring the drive. It d
epends on the operating system
which locking mechanisms get applied, if any. On GNU/Linux it is o
pen(O_EXCL). On FreeBSD it is
flock(LOCK_EX).
"shared" disables the use of these mechanisms to become ab
le to acquire drives which are
mounted, or opened by some process, or guarded by /dev/pktcdvd*.
"unrestricted" enables all technically appropriate operations
on an acquired drive.
"shared:unrestricted" risks to get own burn runs spoiled by ot
her processes or to vice versa
spoil activities of such processes. So use "exclusive:unrestricted
" unless you know for sure
that "shared" is safe.
"readonly" disables operations which might surprise a co-user of
the drive. For -outdev these
are formatting, blanking, writing, ejecting. For -indev this is ej
ecting. Be aware that even
reading and drive status inquiries can disturb an ongoing burn run
on CD-R[W] and DVD-R[W].
-scsi_dev_family "default"|"sr"|"scd"|"sg" -scsi_dev_family "default"|"sr"|"scd"|"sg"
GNU/Linux specific: GNU/Linux specific:
By default, xorriso tries to map Linux drive addresses to /dev/ sr* before they get opened for By default, xorriso tries to map Linux drive addresses to /dev/ sr* before they get opened for
operating the drive. This coordinates well with other use cas es of optical drives, like operating the drive. This coordinates well with other use cas es of optical drives, like
mount(8). But since year 2010 all /dev/sr* share a global lock which allows only one drive to mount(8). But since year 2010 all /dev/sr* share a global lock which allows only one drive to
process an SCSI command while all others have to wait for its com pletion. This yields awful process an SCSI command while all others have to wait for its com pletion. This yields awful
throughput if more than one drive is writing or reading simultane ously. The global lock is not throughput if more than one drive is writing or reading simultane ously. The global lock is not
applied to device files /dev/sg* and also not if the xorriso dri ve address is prepended by applied to device files /dev/sg* and also not if the xorriso dri ve address is prepended by
"stdio:". "stdio:".
So for simultaneous burn runs on modern GNU/Linux it is advisab le to perform -scsi_dev_family So for simultaneous burn runs on modern GNU/Linux it is advisab le to perform -scsi_dev_family
skipping to change at line 508 skipping to change at line 547
block 0, then this copy can be loaded with block 0, then this copy can be loaded with
-displacement -123456 -displacement -123456
If an ISO image was written onto a partition with offset of 640000 blocks of 512 bytes, then it If an ISO image was written onto a partition with offset of 640000 blocks of 512 bytes, then it
can be loaded from the base device by can be loaded from the base device by
-load sbsector 160000 -displacement 160000 -load sbsector 160000 -displacement 160000
(If the partition start address is not divisible by 4, then you will have to employ a loop (If the partition start address is not divisible by 4, then you will have to employ a loop
device instead.) device instead.)
In both cases, the ISO sessions should be self contained, i.e. not add-on sessions to an ISO In both cases, the ISO sessions should be self contained, i.e. not add-on sessions to an ISO
image outside their track or partition. image outside their track or partition.
-drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern
Add a drive path pattern to one of the safety lists or make those
lists empty. There are three
lists defined which get tested in the following sequence:
If a drive address path matches the "harmless" list then the drive
will be accepted. If it is
not a MMC device then the prefix "stdio:" will be prepended automa
tically. This list is empty by
default.
Else if the path matches the "banned" list then the drive will not
be accepted by xorriso but
rather lead to a FAILURE event. This list is empty by default.
Else if the path matches the "caution" list and if it is not a MMC
device, then its address must
have the prefix "stdio:" or it will be rejected. This list has by
default one entry: "/dev".
If a drive path matches no list then it is considered "harmless".
By default these are all paths
which do not begin with directory "/dev".
A path matches a list if one of its parent paths or itself matche
s a list entry. Address prefix
"stdio:" or "mmc:" will be ignored when testing for matches.
By pseudo-class "clear_list" and pseudo-patterns "banned", "cautio
n", "harmless", or "all", the
lists may be made empty.
E.g.: -drive_class clear_list banned
One will normally define the -drive_class lists in one of the xorr
iso Startup Files.
Note: This is not a security feature but rather a bumper for the s
uperuser to prevent inadverted
mishaps. For reliably blocking access to a device file you have to
deny its rw-permissions in
the filesystem.
-read_fs "any"|"norock"|"nojoliet"|"ecma119" -read_fs "any"|"norock"|"nojoliet"|"ecma119"
Specify which kind of filesystem tree to load if present. If the wish cannot be fulfilled, then Specify which kind of filesystem tree to load if present. If the wish cannot be fulfilled, then
ECMA-119 names are loaded and converted according to -ecma119_map. ECMA-119 names are loaded and converted according to -ecma119_map.
"any" first tries to read Rock Ridge. If not present, Joliet is tr ied. "any" first tries to read Rock Ridge. If not present, Joliet is tr ied.
"norock" does not try Rock Ridge. "norock" does not try Rock Ridge.
"nojoliet" does not try Joliet. "nojoliet" does not try Joliet.
"ecma119" tries neither Rock Ridge nor Joliet. "ecma119" tries neither Rock Ridge nor Joliet.
-assert_volid pattern severity -assert_volid pattern severity
Refuse to load ISO images with volume IDs which do not match the given search pattern. When Refuse to load ISO images with volume IDs which do not match the given search pattern. When
skipping to change at line 595 skipping to change at line 612
-acl "on"|"off" -acl "on"|"off"
Enable or disable processing of ACLs. If enabled, then xorriso wi ll obtain ACLs from disk file Enable or disable processing of ACLs. If enabled, then xorriso wi ll obtain ACLs from disk file
objects, store ACLs in the ISO image using the libisofs specif ic AAIP format, load AAIP data objects, store ACLs in the ISO image using the libisofs specif ic AAIP format, load AAIP data
from ISO images, test ACL during file comparison, and restore ACLs to disk files when extracting from ISO images, test ACL during file comparison, and restore ACLs to disk files when extracting
them from ISO images. See also commands -getfacl, -setfacl. them from ISO images. See also commands -getfacl, -setfacl.
-xattr "on"|"user"|"any"|"off" -xattr "on"|"user"|"any"|"off"
Enable or disable processing of xattr attributes. If enabled, then xorriso will handle xattr Enable or disable processing of xattr attributes. If enabled, then xorriso will handle xattr
similar to ACL. See also commands -getfattr, -setfattr and above paragraph about xattr. similar to ACL. See also commands -getfattr, -setfattr and above paragraph about xattr.
Modes "on" and "user" read and write only attributes from namespac e "user". Modes "on" and "user" read and write only attributes from namespac e "user".
Mode "any" processes attributes of all namespaces. This might need Mode "any" processes attributes of all namespaces. This might ne
adminstrator privileges, even ed administrator privileges,
if the owner of the disk file tries to read or write the attribute even if the owner of the disk file tries to read or write the attr
s. ibutes.
Note that xattr from namespace "isofs." are never read from disk o r restored to disk. Further it Note that xattr from namespace "isofs." are never read from disk o r restored to disk. Further it
is not possible to set them via xorriso xattr manipulation command s. is not possible to set them via xorriso xattr manipulation command s.
-md5 "on"|"all"|"off"|"load_check_off" -md5 "on"|"all"|"off"|"load_check_off"
Enable or disable processing of MD5 checksums for the overall sess ion and for each single data Enable or disable processing of MD5 checksums for the overall sess ion and for each single data
file. If enabled then images with checksum tags get loaded only if the tags of superblock and file. If enabled then images with checksum tags get loaded only if the tags of superblock and
directory tree match properly. The MD5 checksums of data files and whole session get loaded from directory tree match properly. The MD5 checksums of data files and whole session get loaded from
the image if there are any. the image if there are any.
With commands -compare and -update the recorded MD5 of a file will be used to avoid content With commands -compare and -update the recorded MD5 of a file will be used to avoid content
reading from the image. Only the disk file content will be read an d compared with that MD5. This reading from the image. Only the disk file content will be read an d compared with that MD5. This
skipping to change at line 645 skipping to change at line 662
Choose the conversion of file names from the loaded session if n either a Rock Ridge name nor a Choose the conversion of file names from the loaded session if n either a Rock Ridge name nor a
Joliet name was read from the session. Joliet name was read from the session.
Mode "stripped" is the default. It shows the names as found in the ISO but removes trailing ";1" Mode "stripped" is the default. It shows the names as found in the ISO but removes trailing ";1"
or ".;1" if present. or ".;1" if present.
Mode "unmapped" shows names as found without removing characters. Mode "unmapped" shows names as found without removing characters.
Mode "lowercase" is like "stripped" but also maps uppercase lett ers to lowercase letters. This Mode "lowercase" is like "stripped" but also maps uppercase lett ers to lowercase letters. This
is compatible to default GNU/Linux mount behavior. is compatible to default GNU/Linux mount behavior.
Mode "uppercase" is like "stripped" but maps lowercase letters to uppercase, if any occur Mode "uppercase" is like "stripped" but maps lowercase letters to uppercase, if any occur
despite the prescriptions of ECMA-119. despite the prescriptions of ECMA-119.
-iso_nowtime "dynamic"|timestring
Choose whether to use the current time ("dynamic") or a fixed ti
me point for timestamps of ISO
9660 nodes without a disk source file and as default for superbloc
k timestamps.
If a timestring is given, then it is used for such timestamps. For
the formats of timestrings
see command -alter_date.
-disk_dev_ino "on"|"ino_only"|"off" -disk_dev_ino "on"|"ino_only"|"off"
Enable or disable processing of recorded file identification numbers (dev_t and ino_t). If Enable or disable processing of recorded file identification numbers (dev_t and ino_t). If
enabled they are stored as xattr and can substantially accelerate file comparison. The root node enabled they are stored as xattr and can substantially accelerate file comparison. The root node
gets a global start timestamp. If during comparison a file with younger timestamps is found in gets a global start timestamp. If during comparison a file with younger timestamps is found in
the ISO image, then it is suspected to have inconsistent content. the ISO image, then it is suspected to have inconsistent content.
If device numbers and inode numbers of the disk filesystems are pe rsistent and if no irregular If device numbers and inode numbers of the disk filesystems are pe rsistent and if no irregular
alterations of timestamps or system clock happen, then potential c ontent changes can be detected alterations of timestamps or system clock happen, then potential c ontent changes can be detected
without reading that content. File content change is assumed if a ny of mtime, ctime, device without reading that content. File content change is assumed if a ny of mtime, ctime, device
number or inode number have changed. number or inode number have changed.
Mode "ino_only" replaces the precondition that device numbers are stable by the precondition Mode "ino_only" replaces the precondition that device numbers are stable by the precondition
skipping to change at line 1044 skipping to change at line 1067
-split_size number["k"|"m"] -split_size number["k"|"m"]
Set the threshold for automatic splitting of regular files. Such s plitting maps a large disk Set the threshold for automatic splitting of regular files. Such s plitting maps a large disk
file onto a ISO directory with several part files in it. This i s necessary if the size of the file onto a ISO directory with several part files in it. This i s necessary if the size of the
disk file exceeds -file_size_limit. Older operating systems can h andle files in mounted ISO disk file exceeds -file_size_limit. Older operating systems can h 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_lim it 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 wi th split file pieces will be While command -split_size is set larger than 0 such a directory wi th split file pieces will be
recognized and handled like a regular file by commands -compare * , -update*, and in overwrite recognized and handled like a regular file by commands -compare * , -update*, and in overwrite
situations. There are -ossirox parameters "concat_split_on" and "c oncat_split_off" which control situations. There are -osirrox 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 describe 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
skipping to change at line 2058 skipping to change at line 2081
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 -outde v 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_ image bootspecs which announce "appended_partition_NNN" with a decimal number NNN works only for -boot_ image bootspecs which announce
El Torito boot image paths: bin_path=, efi_path=. The number gives the p artition number as used with El Torito boot image paths: bin_path=, efi_path=. The number gives the p artition number as used with
the corresponding option -append_partition. the corresponding command -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 strings. They define which part of The component Zeroizers consists of zero or more comma separated strings. They define which part of
the read data to zeroize. Byte number 0 means the byte read from the Interval start address. Each the read data to zeroize. Byte number 0 means the byte read from the 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, t o zeroize 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.
skipping to change at line 2205 skipping to change at line 2228
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 -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 represents the ISO or at least protects it.
o 0xff. The text "default" Number may be 0x00 to 0xff. The text "default" re-enables the de
re-enables the default types of the various occasions to create an fault types of the various
ISO MBR partition. occasions to create an ISO MBR partition. This is without effec
This is without effect if no such partition emerges by other set t if no such partition emerges
tings or if the partition type by other settings or if the partition type is prescribed man
is prescribed mandatorily like 0xee for GPT protective MBR or 0x96 datorily like 0xee for GPT
for CHRP. protective MBR or 0x96 for CHRP.
If instead a type_guid is given by a 32-digit hex string like a2
a0d0ebe5b9334487c068b6b72699c7
or by a structured text like EBD0A0A2-B9E5-4433-87C0-68B6B72699C7,
then it will be used as
partition type if the ISO filesystem appears as pa
rtition in GPT. In MBR,
C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped to 0xef. Any
other GUID will be mapped to
0x83.
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 The content start address of the first boot image is converted to
to a count of 512 byte blocks, a count of 512 byte blocks,
and an offset of 4 is added. The result is written as 64 bit l and an offset of 4 is added. The result is written as 64 bi
ittle-endian number to byte t little-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 written i nto bytes 446 to 511 of the partition_table=on causes a simple partition table to be writte n into bytes 446 to 511 of the
System Area. System Area.
With type "isolinux" it shows a partition that begins at byte With type "isolinux" it shows a partition that begins at byte 0 an
0 and it causes the LBA of the d it causes the LBA of the
first boot image to be written into the MBR. For the first sessio first boot image to be written into the MBR. For the first s
n this works only if also ession 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 sta rts at byte 512 and ends where With types "any" and "grub" it shows a single partition which star ts 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= ove rwrite this entry in the MBR Bootspecs chrp_boot_part=, prep_boot_part=, and efi_boot_part= o verwrite 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 checke new boot image. In this case the existing System Area gets chec
d whether it bears addresses ked 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 this to discard an MBR which was Special "system_area=/dev/zero" causes 32k of NUL-bytes. Use th is 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 G PT rather than in MBR. In this appended_part_as=gpt marks partitions from -append_partition in GP T 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 mark appended_part_as=mbr is the default. Appended partitions get
ed in GPT only if GPT is marked in GPT only if GPT is
produced because of other settings. If given explicitly, this c produced because of other settings. If given explicitly, this cle
lears setting "gpt" and "apm". ars 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 in AP M additionally to "mbr" or appended_part_as=apm marks partitions from -append_partition i n APM additionally to "mbr" or
"gpt". "gpt".
By default, appended partitions get marked in APM only if AP M is produced because of other By default, appended partitions get marked in APM only if APM 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 prod uces MBR partition entries. It 0x96. This is not compatible with any other feature that produces MBR partition entries. It
makes GPT unrecognizable. makes GPT unrecognizable.
prep_boot_part=disk_path inserts the content of a data file into t prep_boot_part=disk_path inserts the content of a data file int
he image and marks it by an o the image and marks it by an
MBR partition of type 0x41. The parts of the ISO image before an MBR partition of type 0x41. The parts of the ISO image before and
d after this partition will be 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 th efi_boot_part=disk_path inserts the content of a data file into t
e image and marks it by a GPT he image and marks it by a GPT
partition. If not chrp_boot_part=on, then the first partition partition. If not chrp_boot_part=on, then the first partition in M
in MBR will have type 0xee to BR 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. I t exposes in GPT the content Instead of a disk_path, the word --efi-boot-image may be given. It 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 up in HFS+ because it is stored bootspec efi_path=. The affected EFI boot image cannot show u p 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 s partition_offset=2kb_block_adr causes a partition table with a sin
ingle partition that begins at gle partition that begins at
the given block address. This is counted in 2048 byte blocks, not the given block address. This is counted in 2048 byte blocks,
in 512 byte blocks. If the not in 512 byte blocks. If the
block address is non-zero then it must be at least 16. A non-ze block address is non-zero then it must be at least 16. A non-zero
ro partition offset causes two partition offset causes two
superblocks to be generated and two sets of directory trees. The i superblocks to be generated and two sets of directory trees. Th
mage is then mountable from e image 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 s ession is added. So the value The offset value of an ISO image gets preserved when a new sessio n 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 cylinder for the partition table. 0 partition_hd_cyl=number gives the number of heads per cylin der 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 the partition table. 0 chooses partition_sec_hd=number gives the number of sectors per head for t he 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 the cy The product partition_sec_hd * partition_hd_cyl * 512 is th
linder size. It should be e cylinder size. It should be
divisible by 2048 in order to make exact alignment possible. divisible by 2048 in order to make exact alignment possible. W
With appended partitions and ith appended partitions and
"appended_part_as=gpt" there is no limit for the number of cylinde "appended_part_as=gpt" there is no limit for the number of cylind
rs. Else there may be at most ers. Else there may be at most
1024 of them. If the cylinder size is too small to stay bel 1024 of them. If the cylinder size is too small to stay below
ow the limit, then appropriate the limit, then appropriate
values of partition_hd_cyl are chosen with partition_sec_hd 32 or values of partition_hd_cyl are chosen with partition_sec_hd 32
63. If the image is larger or 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 inte partition_cyl_align=mode controls image size alignment to an integ
ger number of cylinders. It is er number of cylinders. It is
prescribed by isohybrid specs and it seems to please program fd prescribed by isohybrid specs and it seems to please progra
isk. Cylinder size must be m fdisk. Cylinder size must be
divisible by 2048. Images larger than 8,323,596,288 bytes cann divisible by 2048. Images larger than 8,323,596,288 bytes cannot
ot be aligned in MBR partition 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" fo r any type. Mode "all" is Mode "on" causes alignment by padding with "partition_table=on " for 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 "bootabl mbr_force_bootable=mode enforces an MBR partition with "bootable/a
e/active" flag if options like ctive" flag if options like
partition_table= or grub2_mbr= indicate production of a bootable M partition_table= or grub2_mbr= indicate production of a bootabl
BR. These options normally e MBR. These options normally
cause the flag to be set if there is an MBR partition of type o cause the flag to be set if there is an MBR partition of type othe
ther than 0xee or 0xef. If no r than 0xee or 0xef. If no
such partition exists, then no bootflag is set, unless mbr_force_b such partition exists, then no bootflag is set, unless mbr_force
ootable="on" forces creation _bootable="on" forces creation
of a dummy partition of type 0x00 which covers only the first bloc k of the ISO image. of a dummy partition of type 0x00 which covers only the first bloc k of the ISO image.
If no bootable MBR is indicated and a partition gets crea ted by -append_partition, then If no bootable MBR is indicated and a partition gets created by -append_partition, then
mbr_force_bootable="on" causes a bootflag like it would do with a bootable MBR. 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 MIPS 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 bytes 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 mipsel_path=iso_rr_path declares a data file in the image to be t
be the MIPS Little Endian boot he MIPS Little Endian boot
file. This is mutually exclusive with other boot blocks. It will file. This is mutually exclusive with other boot blocks. It will
overwrite the first 512 bytes 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 th e 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
overwritten. overwritten.
grub2_sparc_core=iso_rr_path causes the content address and size o f the given file to be written grub2_sparc_core=iso_rr_path causes the content address and size o f the given file to be written
after the SUN Disk Label. Both numbers are counted in bytes. Th e address is written as 64 bit after the SUN Disk Label. Both numbers are counted in bytes. The a ddress is written as 64 bit
big-endian number to byte 0x228. The size is written as 32 bit big -endian number to byte 0x230. big-endian number to byte 0x228. The size is written as 32 bit big -endian number to byte 0x230.
hppa_cmdline=text sets the PALO command line for HP-PA. Up to 1023 characters are permitted by hppa_cmdline=text sets the PALO command line for HP-PA. Up to 10 23 characters are permitted by
default. With hppa_hdrversion=4 the limit is 127. default. With hppa_hdrversion=4 the limit is 127.
Note that the first five hppa_ bootspecs are mandatory, if any o f the hppa_ bootspecs is used. Note that the first five hppa_ bootspecs are mandatory, if any of the hppa_ bootspecs is used.
Only hppa_hdrversion= is allowed to be missing. Only hppa_hdrversion= is allowed to be missing.
hppa_bootloader=iso_rr_path designates the given path as HP-PA boo tloader file. hppa_bootloader=iso_rr_path designates the given path as HP-PA boo tloader file.
hppa_kernel_32=iso_rr_path designates the given path as HP-PA 32 b it kernel file. hppa_kernel_32=iso_rr_path designates the given path as HP-PA 32 b it kernel file.
hppa_kernel_64=iso_rr_path designates the given path as HP-PA 64 b it kernel file. hppa_kernel_64=iso_rr_path designates the given path as HP-PA 64 b it kernel file.
hppa_ramdisk=iso_rr_path designates the given path as HP-PA RAM di sk file. hppa_ramdisk=iso_rr_path designates the given path as HP-PA RAM di sk file.
hppa_hdrversion=number chooses between PALO header version 5 (defa ult) and version 4. For the hppa_hdrversion=number chooses between PALO header version 5 (de fault) and version 4. For the
appropriate value see in PALO source code: PALOHDRVERSION. appropriate value see in PALO source code: PALOHDRVERSION.
alpha_boot=iso_rr_path declares a data file in the image to alpha_boot=iso_rr_path declares a data file in the image to be t
be the DEC Alpha SRM Secondary he DEC Alpha SRM Secondary
Bootstrap Loader and causes production of a boot sector which poin Bootstrap Loader and causes production of a boot sector which p
ts to it. This is mutually oints to it. This is mutually
exclusive with production of other boot blocks like MBR. exclusive with production of other boot blocks like MBR.
mips_discard, sparc_discard, hppa_discard, alpha_discard revoke a mips_discard, sparc_discard, hppa_discard, alpha_discard revoke an
ny boot file declarations made y boot file declarations made
for mips/mipsel, sparc, hppa, or alpha, respectively. This remove for mips/mipsel, sparc, hppa, or alpha, respectively. This re
s the ban on production of moves the ban on production of
other boot blocks. other boot blocks.
hfsplus_serial=hexstring sets a string of 16 digits "0" to "9" and letters "a" to "f", which hfsplus_serial=hexstring sets a string of 16 digits "0" to "9" and letters "a" to "f", which
will be used as unique serial number of an emerging HFS+ filesyste m. will be used as unique serial number of an emerging HFS+ filesyste m.
hfsplus_block_size=number sets the allocation block size to b e used when producing HFS+ hfsplus_block_size=number sets the allocation block size to be used when producing HFS+
filesystems. Permissible are 512, 2048, or 0. The latter lets the program decide. filesystems. Permissible are 512, 2048, or 0. The latter lets the program decide.
apm_block_size=number sets the block size to be used when des cribing partitions by an Apple apm_block_size=number sets the block size to be used when describ ing partitions by an Apple
Partition Map. Permissible are 512, 2048, or 0. The latter lets th e program decide. Partition Map. Permissible are 512, 2048, or 0. The latter lets th e program decide.
Note that size 512 is not compatible with production of GPT, and t hat size 2048 will not be Note that size 512 is not compatible with production of GPT, and that size 2048 will not be
mountable -t hfsplus at least by older Linux kernels. mountable -t hfsplus at least by older Linux kernels.
-append_partition partition_number type_code disk_path -append_partition partition_number type_code disk_path
Cause a prepared filesystem image to be appended to the ISO Cause a prepared filesystem image to be appended to the ISO image
image and to be described by a and to be described by a
partition table entry in a boot block at the start of the emergin partition table entry in a boot block at the start of the eme
g ISO image. The partition rging ISO image. The partition
entry will bear the size of the submitted file rounded up to the entry will bear the size of the submitted file rounded up to the n
next multiple of 2048 bytes or ext multiple of 2048 bytes or
to the next multiple of the cylinder size. to the next multiple of the cylinder size.
Beware of subsequent multi-session runs. The appended partition wi ll get overwritten. Beware of subsequent multi-session runs. The appended partition wi ll get overwritten.
Partitions may be appended with boot block type MBR and with SUN D isk Label. Partitions may be appended with boot block type MBR and with SUN D isk Label.
With MBR: With MBR:
partition_number may be 1 to 4. Number 1 will put the whole ISO im partition_number may be 1 to 4. Number 1 will put the whole ISO
age into the unclaimed space image into the unclaimed space
before partition 1. So together with most xorriso MBR featur before partition 1. So together with most xorriso MBR features, n
es, number 2 would be the most umber 2 would be the most
natural choice. natural choice.
The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal n The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal
umber between 0x00 and 0xff. number between 0x00 and 0xff.
Not all those numbers will yield usable results. For a list of Not all those numbers will yield usable results. For a list of MBR
codes search the Internet for partition type codes search
"Partition Types" or run fdisk command "L". the Internet for "Partition Types" or run fdisk command "L".
type_code may also be a type GUID as plain hex string like a2a0d
0ebe5b9334487c068b6b72699c7 or
as structured text like EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. It w
ill be used if the partition
is mentioned in GPT. In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC9
3B will be mapped to 0xef. Any
other GUID will be mapped to 0x83.
If some other command causes the production of GPT, then the appended partitions will be If some other command causes the production of GPT, then the appended partitions will be
mentioned there too. mentioned there too.
The disk_path must provide the necessary data bytes at commit time . An empty disk_path disables The disk_path must provide the necessary data bytes at commit time . An empty disk_path disables
this feature for the given partition number. this feature for the given partition number.
With SUN Disk Label (selected by -boot_image any sparc_label=): With SUN Disk Label (selected by -boot_image any sparc_label=):
partition_number may be 2 to 8. Number 1 will always be the ISO image. Partition start partition_number may be 2 to 8. Number 1 will always be the ISO image. Partition start
addresses are aligned to 320 KiB. The type_code does not matter. S ubmit 0x0. addresses are aligned to 320 KiB. The type_code does not matter. S ubmit 0x0.
Partition image name "." causes the partition to become a copy of the next lower valid one. Partition image name "." causes the partition to become a copy of the next lower valid one.
Jigdo Template Extraction: Jigdo Template Extraction:
skipping to change at line 2965 skipping to change at line 2998
":force" may be appended after the number. ":force" may be appended after the number.
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" , "md5_mismatch", "invalid", "good", "md5_match", "slow", "partial", "valid", "untested" , "md5_mismatch", "invalid",
"tao_end", "off_track", "unreadable". "tao_end", "off_track", "unreadable".
"valid" and "invalid" are qualities imported from a sector_map fil e. "tao_end" and "off_track" "valid" and "invalid" are qualities imported from a sector_map fil e. "tao_end" and "off_track"
are intentionally not readable, but not bad either. "partia l" are blocks retrieved from a are intentionally not readable, but not bad either. "partia l" are 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. The former is a "md5_match" and "md5_mismatch" regions overlap with regions of oth er quality. The former is a
strong confirmation for quality, the latter only tells that on e or more blocks of the region strong confirmation for quality, the latter only tells that on e or more blocks of the region
must be wrong. must be wrong.
By default bad_limit is set higher than md5_mismatch, so that m
ismatches are classified as
quality class "0" rather than "-". This means that the secto
rs of a MD5 mismatch range are
recorded in the sector_map as successfully read, if the drive ha
nded them out at all. Set
"bad_limit=md5_mismatch" to let the sector_map record the whol
e mismatching range as yet not
retrieved.
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 is 2 or larger. In this case async_chunks=number enables asynchronous MD5 processing if number is 2 or larger. In this case
the given number of read chunks is allocated as fifo buffer. On very fast MMC drives try: the given number of read chunks is allocated as fifo buffer. 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 image with their recorded MD5 Compare the data content of the given files in the loaded image with their recorded MD5
checksums, if there are any. In case of any mismatch an event of t he given severity is issued. checksums, if there are any. In case of any mismatch an event of t he given severity is issued.
It may then be handled by appropriate settings of commands -abort _on or -return_with which both It may then be handled by appropriate settings of commands -abort _on or -return_with which both
skipping to change at line 3021 skipping to change at line 3059
"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 access restrictions for disk Option "auto_chmod_off" is default. If "auto_chmod_on" is set then access restrictions for disk
directories get circumvented if those directories are owned by the effective user who runs directories get circumvented if those directories are owned by the 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 ives. It can restore large Option "sort_lba_on" may improve read performance with optical dr ives. It can restore large
numbers of hard links without exhausting -temp_mem_limit. It doe s not preserve directory mtime numbers of hard links without exhausting -temp_mem_limit. It doe s not preserve directory mtime
and it needs -osirrox option auto_chmod_on in order to extract dir ectories which offer no write and it needs -osirrox option auto_chmod_on in order to extract dir ectories 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 ed with leafname "osirrox". On Option "o_excl_on" is the default unless the program was start ed with leafname "osirrox". On
GNU/Linux it tries to avoid using drives which are mounted or in u se by other libburn programs. GNU/Linux it tries to avoid using drives which are mounted or in u se 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 d
rives which get acquired while rives by the equivalent of
"o_excl_off" will refuse to get blanked, formatted, written, or ej -drive_access "shared:readonly". I.e. drives which get acquired wh
ected. But be aware that even ile "o_excl_off" will refuse
harmless inquiries can spoil ongoing burns of CD-R[W] and DVD-R[W] to get blanked, formatted, written, or ejected. But be aware th
. at even harmless inquiries can
Option "strict_acl_off" is default. It tolerates on FreeBSD the p spoil ongoing burns of CD-R[W] and DVD-R[W].
resence of directory "default" Option "strict_acl_off" is default. It tolerates on FreeBSD the pr
ACLs in the ISO image. With "strict_acl_on" these GNU/Linux ACLs esence of directory "default"
cause on FreeBSD a FAILURE ACLs in the ISO image. With "strict_acl_on" these GNU/Linux A
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 verbose 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 3566 skipping to change at line 3605
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 3627 skipping to change at line 3666
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 3652 skipping to change at line 3691
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
Burn an existing ISO image file to medium Burn an existing ISO image file to medium
Actually this works with any kind of data, not only ISO images: Actually this works with any kind of data, not only ISO images:
$ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed image.iso $ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed image.iso
Perform multi-session runs as of cdrtools traditions Perform multi-session runs as of cdrtools traditions
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 (the run of dd is only to give d
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 emons a chance to spoil it):
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo) $ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ 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 Always eject the drive tray between sessions.
ia /dev/sr0. Its device driver The run of xorriso -as mkisofs will read old sessions via the CD-ROM d
might not be aware of the changed content before it loads the medium aga river of /dev/sr0. This driver
in. In this case the previous might not be aware of the changed content as long as the medium is not lo
session would not be loaded and the new session would contain only the ne aded again. In this case the
wly added files. previous session would not be properly assessed by xorriso and the new
For the same reason do not let xorriso -as cdrecord load the medium, but session would contain only the
rather do this manually or by newly added files.
a program that reads from /dev/sr0. Some systems have not enough patience with automatic tray loading and som
e demons may interfere with a
first CD-ROM driver read attempt from a freshly loaded medium.
When loading the tray manually, wait 10 seconds after the drive has stopp
ed blinking.
A safe automatic way seems to be a separate run of xorriso for loading
the tray with proper waiting,
and a subsequent run of dd which shall offer itself to any problems caus
ed by demons assessing the
changed drive status. If this does not help, insert a run of "sleep 10"
between xorriso and dd.
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 - -grow_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 create a link pointing to the
skipping to change at line 3726 skipping to change at line 3771
$ 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 all 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 verbose, exit 32 if severity "FAILURE" was encountered, do not a bort 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'
skipping to change at line 3857 skipping to change at line 3902
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 startup files of xorriso and mkisofs. HOME is used to find startup files of xorriso and mkisofs.
SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org. It is supposed to be either SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org. 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 da te "uuid", sets -boot_image
"any" "gpt_disk_guid=" to "volume_date_uuid", and -volume_date "all_file_ "any" "gpt_disk_guid=" to "volume_date_uuid", -volume_date "all_file
dates" to "set_to_mtime", _dates" to "set_to_mtime", and
-iso_nowtime to "=$SOURCE_DATE_EPOCH".
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)
For mounting xorriso generated ISO 9660 images (-t iso9660) For mounting xorriso generated ISO 9660 images (-t iso9660)
skipping to change at line 3889 skipping to change at line 3935
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 - 2018 Thomas Schmitt Copyright (c) 2007 - 2019 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.5.0, Sep 15, 2018 XORRISO(1) Version 1.5.2, Oct 26, 2019 XORRISO(1)
 End of changes. 178 change blocks. 
512 lines changed or deleted 588 lines changed or added

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