|XORRISO(1)||General Commands Manual||XORRISO(1)|
mkisofs -M $indev -C $msc1,$msc2 -o $outdev
-load sbsector $msc1 -grow_blindly $msc2
- Execution order of program arguments:
Enable automatic sorting of program arguments into a sequence that (most likely) is sensible. This command may be given at any position among the commands which are handed over as program arguments.
List all xorriso commands in the order which applies if command -x is in effect.
- Acquiring source and target drive:
- -dev address
Set input and output drive to the same address and load an ISO image if it is present. If there is no ISO image then create a blank one. Set the image expansion method to growing.
- -indev address
- Set input drive and load an ISO image if present. If the new input drive differs from -outdev then switch from growing to modifying or to blind growing. It depends on the setting of -grow_blindly which of both gets activated. The same rules and restrictions apply as with -dev.
- -outdev address
Set output drive and if it differs from the input drive then switch from growing to modifying or to blind growing. Unlike -dev and -indev this action does not load a new ISO image. So it can be performed even if there are pending changes.
- -grow_blindly "off"|predicted_nwa
If predicted_nwa is a non-negative number then perform blind growing rather than modifying if -indev and -outdev are set to different drives. "off" or "-1" switch to modifying, which is the default.
- Influencing the behavior of image loading:
- -read_speed code|number[k|m|c|d|b]
Set the speed for reading. Default is "none", which avoids to send a speed setting command to the drive before reading begins.
706k = 706kB/s = 4c = 4xCD
5540k = 5540kB/s = 4d = 4xDVD
- -load entity id
Load a particular (possibly outdated) ISO session from -dev or -indev. Usually all available sessions are shown with command -toc.
- -displacement [-]lba
Compensate a displacement of the image versus the start address for which the image was prepared. This affects only loading of ISO images and reading of their files. The multi-session method of growing is not allowed as long as -displacement is non-zero. I.e. -indev and -outdev must be different. The displacement gets reset to 0 before the drive gets re-acquired after writing.
- -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:
- -assert_volid pattern severity
Refuse to load ISO images with volume IDs which do not match the given search pattern. When refusing an image, give up the input drive and issue an event of the given severity (like FAILURE, see -abort_on). An empty search pattern accepts any image.
- -in_charset character_set_name
- Set the character set from which to convert file names when loading an image. See paragraph "Character sets" for more explanations. When loading the written image after -commit the setting of -out_charset will be copied to -in_charset.
- -auto_charset "on"|"off"
Enable or disable recording and interpretation of the output character set name in an xattr attribute of the image root directory. If enabled and if a recorded character set name is found, then this name will be used as name of the input character set when reading an image.
- -hardlinks mode[:mode...]
Enable or disable loading and recording of hardlink relations.
- -acl "on"|"off"
- Enable or disable processing of ACLs. If enabled, then xorriso will obtain ACLs from disk file objects, store ACLs in the ISO image using the libisofs specific AAIP format, load AAIP data 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.
- -xattr "on"|"off"
- Enable or disable processing of xattr attributes in user namespace. If enabled, then xorriso will handle xattr similar to ACL. See also commands -getfattr, -setfattr and above paragraph about xattr.
- -md5 "on"|"all"|"off"|"load_check_off"
Enable or disable processing of MD5 checksums for the overall session and for each single data 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 the image if there are any.
- Enable all extra features which help to produce or to restore backups with highest fidelity of file properties. Currently this is a shortcut for: -hardlinks on -acl on -xattr on -md5 on.
- -disk_dev_ino "on"|"ino_only"|"off"
Enable or disable processing of recorded file identification numbers (dev_t and ino_t). If enabled they are stored as xattr and allow to substantially accelerate file comparison. The root node 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.
- -rom_toc_scan "on"|"force"|"off"[:"emul_off"][:"emul_wide"]
Read-only drives do not tell the actual media type but show any media as ROM (e.g. as DVD-ROM). The session history of MMC multi-session media might be truncated to first and last session or even be completely false. (The emulated history of overwriteable media is not affected by this.)
- -calm_drive "in"|"out"|"all"|"revoke"|"on"|"off"
Reduce drive noise until it is actually used again. Some drives stay alert for substantial time after they have been used for reading. This reduces the startup time for the next drive operation but can be loud and waste energy if no i/o with the drive is expected to happen soon.
- Allow for writing only the usage of MMC optical drives. Disallow to write the result into files of nearly arbitrary type. Once set, this command cannot be revoked.
- -early_stdio_test "on"|"appendable_wo"|"off"
If enabled by "on" then regular files and block devices get tested for effective access permissions. This implies to try opening those files for writing, which otherwise will happen only later and only if actual writing is desired.
- -data_cache_size number_of_tiles blocks_per_tile
Set the size and granularity of the data cache which is used when ISO images are loaded and when file content is read from ISO images. The cache consists of several tiles, which each consists of several blocks. A larger cache reduces the need for tiles being read multiple times. Larger tiles might additionally improve the data throughput from the drive, but can be wasteful if the data are scattered over the medium.
- Inserting files into ISO image:
- -disk_pattern "on"|"ls"|"off"
Set the pattern expansion mode for the disk_path parameters of several commands which support this feature.
- -add pathspec [...] | disk_path [***]
Insert the given files or directory trees from filesystem into the ISO image.
- -add_plainly mode
If set to mode "unknown" then any command word that does not begin with "-" and is not recognized as known command will be subject to a virtual -add command. I.e. it will be used as pathspec or as disk_path and added to the image. If enabled, -disk_pattern expansion applies to disk_paths.
- -path_list disk_path
- Like -add but read the parameter words from file disk_path or standard input if disk_path is "-". The list must contain exactly one pathspec resp. disk_path pattern per line.
- -quoted_path_list disk_path
- Like -path_list but with quoted input reading rules. Lines get split into parameter words for -add. Whitespace outside quotes is discarded.
- -map disk_path iso_rr_path
- Insert file object disk_path into the ISO image as iso_rr_path. If disk_path is a directory then its whole sub tree is inserted into the ISO image.
- -map_single disk_path iso_rr_path
- Like -map, but if disk_path is a directory then its sub tree is not inserted.
- -map_l disk_prefix iso_rr_prefix disk_path [***]
- Perform -map with each of the disk_path parameters. iso_rr_path will be composed from disk_path by replacing disk_prefix by iso_rr_prefix.
- -update disk_path iso_rr_path
Compare file object disk_path with file object iso_rr_path. If they do not match, then perform the necessary image manipulations to make iso_rr_path a matching copy of disk_path. By default this comparison will imply lengthy content reading before a decision is made. Commands -disk_dev_ino or -md5 may accelerate comparison if they were already in effect when the loaded session was recorded.
- -update_r disk_path iso_rr_path
Like -update but working recursively. I.e. all file objects below both addresses get compared whether they have counterparts below the other address and whether both counterparts match. If there is a mismatch then the necessary update manipulation is done.
- -update_l disk_prefix iso_rr_prefix disk_path [***]
- Perform -update_r with each of the disk_path parameters. iso_rr_path will be composed from disk_path by replacing disk_prefix by iso_rr_prefix.
- -cut_out disk_path byte_offset byte_count iso_rr_path
Map a byte interval of a regular disk file into a regular file in the ISO image. This may be necessary if the disk file is larger than a single medium, or if it exceeds the traditional limit of 2 GiB - 1 for old operating systems, or the limit of 4 GiB - 1 for newer ones. Only the newest Linux kernels seem to read properly files >= 4 GiB - 1.
-cut_out /my/disk/file 0 2047m \
-cut_out /my/disk/file 2047m 2047m \
-cut_out /my/disk/file 4094m 2047m \
- -cpr disk_path [***] iso_rr_path
Insert the given files or directory trees from filesystem into the ISO image.
- -mkdir iso_rr_path [...]
- Create empty directories if they do not exist yet. Existence as directory generates a WARNING event, existence as other file causes a FAILURE event.
- -lns target_text iso_rr_path
Create a symbolic link with address iso_rr_path which points to target_text. iso_rr_path may not exist yet.
- -clone iso_rr_path_original iso_rr_path_copy
Create a copy of the ISO file object iso_rr_path_original with the new address iso_rr_path_copy. If the original is a directory then copy all files and directories underneath. If iso_rr_path_original is a boot catalog file, then it gets not copied but is silently ignored.
- -cp_clone iso_rr_path_original [***] iso_rr_path_dest
Create copies of one or more ISO file objects as with command -clone. In case of collision merge directories with existing ones, but do not overwrite existing ISO file objects.
- Settings for file insertion:
- -file_size_limit value [value [...]] --
Set the maximum permissible size for a single data file. The values get summed up for the actual limit. If the only value is "off" then the file size is not limited by xorriso. Default is a limit of 100 extents, 4g -2k each:
-file_size_limit 400g -200k --
- -not_mgt code[:code[...]]
Control the behavior of the exclusion lists.
- -not_paths disk_path [***]
Add the given paths to the list of excluded absolute disk paths. If a given path is relative, then the current -cdx is prepended to form an absolute path. Pattern matching, if enabled, happens at definition time and not when exclusion checks are made.
- -not_leaf pattern
- Add a single shell parser style pattern to the list of exclusions for disk leafnames. These patterns are evaluated when the exclusion checks are made.
- -not_list disk_path
- Read lines from disk_path and use each of them either as -not_paths parameter, if they contain a / character, or as -not_leaf pattern.
- -quoted_not_list disk_path
- Like -not_list but with quoted input reading rules. Each word is handled as one parameter for -not_paths resp. -not_leaf.
- -follow occasion[:occasion[...]]
Enable or disable resolution of symbolic links and mountpoints under disk_paths. This applies to actions -add, -du*x, -ls*x, -findx, -concat, and to -disk_pattern expansion.
$ ln -s .. uploop
- -pathspecs "on"|"off"
Control parameter interpretation with xorriso actions -add and -path_list.
- -overwrite "on"|"nondir"|"off"
Allow or disallow to overwrite existing files in the ISO image by files with the same name.
- -split_size number["k"|"m"]
Set the threshold for automatic splitting of regular files. Such splitting maps a large disk file onto a ISO directory with several part files in it. This is necessary if the size of the disk file exceeds -file_size_limit. Older operating systems can handle files in mounted ISO 9660 filesystems only if they are smaller than 2 GiB resp. 4 GiB.
- File manipulations:
- -iso_rr_pattern "on"|"ls"|"off"
Set the pattern expansion mode for the iso_rr_path parameters of several commands which support this feature.
- -rm iso_rr_path [***]
Delete the given files from the ISO image.
- -rm_r iso_rr_path [***]
- Delete the given files or directory trees from the ISO image. See also the note with command -rm.
- -rmdir iso_rr_path [***]
- Delete empty directories.
- -move iso_rr_path iso_rr_path
- Rename the file given by the first (origin) iso_rr_path to the second (destination) iso_rr_path. Deviate from rules of shell command mv by not moving the origin file underneath an existing destination directory. The origin file will rather replace such a directory, if this is allowed by command -overwrite.
- -mv iso_rr_path [***] iso_rr_path
Rename the given file objects in the ISO tree to the last parameter in the list. Use the same rules as with shell command mv.
- -chown uid iso_rr_path [***]
- Set ownership of file objects in the ISO image. uid may either be a decimal number or the name of a user known to the operating system.
- -chown_r uid iso_rr_path [***]
- Like -chown but affecting all files below eventual directories.
- -chgrp gid iso_rr_path [***]
- Set group attribute of file objects in the ISO image. gid may either be a decimal number or the name of a group known to the operating system.
- -chgrp_r gid iso_rr_path [***]
- Like -chgrp but affecting all files below eventual directories.
- -chmod mode iso_rr_path [***]
Equivalent to shell command chmod in the ISO image. mode is either an octal number beginning with "0" or a comma separated list of statements of the form [ugoa]*[+-=][rwxst]* .
- -chmod_r mode iso_rr_path [***]
- Like -chmod but affecting all files below eventual directories.
- -setfacl acl_text iso_rr_path [***]
Attach the given ACL to the given iso_rr_paths. If the files already have ACLs, then those get deleted before the new ones get into effect. If acl_text is empty, or contains the text "clear" or the text "--remove-all", then the existing ACLs will be removed and no new ones will be attached. Any other content of acl_text will be interpreted as a list of ACL entries. It may be in the long multi-line format as put out by -getfacl but may also be abbreviated as follows:
- -setfacl_r acl_text iso_rr_path [***]
- Like -setfacl but affecting all files below eventual directories.
- -setfacl_list disk_path
Read the output of -getfacl_r or shell command getfacl -R and apply it to the iso_rr_paths as given in lines beginning with "# file:". This will change ownership, group and ACL of the given files. If disk_path is "-" then lines are read from standard input. Line "@" ends the list, "@@@" aborts without changing the pending iso_rr_path.
- -setfattr [-]name value iso_rr_path [***]
Attach the given xattr pair of name and value to the given iso_rr_paths. If the given name is prefixed by "-", then the pair with that name gets removed from the xattr list. If name is "--remove-all" then all user namespace xattr of the given iso_rr_paths get deleted. In case of deletion, value must be an empty text.
- -setfattr_r [-]name value iso_rr_path [***]
- Like -setfattr but affecting all files below eventual directories.
- -setfattr_list disk_path
Read the output of -getfattr_r or shell command getfattr -Rd and apply it to the iso_rr_paths as given in lines beginning with "# file:". All previously existing user space xattr of the given iso_rr_paths will be deleted. If disk_path is "-" then lines are read from standard input.
- -alter_date type timestring iso_rr_path [***]
Alter the date entries of files in the ISO image. type may be one of the following:
[Day] MMM DD hh:mm:ss [TZON] YYYY
-alter_date m-c 2013.11.27.103951 /file1 /file2 --
- -alter_date_r type timestring iso_rr_path [***]
- Like -alter_date but affecting all files below eventual directories.
- -hide hide_state iso_rr_path [***]
Prevent the names of the given files from showing up in the directory trees of ISO 9660 and/or Joliet and/or HFS+ when the image gets written. The data content of such hidden files will be included in the resulting image, even if they do not show up in any directory. But you will need own means to find nameless data in the image.
- Tree traversal command -find:
- -find iso_rr_path [test [op] [test ...]] [-exec action [params]] --
A restricted substitute for shell command find in the ISO image. It performs an action on matching file objects at or below iso_rr_path.
-has_hfs_crtp YYDN TEXT
-has_hfs_crtp - -
-find / -disk_name *_secret -exec hide on
-find / -bad_outname joliet -exec print_outname joliet
-find / -name '???' -type d -exec find -name '[abc]*' -exec chmod a-w,a+r --
- Filters for data file content:
- -external_filter name option[:option] program_path [arguments] --
Register a content filter by associating a name with a program path, program arguments, and some behavioral options. Once registered it can be applied to multiple data files in the ISO image, regardless whether their content resides in the loaded ISO image or in the local filesystem. External filter processes may produce synthetic file content by reading the original content from stdin and writing to stdout whatever they want. They must deliver the same output on the same input in repeated runs.
"default" means that no other option is intended.
"suffix=..." sets a file name suffix. If it is not empty then it will be appended to the file name or removed from it.
"remove_suffix" will remove a file name suffix rather than appending it.
"if_nonempty" will leave 0-sized files unfiltered.
"if_reduction" will try filtering and revoke it if the content size does not shrink.
"if_block_reduction" will revoke if the number of 2 kB blocks does not shrink.
"used=..." is ignored. Command -status shows it with the number of files which currently have the filter applied.
-external_filter bzip2 suffix=.bz2:if_block_reduction \
-external_filter bunzip2 suffix=.bz2:remove_suffix \
- -unregister_filter name
- Remove an -external_filter registration. This is only possible if the filter is not applied to any file in the ISO image.
- Irrevocably ban commands -concat "pipe", -external_filter, and -unregister_filter, but not -set_filter. Use this to prevent external filtering in general or when all intended filters are registered and -concat mode "pipe" shall be disallowed. External filters may also be banned totally at compile time of xorriso. By default they are banned if xorriso runs under setuid permission.
- -set_filter name iso_rr_path [***]
Apply an -external_filter or a built-in filter to the given data files in the ISO image. If the filter suffix is not empty , then it will be applied to the file name. Renaming only happens if the filter really gets attached and is not revoked by its options. By default files which already bear the suffix will not get filtered. The others will get the suffix appended to their names. If the filter has option "remove_suffix", then the filter will only be applied if the suffix is present and can be removed. Name oversize or collision caused by suffix change will prevent filtering.
- -set_filter_r name iso_rr_path [***]
- Like -set_filter but affecting all data files below eventual directories.
- Writing the result, drive control:
- Discard the manipulated ISO image and reload it from -indev. (Use -rollback_end if immediate program end is desired.)
- -changes_pending "no"|"yes"|"mkisofs_printed"|"show_status"
Write runs are performed only if a change of the image has been made since the image was loaded or created blank. Vice versa the program will start a write run for pending changes when it ends normally (i.e. not by abort and not by command -rollback_end).
Perform the write operation. Afterwards, if -outdev is readable, make it the new -dev and load the image from there. Switch to growing mode. (A subsequent -outdev will activate modification mode or blind growing.) -commit is performed automatically at end of program if there are uncommitted manipulations pending.
- -eject "in"|"out"|"all"
- Eject the medium in -indev, resp. -outdev, resp. both drives. Note: It is not possible yet to effectively eject disk files.
- -commit_eject "in"|"out"|"all"|"none"
- Combined -commit and -eject. When writing has finished do not make -outdev the new -dev, and load no ISO image. Rather eject -indev and/or -outdev. Give up any non-ejected drive.
- -blank mode
Make media ready for writing from scratch (if not -dummy is activated).
as_needed, fast, all, deformat, deformat_quickest
- -format mode
Convert unformatted DVD-RW into overwriteable ones, "de-ice" DVD+RW, format newly purchased BD-RE or BD-R, re-format DVD-RAM or BD-RE.
as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare
DVD-RW was deformatted by -blank,
DVD+RW has read failures (re-format before next write),
DVD-RAM or BD-RE shall change their amount of defect reserve.
Put out a list of format descriptors as reported by the output drive for the current medium. The list gives the index number after "Format idx", a MMC format code, the announced size in blocks (like "2236704s") and the same size in MiB.
Put out a list of speed values as reported by the drives with the loaded media. The list tells read speeds of the input drive and of the output drive. Further it tells write speeds of the output drive.
- -close_damaged "as_needed"|"force"
Try to close the upcomming track and session if the drive reported the medium as damaged. This may apply to CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL, or BD-R media. It is indicated by warning messages when the drive gets acquired, and by a remark "but next track is damaged" with the line "Media status :" of command -toc.
- -list_profiles "in"|"out"|"all"
- Put out a list of media types supported by -indev, resp. -outdev, resp. both. The currently recognized type is marked by text "(current)".
- Settings for result writing:
- -joliet "on"|"off"
- If enabled by "on", generate Joliet tree additional to ISO 9660 + Rock Ridge tree.
- -hfsplus "on"|"off"
If enabled by "on", generate a HFS+ filesystem inside the ISO 9660 image and mark it by Apple Partition Map (APM) entries in the System Area, the first 32 KiB of the image.
- -rockridge "on"|"off"
- Mode "off" disables production of Rock Ridge information for the ISO 9660 file objects. The multi-session capabilities of xorriso depend much on the naming fidelity of Rock Ridge. So it is strongly discouraged to deviate from default setting "on".
- -compliance rule[:rule...]
Adjust the compliance to specifications of ISO 9660/ECMA-119 and its contemporary extensions. In some cases it is worth to deviate a bit in order to circumvent bugs of the intended reader system or to get unofficial extra features.
- -rr_reloc_dir name
Specify the name of the relocation directory in which deep directory subtrees shall be placed if -compliance is set to "deep_paths_off" or "long_paths_off". A deep directory is one that has a chain of 8 parent directories (including root) above itself, or one that contains a file with an ECMA-119 path of more than 255 characters.
- -volid text
Specify the volume ID, which most operating systems will consider to be the volume name of the image or medium.
- -volset_id text
- Set the volume set ID string to be written with the next -commit. Permissible are up to 128 characters. This setting gets overridden by image loading.
- -publisher text
- Set the publisher ID string to be written with the next -commit. This may identify the person or organisation who specified what shall be recorded. Permissible are up to 128 characters. This setting gets overridden by image loading.
- -application_id text
Set the application ID string to be written with the next -commit. This may identify the specification of how the data are recorded. Permissible are up to 128 characters. This setting gets overridden by image loading.
- -system_id text
- Set the system ID string to be written with the next -commit. This may identify the system which can recognize and act upon the content of the System Area in image blocks 0 to 15. Permissible are up to 32 characters. This setting gets overridden by image loading.
- -volume_date type timestring
Set one of the four overall timestamps for subsequent image writing. Available types are:
search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc
- -copyright_file text
- Set the copyright file name to be written with the next -commit. This should be the ISO 9660 path of a file in the image which contains a copyright statement. Permissible are up to 37 characters. This setting gets overridden by image loading.
- -abstract_file text
- Set the abstract file name to be written with the next -commit. This should be the ISO 9660 path of a file in the image which contains an abstract statement about the image content. Permissible are up to 37 characters. This setting gets overridden by image loading.
- -biblio_file text
- Set the biblio file name to be written with the next -commit. This should be the ISO 9660 path of a file in the image which contains bibliographic records. Permissible are up to 37 characters. This setting gets overridden by image loading.
Set the preparer ID string to be written with the next -commit. This may identify the person or other entity which controls the preparation of the data which shall be recorded. Normally this should be the ID of xorriso and not of the person or program which operates xorriso. Please avoid to change it. Permissible are up to 128 characters.
- -application_use character|0xXY|disk_path
Specify the content of the Application Use field which can take at most 512 bytes.
- -out_charset character_set_name
- Set the character set to which file names get converted when writing an image. See paragraph "Character sets" for more explanations. When loading the written image after -commit the setting of -out_charset will be copied to -in_charset.
- -uid uid
- User id to be used for all files when the new ISO tree gets written to media.
- -gid gid
- Group id to be used for all files when the new ISO tree gets written to media.
- -zisofs option[:options]
Set global parameters for zisofs compression. This data format is recognized and transparently uncompressed by some Linux kernels. It is to be applied via command -set_filter with built-in filter "--zisofs". Parameters are:
"level="[0-9] zlib compression: 0=none, 1=fast,..., 9=slow
"block_size="32k|64k|128k size of compression blocks
"by_magic=on" enables an expensive test at image generation time which checks files from disk whether they already are zisofs compressed, e.g. by program mkzftree.
"default" same as "level=6:block_size=32k:by_magic=off"
- -speed code|number[k|m|c|d|b]
Set the burn speed. Default is "max" (or "0") = maximum speed as announced by the drive. Further special speed codes are:
706k = 706kB/s = 4c = 4xCD
5540k = 5540kB/s = 4d = 4xDVD
- -stream_recording "on"|"off"|"full"|"data"|number
Setting "on" tries to circumvent the management of defects on DVD-RAM, BD-RE, or BD-R. Defect management keeps partly damaged media usable. But it reduces write speed to half nominal speed even if the medium is in perfect shape. For the case of flawless media, one may use -stream_recording "on" to get full speed.
- -dvd_obs "default"|"32k"|"64k"
- GNU/Linux specific: Set the number of bytes to be transmitted with each write operation to DVD or BD media. A number of 64 KB may improve throughput with bus systems which show latency problems. The default depends on media type, on command -stream_recording , and on compile time options.
- -stdio_sync "on"|"off"|"end"|number
- Set the number of bytes after which to force output to stdio: pseudo drives. This forcing keeps the memory from being clogged with lots of pending data for slow devices. Default "on" is the same as "16m". Forced output can be disabled by "off", or be delayed by "end" until all data are produced. If a number is chosen, then it must be at least 64k.
- -dummy "on"|"off"
- If "on" then simulate burning or refuse with FAILURE event if no simulation is possible, do neither blank nor format.
- -fs number["k"|"m"]
- Set the size of the fifo buffer which smoothens the data stream from ISO image generation to media burning. Default is 4 MiB, minimum 64 kiB, maximum 1 GiB. The number may be followed by letter "k" or "m" which means unit is kiB (= 1024) or MiB (= 1024 kiB).
- -close "on"|"off"|"as_needed"
If -close is set to "on" then mark the written medium as not appendable any more. This will have no effect on overwritable media types. Setting "on" is the contrary of cdrecord option -multi, and is one aspect of growisofs option -dvd-compat.
- -write_type "auto"|"tao"|"sao/dao"
- Set the write type for the next burn run. "auto" will select SAO with blank CD media, DAO with blank DVD-R[W] if -close is "on", and elsewise CD TAO or the equivalent write type of the particular DVD/BD media. Choosing TAO or SAO/DAO explicitely might cause the burn run to fail if the desired write type is not possible with the given media state.
- -padding number["k"|"m"]|"included"|"appended"
Append the given number of extra bytes to the image stream. This is a traditional remedy for a traditional bug in block device read drivers. Needed only for CD recordings in TAO mode. Since one can hardly predict on what media an image might end up, xorriso adds the traditional 300k of padding by default to all images.
- Bootable ISO images:
- -boot_image "any"|"isolinux"|"grub"
-boot_image isolinux dir=/boot/isolinux
-boot_image isolinux bin_path=/boot/isolinux/isolinux.bin
-boot_image isolinux cat_path=/boot/isolinux/boot.cat
-boot_image isolinux load_size=2048
-boot_image any boot_info_table=on
- -append_partition partition_number type_code disk_path
Cause a prepared filesystem image to be appended to the ISO image and to be described by a partition table entry in a boot block at the start of the emerging ISO image. The partition entry will bear the size of the submitted file rounded up to the next multiple of 2048 bytes or to the next multiple of the cylinder size.
- Jigdo Template Extraction:
- -jigdo parameter_name value
Clear Jigdo Template Extraction parameter list or add a parameter to that list. The alias names are the corresponding genisoimage options. They are accepted as parameter names as well. Especially they are recognized by the -as mkisofs emulation command.
- Character sets:
- -charset character_set_name
- Set the character set from which to convert file names when loading an image and to which to convert when writing an image.
- -local_charset character_set_name
- Override the system assumption of the local character set name. If this appears necessary, one should consider to set -backslash_codes to "on" in order to avoid dangerous binary codes being sent to the terminal.
- Exception processing:
- -abort_on severity
Set the severity threshold for events to abort the program.
- -return_with severity exit_value
Set the threshold and exit_value to be returned at program end if no abort has happened. This is to allow xorriso to go on after problems but to get a failure indicating exit value from the program, nevertheless. Useful is a value lower than the -abort_on threshold, down to "WARNING".
- -report_about severity
Set the threshold for events to be reported.
- -signal_handling mode
Control the installation of a signal handler which shall react on external signals (e.g. from program "kill" or from keys Ctrl+C) or on signals caused by severe program errors.
- -error_behavior occasion behavior
Control the program behavior at problem event occasions. For now this applies to occasions "image_loading" which is given while an image tree is read from the input device, and to "file_extraction" which is given with osirrox commands like -extract.
- Dialog mode control:
- -dialog "on"|"off"|"single_line"
Enable or disable to enter dialog mode after all program arguments are processed. In dialog mode input lines get prompted via readline or from stdin.
- -page length width
Describe terminal to the text pager. See also above, paragraph Result pager.
- -use_readline "on"|"off"
If "on" then use readline for dialog. Else use plain stdin.
- -reassure "on"|"tree"|"off"
If "on" then ask the user for "y" or "n":
- Drive and media related inquiry actions:
Show list of available MMC drives with the addresses of their libburn standard device files.
Like -devices, but presenting the drives with addresses of symbolic links which point to the actual device files.
- -toc_of "in"|"out"|"all"[":short"]
Like command -toc but explicitely choosing which drive's table-of-content to show. "in" shows -indev or -dev, "out" shows -outdev or -dev, "all" shows the same as -toc.
- -mount_cmd drive entity id path
Emit an appropriate command line for mounting the ISO session indicated by drive, entity and id. The result will be different on GNU/Linux and on FreeBSD or NetBSD.
- -mount_opts option[:option...]
- Set options which influence -mount and -mount_cmd. Currently there is only option "exclusive" which is default and its counterpart "shared". The latter causes xorriso not to give up the affected drive with command -mount. On GNU/Linux it adds mount option "loop" which may allow to mount several sessions of the same block device at the same time. One should not write to a mounted optical medium, of course. Take care to umount all sessions before ejecting.
- -session_string drive entity id format
Print to the result channel a text which gets composed according to format and the parameters of the addressed session.
Print the foreseeable consumption of 2048 byte blocks by next -commit. This can last a while as a -commit gets prepared and only in last moment is revoked by this command. The result depends on several settings and also on the kind of output device. If no -jidgo options are set and not command -as "mkisofs" was used, then -padding (300 kB by default) is not counted as part of the image size.
Print available space on the output medium and the free space after subtracting already foreseeable consumption by next -commit.
- Print various ID strings and timestamps which can be found in loaded ISO images. Some of the IDs may be changed by commands like -volid or -publisher. For these IDs -pvd_info reports what would be written with the next -commit. The timestamps get not automatically propagated from loaded image to newly written image. The ones for new images may be set by command -volume_date. See there for the meaning of the particular timestamps.
- -report_el_torito "plain"|"help"
- -report_system_area "plain"|"help"|"gpt_crc_of:"disk_path
With parameter plain print a report about the information found in the System Area of the loaded ISO image. The report consists of zero to many lines with a header text, a colon, and information text.
- Navigation in ISO image and disk filesystem:
- -cd iso_rr_path
Change the current working directory in the ISO image. This is prepended to iso_rr_paths which do not begin with '/'.
- -cdx disk_path
- Change the current working directory in the local filesystem. To be prepended to disk_paths which do not begin with '/'.
- -ls iso_rr_pattern [***]
List files in the ISO image which match shell patterns (i.e. with wildcards '*' '?' '[a-z]'). If a pattern does not begin with '/' then it is compared with addresses relative to -cd.
- -lsd iso_rr_pattern [***]
- Like -ls but listing directories as themselves and not by their content. This resembles shell command ls -d.
- -lsl iso_rr_pattern [***]
Like -ls but also list some of the file attributes. The output format resembles shell command ls -ln.
- -lsdl iso_rr_pattern [***]
- Like -lsd but also list some of the file attributes. The output format resembles shell command ls -dln.
- -lsx disk_pattern [***]
List files in the local filesystem which match shell patterns. Patterns which do not begin with '/' are used relative to -cdx.
- -lsdx disk_pattern [***]
- Like -lsx but listing directories as themselves and not by their content. This resembles shell command ls -d.
- -lslx disk_pattern [***]
- Like -lsx but also listing some of the file attributes. Output format resembles shell command ls -ln.
- -lsdlx disk_pattern [***]
- Like -lsdx but also listing some of the file attributes. Output format resembles shell command ls -dln.
- -getfacl iso_rr_pattern [***]
- Print the access permissions of the given files in the ISO image using the format of shell command getfacl. If a file has no ACL then it gets fabricated from the -chmod settings. A file may have a real ACL if it was introduced into the ISO image while command -acl was set to "on".
- -getfacl_r iso_rr_pattern [***]
- Like -gefacl but listing recursively the whole file trees underneath eventual directories.
- -getfattr iso_rr_pattern [***]
- Print the xattr of the given files in the ISO image. If a file has no such xattr then noting is printed for it.
- -getfattr_r iso_rr_pattern [***]
- Like -gefattr but listing recursively the whole file trees underneath eventual directories.
- -du iso_rr_pattern [***]
- Recursively list size of directories and files in the ISO image which match one of the patterns. similar to shell command du -k.
- -dus iso_rr_pattern [***]
- List size of directories and files in the ISO image which match one of the patterns. Similar to shell command du -sk.
- -dux disk_pattern [***]
- Recursively list size of directories and files in the local filesystem which match one of the patterns. Similar to shell command du -k.
- -dusx disk_pattern [***]
- List size of directories and files in the local filesystem which match one of the patterns. Similar to shell command du -sk.
- -findx disk_path [-name pattern] [-type t] [-exec action [params]] --
Like -find but operating on local filesystem and not on the ISO image. This is subject to the settings of -follow.
- -compare disk_path iso_rr_path
Compare attributes and eventual data file content of a fileobject in the local filesystem with a file object in the ISO image. The iso_rr_path may well point to an image file object which is not yet committed, i.e. of which the data content still resides in the local filesystem. Such data content is prone to externally caused changes.
- -compare_r disk_path iso_rr_path
- Like -compare but working recursively. I.e. all file objects below both addresses get compared whether they have counterparts below the other address and whether both counterparts match.
- -compare_l disk_prefix iso_rr_prefix disk_path [***]
- Perform -compare_r with each of the disk_path parameters. iso_rr_path will be composed from disk_path by replacing disk_prefix by iso_rr_prefix.
- -show_stream iso_rr_path [***]
Display the content stream chain of data files in the ISO image. The chain consists of the iso_rr_name and one or more streams, separated by " < " marks. A stream description consists of one or more texts, separated by ":" characters. The first text tells the stream type, the following ones, if ever, describe its individual properties. Frequently used types are:
disk:'disk_path' for local filesystem objects.
image:'iso_rr_path' for ISO image file objects.
cout:'disk_path offset count' for -cut_out files.
extf:'filter_name' for external filters.
'/abc/xyz.gz' < extf:'gzip' < disk:'/home/me/x'
- -show_stream_r iso_rr_path [***]
- Like -show_stream but working recursively.
- Evaluation of readability and recovery:
- -check_media [option [option ...]] --
Try to read data blocks from the indev drive, optionally copy them to a disk file, and finally report about the encountered quality. Several options may be used to modify the default behavior.
- -check_media_defaults [option [option ...]] --
Preset options for runs of -check_media, -extract_cut and best_effort file extraction. Options given with -check_media will override the preset options. -extract_cut will override some options automatically.
- -check_md5 severity iso_rr_path [***]
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 the given severity is issued. It may then be handled by appropriate settings of commands -abort_on or -return_with which both can cause non-zero exit values of the program run. Severity ALL suppresses that event.
- -check_md5_r severity iso_rr_path [***]
- Like -check_md5 but checking all data files underneath the given paths. Only mismatching data files will be reported.
- osirrox ISO-to-disk restore commands:
- -osirrox setting[:option:...]
Setting "off" disables disk filesystem manipulations. This is the default unless the program was started with leafname "osirrox". Elsewise the capability to restore files can be enabled explicitly by -osirrox "on". It can be irrevocably disabled by -osirrox "banned".
- -extract iso_rr_path disk_path
Copy the file objects at and underneath iso_rr_path to their corresponding addresses at and underneath disk_path. This is the inverse of -map or -update_r.
- -extract_single iso_rr_path disk_path
- 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 [***]
- 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.
- -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 newly created disk file. The main purpose for this is to allow handling of large files if they are not supported by mount -t iso9660 and if the reading system is unable to buffer them as a whole.
- -cpx iso_rr_path [***] disk_path
Copy single leaf file objects from the ISO image to the address given by disk_path. If more then 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 the same leafnames.
- -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 ISO image.
- -cp_rx iso_rr_path [***] disk_path
Like -cpx but also extracting whole directory trees from the ISO image.
- -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 in ISO image.
- -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 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 [***]
Copy the data content of one or more data files of the ISO image into a disk file object, into a 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.
-concat append /home/me/accumulated_text /my/iso/text --
-iso_rr_pattern on \
-concat pipe + /usr/bin/wc + "/my/iso/files*" --
- -mount drive entity id path
- Produce the same line as -mount_cmd and then execute it as external program run after giving up the depicted drive. See also -mount_opts. This demands -osirrox to be enabled and normally will succeed only for the superuser. For safety reasons the mount program is only executed if it is reachable as /bin/mount or /sbin/mount.
- Command compatibility emulations:
- -as personality option [options] --
-as mkisofs -help --
-as cdrecord -help --
Try one by one to open for reading:
./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(dirname $0)/.mkisofsrc
- -pacifier behavior_code
Control behavior of UPDATE pacifiers during write operations. The following behavior codes are defined:
- -scdbackup_tag list_path record_name
Set the parameter "name" for a scdbackup checksum record. It will be appended in an scdbackup checksum tag to the -md5 session tag if the image starts at LBA 0. This is the case if it gets written as first session onto a sequential medium, or piped into a program, named pipe or character device.
- Scripting, dialog and program control features:
- -options_from_file fileaddress
Read quoted input from fileaddress and execute it like dialog lines. Empty lines and lines which begin by # are ignored. Normally one line should hold one xorriso command and all its parameters. Nevertheless lines may be concatenated by a trailing backslash.
- Print program name and version, component versions, license.
- -list_extras code
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 with related commands (see also there):
- -history textline
- Copy textline into libreadline history.
- -status mode|filter
Print the current settings of xorriso. Modes:
short... print only important or altered settings
long ... print all settings including defaults
long_history like long plus history lines
- -status_history_max number
- Set maximum number of history lines to be reported with -status "long_history".
- -list_delimiter word
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 quotation marks.
- -sh_style_result "on"|"off"
Make the result output of some filesystem inspection commands look more like the output of equivalent shell commands. The most important effect is to prevent the wrapping of file addresses into quotation marks with commands
-pwd -pwdx -ls -lsd -lsl -lsdl -lsx -lsdx -lslx -lsdlx
-du -dus -dux -dusx -findx -find
- -backslash_codes "on"|"off"|mode[:mode]
Enable or disable the interpretation of symbolic representations of special characters with quoted input, or with program arguments, or with program text output. If enabled the following translations apply:
\a=bell(007) \b=backspace(010) \e=Escape(033) \f=formfeed(014)
\n=linefeed(012) \r=carriage_return(015) \t=tab(011)
\v=vtab(013) \\=backslash(134) \[0-7][0-7][0-7]=octal_code
"in_double_quotes" translates only inside " quotation.
"in_quotes" translates inside " and ' quotation.
"with_quoted_input" translates inside and outside quotes.
"with_program_arguments" translates program arguments.
- -temp_mem_limit number["k"|"m"]
Set the maximum size of temporary memory to be used for image dependent buffering. Currently this applies to pattern expansion, LBA sorting, restoring of hard links.
- -print text
- Print a text line to the result channel which is by default stdout.
- -print_info text
- Print a text line to the info channel which is by default stderr.
- -print_mark text
- Print a text line to the mark channel which is by default directed to both, result and info channel. An empty text will cause no output at all.
- -prompt text
- Show text at beginning of output line and wait for the user to hit the Enter key resp. to send a line via stdin.
- -sleep seconds
- Wait for the given number of seconds before perfoming the next command. Expect coarse granularity no better than 1/100 seconds.
- -errfile_log mode path|channel
- -session_log path
If path is not empty it gives the address of a plain text file where a log record gets appended after each session. This log can be used to determine the start_lba of a session for mount options -o sbsector= resp. -s from date or volume ID.
- -scsi_log "on"|"off"
Mode "on" enables very verbous logging of SCSI commands and drive replies. Logging messages get printed to stderr, not to any of the xorriso output channels.
- Discard pending changes. End program immediately.
- # any text
- Only in dialog or file execution mode, and only as first non-whitespace in line: Do not execute the line but store it in readline history.
- Support for frontend programs via stdin and stdout:
- -pkt_output "on"|"off"
Consolidate text output on stdout and classify each line by a channel indicator:
'R:' for result lines,
'I:' for notes and error messages,
'M:' for -mark texts.
I:1: enter option and parameters :
- -logfile channel fileaddress
- 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.
- -mark text
- 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.
- -msg_op opcode parameter_text
This command shall facilitate extraction of particular information from the message output of other commands. It gives access to the C API function Xorriso_parse_line() and to the message sieve that is provided by the C API. Please refer to their descriptions in file xorriso.h. Further it helps to interpret the severity codes of info messages.
- -named_pipe_loop mode[:mode] disk_path_stdin disk_path_stdout disk_path_stderr
Temporarily replace standard input, standard output and standard error by named pipes. Enter dialog mode without readline.
- -launch_frontend program [arguments ...] --
Start the program that is given as first parameter. Submit the other parameters as program arguments. Enable xorriso dialog mode.
xorriso -launch_frontend "$(which xorriso-tcltk)" -stdio --
-mark 0 -pkt_output on -msg_op start_sieve - -reassure off
...some...commands... -mark <incremented_number>
-report_about UPDATE -abort_on NEVER
-iso_rr_pattern off -disk_pattern off
- -prog text
- Use text as name of this program in subsequent messages
- -prog_help text
Use text as name of this program and perform -help.
-blank as_needed \
-map /home/me/sounds /sounds \
-map /home/me/pictures /pictures
-blank as_needed \
-map /home/me/sounds /sounds \
-map /home/me/pictures /pictures \
-cd / \
-add pictures/confidential/work* --
-rm_r /sounds -- \
-chmod go-rwx /pictures/restricted -- \
-map /home/me/prepared_for_dvd/sounds_dummy /sounds \
-map /home/me/prepared_for_dvd/movies /movies \
-commit -eject all
-rm_r /sounds -- \
-outdev /dev/sr0 -blank as_needed \
-commit -eject all
-map /home/me/ISOLINUX_prepared_tree / \
-boot_image isolinux dir=/boot/isolinux
-out_charset UTF-8 -backslash_codes on -dev /dev/sr0 \
-changes_pending yes -commit -eject all
-drive_class banned /dev/sda*
-drive_class harmless /dev/sdb
| gzip >image.iso.gz
xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject -
xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
-report_about UPDATE \
-return_with FAILURE 32 \
-abort_on NEVER \
-abort_on FATAL \
-for_backup -disk_dev_ino on \
-assert_volid 'PROJECTS_MAIL_*' FATAL \
-dev /dev/sr0 \
-volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \
-not_leaf '*.o' -not_leaf '*.swp' \
-update_r /home/thomas/projects /projects \
-update_r /home/thomas/personal_mail /personal_mail \
-commit -toc -check_md5 FAILURE -- -eject all
-hardlinks perform_update \
-find / -type f -pending_data -exec set_filter --zisofs -- \
-mount_cmd "indev" "auto" "auto" /mnt
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
-update_r /home/thomas/projects /current/projects \
-update_r /home/thomas/personal_mail /current/personal_mail \
-clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \
-load volid 'PROJECTS_MAIL_2008_06_19*' \
-indev /dev/sr0 \
-osirrox on:auto_chmod_on \
-chmod u+rwx / -- \
-extract /projects /home/thomas/restored/projects \
-extract /personal_mail /home/thomas/restored/personal_mail \
-check_media time_limit=1800 report=blocks_files \
data_to="$HOME"/dvd_copy sector_map="$HOME"/dvd_copy.map --
- For the mkisofs emulation of xorriso
- For the cdrecord emulation of xorriso
- For mounting xorriso generated ISO 9660 images (-t iso9660)
- Libreadline, a comfortable input line facility
- Other programs which produce ISO 9660 images
- mkisofs(8), genisoimage(8)
- Other programs which burn sessions to optical media
- growisofs(1), cdrecord(1), wodim(1), cdrskin(1)
- ACL and xattr
- getfacl(1), setfacl(1), getfattr(1), setfattr(1)
- MD5 checksums
- On FreeBSD the commands for xattr and MD5 differ
- getextattr(8), setextattr(8), md5(1)
|Version 1.3.8, Jun 28, 2014|