| XORRISOFS(1) | General Commands Manual | XORRISOFS(1) |
NAME¶
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorrisoSYNOPSIS¶
xorrisofs [ options ] [-o filename ] pathspec [pathspecs ...]DESCRIPTION¶
xorrisofs produces Rock Ridge enhanced ISO 9660 filesystems and add-on sessions to such filesystems. Optionally it can produce Joliet directory trees too.ISO 9660, Rock Ridge, Joliet:¶
ISO 9660 (aka ECMA-119) is a read-only filesystem that is mainly used for optical media CD, DVD, BD, but may also reside on other storage devices like disk files, USB sticks or disk partitions. It is widely readable by many operating systems and by boot facilities of personal computers.Inserting files into the ISO image:¶
xorrisofs deals with two kinds of file addresses:Relation to program xorriso:¶
xorrisofs is actually a command mode of program xorriso, which gets entered either by xorriso command "-as mkisofs" or by starting the program by one of the names "xorrisofs", "mkisofs", "genisoimage", or "genisofs".OPTIONS¶
- Image loading:
- -M disk_path
- Set the path from which to load the existing ISO image
directory tree on which to base the upcomming directory tree as add-on
session. The path must lead to a random-access readable file object. On
GNU/Linux: regular data files or block device files.
A special kind of pseudo disk_path has the form "/dev/fd/"number. It depicts the open file descriptor with the given number, regardless whether the operating system supports this feature by file nodes in /dev/fd or not. E.g. /dev/fd/3 is file descriptor 3 which was opened by the program that later started xorriso.
- -prev-session disk_path
- Alias of -M.
- -dev disk_path
- Alias of -M.
- -C last_session_start,next_writeable_address
- Set the 2 KiB block address last_session_start from where
to read the ISO image out of the file given by option -M.
Separated by a comma, set the next_writeable_address to which the add-on session will finally be written. Decisive is actually the block address which the intended readers will have to use as superblock address on the intended medium.Both values can be inquired from optical media by help of burn programs and cdrecord option -msinfo. xorriso itself can obtain it in its cdrecord emulation. Do not let it load the drive, but rather do this manually or by a program like dd which reads a few bytes. Only then it is sure that the device driver knows the true readable size of the medium.
dd if=/dev/... count=1 >/dev/null 2>&1
values=$(xorriso -as cdrecord dev=/dev/... -msinfo)
echo $valuesOption -C may be used without option -M to create an ISO image from scratch and prepare it for being finally written to a block address other than 0. Parameter last_session_start must then be set to 0.
- -cdrecord-params last_session_start,next_writeable_address
- Alias of -C.
- Settings for file insertion:
- -path-list disk_path
- Read pathspecs line-by-line from disk_file and insert the depicted file objects into the ISO image. If disk_path is "-" then read the pathspecs from standard input.
- --quoted_path_list disk_path
- Like option -path-list but reading quoted words rather than
plain lines. Whitespace outside of quotes will be discarded. On the other
hand it is possible to represent pathspecs which contain newline
characters.
The double quotation mark " and the single quotation mark ' can be used to enclose whitespace and make it part of pathspecs. Each mark type can enclose the marks of the other type. A trailing backslash \ outside quotations or an open quotation cause the next input line to be appended.
- -f
-
Resolve symbolic links on disk rather than storing them as symbolic links in the ISO image.
- -follow-links
- Alias of -f.
- -graft-points
- Enable interpretation of input file pathspecs as combination of iso_rr_path and disk_path, separated by a =-character.
- -m disk_pattern
- Exclude files from being inserted into the image. Silently
ignored are those files of which the disk_path matches the given shell
parser pattern. If no /-character is part of the pattern, then it gets
matched against the leaf name of the disk file.
It is possible to give more than one -m option.
- -exclude
- Alias of -m.
- -x
-
Alias of -m.
- -old-exclude
- Alias of -m.
- -exclude-list disk_path
- Perform -m using each line out of file disk_path as argument disk_pattern.
- -z
-
Enable recognition and proper processing of zisofs compressed files as produced by program mkzftree. These files will get equipped with the necessary meta data so that a Linux kernel will recognize them and deliver their content in uncompressed form.
- -transparent-compression
- Alias of -z.
- -root iso_rr_path
- Insert all files under the given iso_rr_path. If option
-graft-points is given, then iso_rr_path is prepended to each target part
of a pathspec.
The default for -root is "/".
- -old-root iso_rr_path
- Enable incremental insertion of files into the loaded
image. The effective target and source addresses of given pathspecs get
compared whether the target already exists in the ISO image and is still
identical to the source on disk. Metadata in the ISO image will get
adjusted, if they differ from those on disk. New files and files with
changed content will get newly added. Target files which do not exist in
any of the according pathspec sources will get removed from the ISO
directory tree.
If the effective setting of -root differs from the iso_rr_path given with -old-root, then the files underneath the -old-root directory get cloned underneath the -root directory. Cloning happens before file comparison.
- --old-root-no-ino
- Disable recording and use of disk inode numbers. If no disk
inode numbers are recorded, then option -old-root will have to read disk
file content and compare it with the MD5 checksum that is recorded in the
ISO image.
With recorded disk inode numbers and with credible ctime and mtime, it is possible to detect potential changes in the content without actually reading it. A loophole remains if multiple different filesystems may get mounted at the same directory, like it is habit with /mnt. In this case one has to use option --old-root-devno or disable the inode number shortcut by --old-root-no-ino.
- --old-root-devno
- Enable comparison of recorded device numbers together with recorded inode numbers. This works only with good old stable device numbers which get out of fashion, regrettably. If the hard disk has a different device number after each reboot, then this comparison will see all files as changed and thus prevent any incremental size saving.
- --old-root-no-md5
- Disable recording and use of MD5 checksums for data file content. If neither checksums and nor disk inode numbers are recorded, then option -old-root will have to read ISO image file content when comparing it with disk file content.
- Settings for image production:
- -o disk_path
- Set the output file address for the emerging ISO image. If
the address exists as regular file, it will be truncated to length 0 when
image production begins. It may not already exist as directory. If it does
not exist yet then its parent directory must exist and a regular file will
get created.
A special kind of pseudo disk_path has the form "/dev/fd/"number. It depicts the open file descriptor with the given number, regardless whether the operating system supports this feature by file nodes in /dev/fd or not. E.g. /dev/fd/4 is file descriptor 4 which was opened by the program that later started xorriso.Default is standard output (/dev/fd/1) which may also be set by disk_path "-".
- -output disk_path
- Alias of -o.
- --stdio_sync "on"|"off"|number
- Set the number of bytes after which to force output to disk
in order to keep 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".
xorriso uses an inner fifo buffer with default size 4 MiB. So forcing the operating system i/o cache to disk does not necessarily block the simultaneous production of more image content.
- --emul-toc
- Write a second superblock with the first session into
random-access files. If further sessions get appended and the first
superblock gets updated, then the second superblock will not be
overwritten. This allows to still mount the first session and to find the
start blocks of the further sessions.
The price is 64 KiB extra space consumption. If -partition_offset is non-zero, then it is 128 KiB plus twice the partition setup.
- --no-emul-toc
- Do not write a second superblock with the first session
into random-access files.
This is the default.
- --sort-weight weight_number iso_rr_path
- Attribute a LBA weight number to regular files. If
iso_rr_path leads to a directory then all regular files underneath will
get the weight_number.
The weight_number may range from -2147483648 to 2147483647. The higher it is, the lower will be the block address of the file data in the emerging ISO image. Currently the El Torito boot catalog has a hardcoded weight of 1 billion. Normally it should occupy the block with the lowest possible address. Data files get added or loaded with initial weight 0.
- -dir-mode mode
- Set the access permissions for all directories in the image to the given mode which is either an octal number beginning with "0" or a comma separated list of statements of the form [ugoa]*[+-=][rwxst]* . E.g. ug=rx,a-rwx
- -file-mode mode
- Like -dir-mode but for all regular data files in the image.
- -pad
-
Add 300 KiB to the end of the produced ISO image. This circumvents possible read errors from ISO images which have been written to CD media in TAO mode. The additional bytes are claimed as part of the ISO image if not --emul-toc is given.Option -pad is the default.
- -no-pad
- Disable padding of 300 KiB to the end of the produced ISO image. This is safe if the image is not meant to be written on CD or if it gets written to CD as only track in write mode SAO.
- --old-empty
- Use the old way of of giving block addresses in the range of [0,31] to files with no own data content. The new way is to have a dedicated block to which all such files will point.
- Settings for standards compliance:
- -iso-level number
- Specify the ISO 9660 version which defines the limitations
of file naming and data file size. The naming restrictions do not apply to
the Rock Ridge names but only to the low-level ISO 9660 names. There are
three conformance levels:
Level 1 allows ISO names of the form 8.3 and file size up to 4 GiB - 1.Level 2 allows ISO names with up to 32 characters and file size up to 4 GiB - 1.Level 3 allows ISO names with up to 32 characters and file size of up to 400 GiB - 200 KiB. (This size limitation is set by the xorriso implementation and not by ISO 9660 which would allow nearly 8 TiB.)Pseudo-level 4 enables production of an additional ISO 9660:1999 directory tree.
- -disallow_dir_id_ext
- Do not follow a bad habit of mkisofs which allows dots in the ISO names of directories. On the other hand, some bootable GNU/Linux images depend on this bad habit.
- -U
-
This option allows ISO file names without dot and up to 37 characters, ISO file paths longer than 255 characters, and all ASCII characters in file names. Further it omits the semicolon and the version numbers at the end of ISO names.This all violates ISO 9660 specs.
- -untranslated-filenames
- Alias of -U.
- -untranslated_name_len number
- Allow ISO file names up to the given number of characters
without any character conversion. The maximum number is 96. If a file name
has more characters, then image production will fail deliberately.
This violates ISO 9660 specs.
- -allow-lowercase
- Allow lowercase character in ISO file names.
This violates ISO 9660 specs.
- -relaxed-filenames
- Allow nearly all 7-bit characters in ISO file names. Not
allowed are 0x0 and '/'. If not option -allow-lowercase is given, then
lowercase letters get converted to uppercase.
This violates ISO 9660 specs.
- -d
-
Do not add trailing dot to ISO file names without dot.This violates ISO 9660 specs.
- -omit-period
- Alias of -d.
- -l
-
Allow up to 31 characters in ISO file names.
- -full-iso9660-filenames
- Alias of -l.
- -max-iso9660-filenames
- Allow up to 37 characters in ISO file names.
This violates ISO 9660 specs.
- -N
-
Omit the semicolon and the version numbers at the end of ISO names.This violates ISO 9660 specs.
- -omit-version-number
- Alias of -N.
- Settings for standards extensions:
- -R
-
With mkisofs this option enables Rock Ridge extensions. xorrisofs produces them unconditionally.
- -rock
-
Alias of -R.
- -r
-
Set Rock Ridge user and group id of all files in the ISO image to 0. Grant r-permissions to all. Deny all w-permissions. If any x-permission is set, grant x-permission to all. Remove s-bit and t-bit.
- -rational-rock
- Alias of -r.
- -D
- The standard ECMA-119 demands that no path in the image
shall have more than 8 name components or 255 characters. Therefore it
would be necessary to move deeper directory trees to a higher directory.
Rock Ridge offers an opportunity to let these relocated directories appear
at their orginal deep position, but this feature might not be implemented
properly by operating systems which mount the image.
Option -D disables this deep directory relocation, and thus violates ISO 9660 specs.xorrisofs has -D set by default. If given explicitely then it overrides the options -rr_reloc_dir and -hide-rr-moved.
- -disable-deep-relocation
- Alias of -D.
- -rr_reloc_dir name
- Enable the relocation of deep directories and thus avoid
ECMA-119 file paths of more than 8 name components or 255 characters.
Directories which lead to such file paths will get moved to a directory in
the root directory of the image. Its name gets set by this option. It is
permissible to use the root directory itself.
The overall directory tree will appear originally deep when interpreted as Rock Ridge tree. It will appear as re-arranged if only ECMA-119 information is considered.If the given relocation target directory does not already exist when image production begins, then it will get created and marked for Rock Ridge as relocation artefact. At least on GNU/Linux it will not be displayed in mounted Rock Ridge images.The name must not contain a '/' character after its first character and it must not be longer than 255 bytes.This option has no effect if option -D is present.
- -hide-rr-moved
- Alias of -rr_reloc_dir "/.rr_moved"
- --for_backup
- Enable options which improve backup fidelity: --acl, --xattr, --md5, --hardlinks.
- --acl
-
Enable recording and loading of ACLs from GNU/Linux or FreeBSD (see man getfacl, man acl). They will not be in effect with mounted ISO images. But xorriso can restore them on the same systems when extracting files from the ISO image.
- --xattr
-
Enable recording and loading of GNU/Linux or FreeBSD extended attributes in user namespace (see man getfattr, man attr, resp. man getextattr, man 9 extattr). They will not be in effect with mounted ISO images. But xorriso can restore them on the same systems when extracting files from the ISO image.
- --md5
-
Enable recording of MD5 checksums for the overall ISO image and for each single data file in the image. xorriso can check the content of an ISO image with these sums and raise alert on mismatch. See man xorriso, options -check_media, check_md5_r. xorriso can print recorded MD5 checksums. E.g. by:
-find / -exec get_md5
- --hardlinks
- Enable loading and recording of hardlink relations. Search
for families of iso_rr files which stem from the same disk file, have
identical content filtering and have identical properties. The members of
each family get the same inode number in the ISO image.
Whether these numbers are respected at mount time depends on the operating system. xorriso can create hardlink families when extracting files from the ISO image.
- --scdbackup_tag disk_path record_name
- Append a scdbackup checksum record to the image. This works
only if the parameter next_writeable_address of option -C is 0. If
disk_path is not an empty string, then append a scdbackup checksum record
to the end of this file. record_name is a word that gets part of tag and
record.
Program scdbackup_verify will recognize and verify tag resp. record.
- -J
-
Enable the production of an additional Joliet directory tree along with the ISO 9660 Rock Ridge tree.
- -joliet
- Alias of -J.
- -joliet-long
- Allow 103 characters in Joliet file names rather than 64 as
is prescribed by the specification. Allow Joliet paths longer than the
prescribed limit of 240 characters.
Oversized names get truncated. Without this option, oversized paths get excluded from the Joliet tree.
- Settings for file hiding:
- -hide disk_path_pattern
- Make files invisible in the directory tree of ISO 9660 and
Rock Ridge, if their disk_path matches the given shell parser pattern. 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.
This command does not apply to the boot catalog.
- -hide-list disk_path
- Perform -hide using each line out of file disk_path as argument disk_path_pattern.
- -hide-joliet disk_path_pattern
- Like option -hide but making files invisible in the directory tree of Joliet, if their disk_path matches the given shell parser pattern.
- -hide-joliet-list disk_path
- Perform -hide-joliet using each line out of file disk_path as argument disk_path_pattern.
- ISO image ID strings:
- -V text
- Set the Volume Id of the ISO image. xorriso accepts any
text up to 32 characters, but according to rarely obeyed specs stricter
rules apply:
Conformant are ASCII characters out of [A-Z0-9_]. Like: "IMAGE_23"Joliet allows 16 UCS-2 characters. Like: "Windows name"Be aware that the volume id might get used automatically as name of the mount point when the medium is inserted into a playful computer system.
- -volid text
- Alias of -V.
- -volset text
- Set the Volume Set Id of the ISO image. Permissible are up to 128 characters.
- -p text
- Set the Publisher Id of the ISO image. This may identify the person or organisation who specified what shall be recorded. Permissible are up to 128 characters.
- -publisher text
- Alias of -p.
- -A text
- Set the Application Id of the ISO image. This may identify
the specification of how the data are recorded. Permissible are up to 128
characters.
The special text "@xorriso@" gets converted to the id string of xorriso which is normally written as Preparer Id. It is a wrong tradition to write the program id as Application Id.
- -appid text
- Alias of -A.
- -sysid text
- Set the System Id of the ISO image. 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.
- -p text
- Set the Preparer Id of the ISO image. 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.
The special text "@xorriso@" gets converted to the id string of xorriso which is default at program startup.
- -preparer text
- Alias of -p.
- -abstract iso_path
- Set the address of the Abstract File of the ISO image. 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.
- -biblio iso_path
- Set the address of the Biblio File of the ISO image. This should be the ISO 9660 path of a file in the image which contains bibliographic records. Permissible are up to 37 characters.
- -copyright iso_path
- Set the address of the Copyright File of the ISO image. This should be the ISO 9660 path of a file in the image which contains a copyright statement. Permissible are up to 37 characters.
- --modification-date=YYYYMMDDhhmmsscc
- Set a timestring that overrides ISO image creation and
modification timestamps literally. It must consist of 16 decimal digits
which form YYYYMMDDhhmmsscc, with YYYY between 1970 and 2999. Time zone is
GMT. It is supposed to match this GRUB line:
search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-ccE.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
- El Torito Bootable ISO images:
- -b iso_rr_path
- Specify the boot image file which shall be mentioned in the
current entry of the El Torito boot catalog. It will be marked as suitable
for PC-BIOS.
With boot images from ISOLINUX and GRUB this option should be accompanied by options -c , -no-emul-boot , -boot-load-size 4 , -boot-info-table.
- -eltorito-boot iso_rr_path
- Alias of -b.
- -eltorito-alt-boot
- Finalize the current El Torito boot catalog entry and begin a new one. A boot image file and all its necessary options shall be specified before option -eltorito-alt-boot. All further El Torito boot options apply to the new catalog entry. Up to 32 catalog entries are possible.
- -e iso_rr_path
- Specify the boot image file which shall be mentioned in the
current entry of the El Torito boot catalog. It will be marked as suitable
for EFI.
Normally no other El Torito options should be used with the catalog entry that points to an EFI image. Consider to use --efi-boot rather than -e.
- --efi-boot iso_rr_path
- Perform -eltorito-alt-boot, option -e with the given iso_rr_path, and again -eltorito-alt-boot. This gesture is used for achieving EFI-bootability of the GRUB2 rescue CD.
- -boot-load-size number
- Set the number of 512-byte blocks for boot images which emulate a floppy or a hard disk. A safe default for non-emulating boot images is 4.
- -hard-disk-boot
- Mark the boot image in the current catalog entry as emulated hard disk. (Not suitable for any known boot loader.)
- -no-emul-boot
- Mark the boot image in the current catalog entry as not
emulating floppy or hard disk. (This is to be used with all known boot
loaders.)
If neither -hard-disk-boot nor -no-emul-boot is given, then the boot image will be marked as emulating a floppy. (Not suitable for any known boot loader.)
- -boot-info-table
- Overwrite certain bytes in the current boot image. The information will be supplied by xorriso in the course of image production: Block address of the Primary Volume Descriptor, block address of the boot image file, size of the boot image file.
- -c iso_rr_path
- Set the address of the El Torito boot catalog file within the image. This file address is not significant for the booting PC-BIOS or EFI, but it may later be read by other programs in order to learn about the available boot images.
- -eltorito-catalog iso_rr_path
- Alias of -c.
- --boot-catalog-hide
- Prevent the El Torito boot catalog from appearing as file in the directory trees of the image.
- System Area, MBR, other boot blocks:
- -G disk_path
- Copy at most 32768 bytes from the given disk file to the
very start of the ISO image.
Other than a El Torito boot image, the file disk_path needs not to be added to the ISO image. It will not show up as file in the directory trees.
- -generic-boot disk_path
- Alias of -G.
- --embedded-boot disk_path
- Alias of -G.
- -isohybrid-mbr disk_path
- Install disk_path as ISOLINUX isohybrid MBR which makes the
boot image given by option -b bootable from USB sticks and hard disks via
PC-BIOS. This preparation is normally done by ISOLINUX program isohybrid
on the already produced ISO image.
The disk path should lead to one of the Syslinux files isohdp[fp]x*.bin . The MBR gets patched according to isohybrid needs. The first partition describes the range of the ISO image. Its start is at block 0 by default, but may be set to 64 disk blocks by option -partition_offset 16.
- --protective-msdos-label
- Patch the System Area by a simple PC-DOS partition table where partition 1 claims the range of the ISO image but leaves the first block unclaimed.
- -partition_offset 2kb_block_adr
- Cause a partition table with a single partition that begins
at the given block address. This is counted in 2048 byte blocks, not in
512 byte blocks. If the block address is non-zero then it must be at least
16. Values larger than 16 are hardly of use. A non-zero partition offset
causes two superblocks to be generated and two sets of directory trees.
The image is then mountable from its absolute start as well as from the
partition start.
The offset value of an ISO image gets preserved when a new session is added to a loaded image. So the value defined here is only in effect if a new ISO image gets written.
- -partition_hd_cyl number
- Set the number of heads per cylinder for the partition table. 0 chooses a default value. Maximum is 255.
- -partition_sec_hd number
- Set the number of sectors per head for the partition table.
0 chooses a default value. Maximum is 63.
The product partition_sec_hd * partition_hd_cyl * 512 is the cylinder size. It should be divisible by 2048 in order to allow exact alignment. If it is too small to describe the image size by at most 1024 cylinders, then appropriate values of partition_hd_cyl are chosen with partition_sec_hd 32 or 63. If the image is larger than 8,422,686,720 bytes, then the cylinder size constraints cannot be fulfilled. They seem not overly important anyway. Flat block addresses in partition tables are good for 1 TiB.
- -partition_cyl_align mode
- Control image size alignment to an integer number of
cylinders. It is prescribed by isohybrid specs and it seems to please
program fdisk. Cylinder size must be divisible by 2048. Images larger than
8,323,596,288 bytes cannot be aligned.
Mode "auto" is default. Alignment by padding happens only if option -isohybrid-mbr is given.Mode "on" causes alignment by padding with option --protective-msdos-label too. Mode "off" disables alignment unconditionally.
- -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.
Beware of subsequent multi-session runs. The appended partition will get overwritten.partition_number may be 1 to 4. Number 1 will put the whole ISO image into the unclaimed space before partition 1. So together with most xorriso MBR features, number 2 would be the most natural choice.The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal number between 0x00 and 0xff. Not all those numbers will yield usable results. For a list of codes search the Internet for "Partition Types" or run fdisk command "L".
- -mips-boot iso_rr_path
- Declare a data file in the image to be a MIPS Big Endian boot file and cause production of a MIPS Big Endian Volume Header. This is mutually exclusive with production of other boot blocks like MBR. It will overwrite the first 512 bytes of any data provided by -G. Up to 15 boot files can be declared by multiple -mips-boot options.
- -mipsel-boot iso_rr_path
- Declare a data file in the image to be the MIPS Little Endian boot file. This is mutually exclusive with other boot blocks. It will overwrite the first 512 bytes of any data provided by -G. Only a single boot file can be declared by -mipsel-boot.
- -B disk_path[,disk_path ...]
- Cause one or more data files on disk to be written after
the end of the ISO image. A SUN Disk Label will be written into the first
512 bytes of the ISO image which lists this image as partition 1 and the
given disk_paths as partition 2 up to 8.
The disk files should contain suitable boot images for SUN SPARC systems.The pseudo disk_path "..." causes that all empty partition entries become copies of the last non-empty entry. If no other disk_path is given before "..." then all partitions describe the ISO image. In this case, the boot loader code has to be imported by option -G.
- -sparc-boot disk_path[,disk_path ...]
- Alias of -B.
- -sparc-label text
- Set the ASCII label text of a SUN Disk Label.
- Character sets:
- -input-charset character_set_name
- Set the character set from which to convert disk file names when inserting them into the ISO image.
- -output-charset character_set_name
- Set the character set from which to convert names of loaded ISO images and to which to convert names when writing ISO images.
- Jigdo Template Extraction:
$ xorrisofs -version 2>&1 | grep '^libjte' && echo YES
- -jigdo-jigdo disk_path
- Set the disk_path for the .jigdo file with the checksums and download addresses for filling the holes in .template.
- -jigdo-template disk_path
- Set the disk_path for the .template file with the holed and compressed ISO image copy.
- -jigdo-min-file-size size
- Set the minimum size for a data file to be listed in the .jigdo file and being a hole in the .template file. size may be a plain number counting bytes, or a number with appended letter "k", "m", "g" to count KiB (1024 bytes), MiB (1024 KiB), or GiB (1024 MiB).
- -jigdo-force-md5 disk_path_pattern
- adds a regular expression pattern which will get compared with the absolute disk_path of any data file that was not found in the .md5 list. A match causes a MISHAP event, which normally does not abort the program run but finally causes a non-zero exit value of the program.
- -jigdo-exclude disk_path_pattern
- Add a regular expression pattern which will get compared with the absolute disk_path of any data file. A match causes the file to stay in .template in any case.
- -jigdo-map To=From
- Add a string pair of the form To=From to the parameter list. If a data file gets listed in the .jigdo file, then it is referred by the file address from its line in the .md5 file. This file address gets checked whether it begins with the From string. If so, then this string will be replaced by the To string and a ':' character, before it goes into the .jigdo file. The From string should end by a '/' character.
- -md5-list disk_path
- Set the disk_path where to find the .md5 input file.
- -jigdo-template-compress "gzip"|"bzip2"
- Choose one of "bzip2" or "gzip" for the compression of the template file. The jigdo file is put out uncompressed.
- -checksum_algorithm_iso list_of_names
- Choose one or more of "md5", "sha1", "sha256", "sha512" for the auxiliary "# Image Hex" checksums in the .jigdo file. The list_of_names may e.g. look like "md5,sha1,sha512". Value "all" chooses all available algorithms. Note that MD5 stays always enabled.
- -checksum_algorithm_template list_of_names
- Choose the algorithms for the "# Template Hex" checksums in the .jigdo file. The rules for list_of_names are the same as with -checksum_algorithm_iso.
- Miscellaneous options:
- -print-size
- Print to stdandard output the foreseeable number of 2048
byte blocks in the emerging ISO image. Do not produce this image.
The result depends on several settings.If option --emul-toc is given, then padding (see -pad) is not counted as part of the image size. In this case either use -no-pad or add 150 (= 300 KiB) to the resulting number.
- --no_rc
- Only if used as first argument this option prevents reading and interpretation of startup files. See section FILES below.
- -help
-
List supported options to stderr. Original mkisofs options bear their original mkisofs description texts.
- -quiet
-
Suppress most messages of the program run, except those which indicate problems or errors.
- -v
-
Enable the output of informational program messages.
- -verbose
- Alias of -v.
- -version
- Print to standard output a text that begins with
"mkisofs 2.01-Emulation Copyright (C)"and to standard error the version information of xorriso.
EXAMPLES¶
Overview of examples:¶
A simple image production runA simple image production run¶
A prepared file tree in directory ./for_iso gets copied into the root directory of the ISO image. File permissions get set to read-only for everybody. Joliet attributes for Microsoft systems get added. The resulting image gets written as data file ./image.iso on disk.$ xorrisofs -r -J -o ./image.iso ./for_iso
Set ISO image paths by -graft-points¶
Without option -graft-points each given disk file is copied into the root directory of the ISO image, maintaining its name. If a directory is given, then its files and sub-directories are copied into the root directory, maintaining their names.$ xorrisofs ... /home/me/datafile /tmp/directory
/datafile
/file_1_from_directory
...
/file_N_from_directory
$ xorrisofs ... -graft-points /home/me/datafile /dir=/tmp/directory
/datafile
/dir
/datafiles/file1=/home/me/datafile
/datafiles/file1
/with_\=_and_\\/file=/tmp/directory/file
/with_=_and_\/file
Perform multi-session runs¶
This example works for multi-session media only: CD-R[W], DVD-R[W], DVD+R, BD-R. Add cdrskin option --grow_overwriteable_iso to all -as cdrecord runs in order to enable multi-session emulation on overwriteable media.$ xorrisofs -graft-points \
/tree1=prepared_for_iso/tree1 \
| xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject -
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ xorrisofs -M /dev/sr0 -C $m -graft-points \
/tree2=prepared_for_iso/tree2 \
| xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
Let xorrisofs work underneath growisofs¶
growisofs expects an ISO formatter program which understands options -C and -M. A variable is defined to override the hardcoded default name.$ export MKISOFS="xorrisofs"
$ growisofs -Z /dev/dvd /some/files
$ growisofs -M /dev/dvd /more/files
$ ln -s $(which xorriso) "$HOME/xorrisofs"
$ export MKISOFS="$HOME/xorrisofs"
$ growisofs -Z /dev/dvd --for_backup -- \
outdev - -update_r /my/files /files
$ growisofs -M /dev/dvd --for_backup -- \
outdev - -update_r /my/files /files
Incremental backup of a few directory trees¶
This changes the directory trees /open_source_project and /personal_mail in the ISO image so that they become exact copies of their disk counterparts. ISO file objects get created, deleted or get their attributes adjusted accordingly.$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ load_opts=
$ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo"
$ xorrisofs $load_opts -o - --for_backup -m '*.o' -m '*.swp' \
-V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \
-old-root / \
/projects=/home/thomas/projects \
/personal_mail=/home/thomas/personal_mail \
| xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject -
$ xorriso -dev /dev/sr0 -toc
$ xorriso -mount_cmd /dev/sr0 session 12 /mnt
$ xorriso -mount_cmd /dev/sr0 volid '*2008_12_05*' /mnt
mount -t iso9660 -o nodev,noexec,nosuid,ro,sbsector=1460256 '/dev/sr0' '/mnt'
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
Incremental backup with accumulated trees¶
Solaris does not offer the option to mount older sessions. In order to keep them accessible, one may map all files to a file tree under a session directory and accumulate those directories from session to session. The -root tree is cloned from the -old-root tree before it gets compared with the appropriate trees on disk.$ xorrisofs -root /session1 \
-o - --for_backup -m '*.o' -m '*.swp' \
-V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \
/projects=/home/thomas/projects \
/personal_mail=/home/thomas/personal_mail \
| xorriso -as cdrecord dev=/dev/sr0 -v blank=as_needed \
-multi -waiti -eject -
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ load_opts=
$ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo"
$ xorrisofs $load_opts -root /session2 -old-root /session1 \
-o - --for_backup -m '*.o' -m '*.swp' \
-V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \
/projects=/home/thomas/projects \
/personal_mail=/home/thomas/personal_mail \
| xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject -
Create bootable images for PC-BIOS¶
The ISOLINUX wiki prescribes to create on disk a directory ./CD_root and to copy all desired files underneath that directory. Especially file isolinux.bin shall be copied to ./CD_root/isolinux/isolinux.bin . This is the boot image file.$ xorrisofs -o output.iso \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
./CD_root
$ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed output.iso
$ xorrisofs -o output.iso \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
-partition_offset 16 \
./CD_root
# dd bs=2K if=/dev/sdb count=50K >/dev/null
# dd bs=2K if=output.iso of=/dev/sdb
FILES¶
Startup files:¶
If not --no_rc is given as the first argument then xorrisofs attempts on startup to read and execute lines from the following files:/etc/default/xorriso
/etc/opt/xorriso/rc
/etc/xorriso/xorriso.conf
$HOME/.xorrisorc
./.mkisofsrc
$MKISOFSRC
$HOME/.mkisofsrc
$(dirname $0)/.mkisofsrc
APPI default for -A
PUBL default for -publisher
SYSI default for -sysid
VOLI default for -V
VOLS default for -volset
SEE ALSO¶
- For generic xorriso command mode
- xorriso(1)
- For the cdrecord emulation of xorriso
- xorrecord(1)
- For mounting xorriso generated ISO 9660 images (-t iso9660)
- mount(8)
- Other programs which produce ISO 9660 images
- mkisofs(8), genisoimage(8)
- Programs which burn sessions to optical media
- growisofs(1), cdrecord(1), wodim(1), cdrskin(1), xorriso(1)
- ACL and xattr
- getfacl(1), setfacl(1), getfattr(1), setfattr(1)
- MD5 checksums
- md5sum(1)
- On FreeBSD the commands for xattr and MD5 differ
- getextattr(8), setextattr(8), md5(1)
BUGS¶
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>.AUTHOR¶
Thomas Schmitt <scdbackup@gmx.net>COPYRIGHT¶
Copyright (c) 2011 - 2012 Thomas SchmittCREDITS¶
xorrisofs is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team.| Version 1.2.2, Apr 02, 2012 |