xorrisofs: SetExtras
5.5 Settings for standards extensions
=====================================
-R
With mkisofs this option enables Rock Ridge extensions.
'xorrisofs' produces them by default. It is strongly discouraged
to disable them by option --norock.
-rock
Alias of -R.
-r
Enable Rock Ridge and set 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.
These attribute changes stay delayed until mkisofs emulation ends.
Within the same -as mkisofs emulation command they can be revoked
by a subsequent option --norock. For compatibility reasons, option
-R does not revoke the changes ordered by -r.
-rational-rock
Alias of -r.
--norock
This option disables the production of Rock Ridge extensions for
the ISO 9660 file objects. The multi-session capabilities of
'xorrisofs' depend much on the naming fidelity of Rock Ridge. So
it is strongly discouraged to disable it by this option, except for
the special use case to revoke the effect of -r by: --norock -R
--set_all_file_dates timestring
Set mtime, atime, and ctime of all files and directories to the
given time.
Valid timestring formats are: 'Nov 8 14:51:13 CET 2007',
110814512007.13, 2007110814511300. See also --modification-date=
and man xorriso, Examples of input timestrings.
If the timestring is "set_to_mtime", then the atime and ctime of
each file and directory get set to the value found in their mtime.
These actions stay delayed until actual ISO production begins. Up
to then they can be revoked by --set_all_file_dates with empty
timestring or timestring "default".
The timestamps of the El Torito boot catalog file get refreshed
when the ISO is produced. They can be influenced by
--modification-date=.
-file_name_limit number
Set the maximum permissible length for file names in the range of
64 to 255. Path components which are longer than the given number
will get truncated and have their last 33 bytes overwritten by a
colon ':' and the hex representation of the MD5 of the first 4095
bytes of the whole oversized name. Potential incomplete UTF-8
characters will get their leading bytes replaced by '_'.
Linux kernels up to at least 4.1 misrepresent names of length 254
and 255. If you expect such names in or under disk_paths and plan
to mount the ISO by such Linux kernels, consider to set
-file_name_limit 253.
-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 original 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 explicitly 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 and man attr, man
getextattr and man 9 extattr, respectively). 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 and -md5
is enabled. 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 and file
record.
An empty record_name disables this feature.
-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.
-joliet-utf16
Encode Joliet file names in UTF-16BE rather than UCS-2. The
difference is with characters which are not present in UCS-2 and
get encoded in UTF-16 by 2 words of 16 bit each. Both words then
stem from a reserved subset of UCS-2.
-hfsplus
Enable the production of an additional 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.
This may collide with options like -G or -isohybrid-mbr which
submit user data for inclusion in the same address range. The
first 8 bytes of the System Area get overwritten by { 0x45, 0x52,
0x08 0x00, 0xeb, 0x02, 0xff, 0xff } which can be executed as x86
machine code without negative effects. So if an MBR gets combined
with this feature, then its first 8 bytes should contain no
essential commands.
The next blocks of 2 KiB in the System Area will be occupied by APM
entries. The first one covers the part of the ISO image before the
HFS+ filesystem metadata. The second one marks the range from HFS+
metadata to the end of file content data. If more ISO image data
follow, then a third partition entry gets produced. Other features
of xorriso might cause the need for more APM entries.
Be aware that HFS+ is case-insensitive although it can record file
names with upper-case and lower-case letters. Therefore, file
names from the iso_rr name tree may collide in the HFS+ name tree.
In this case they get changed by adding underscore characters and
counting numbers. In case of very long names, it might be
necessary to map them to "MANGLED_...".
-hfsplus-serial-no
Set 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+
filesystem.
-hfsplus-block-size number
Set the allocation block size to be used when producing HFS+
filesystems. Permissible are 512, 2048, or 0. The latter lets the
program decide.
-apm-block-size number
Set the block size to be used when describing partitions by an
Apple Partition Map. Permissible are 512, 2048, or 0. The latter
lets the program decide.
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.
-hfsplus-file-creator-type creator type iso_rr_path
Set the HFS+ creator and type attributes of a file in the emerging
image. These are two codes of 4 characters each.
-hfs-bless-by blessing iso_rr_path
Issue a HFS+ blessing. They are roles which can be attributed to
up to four directories and a data file:
"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder",
"osx_folder".
They may be abbreviated as "p", "i", "s", "9", and "x".
Each such role can be attributed to at most one file object.
"intel_bootfile" is the one that would apply to a data file. All
others apply to directories. No file object can bear more than one
blessing.
-hfs-bless disk_path
Issue HFS+ blessing "ppc_bootdir" to the directory which stems from
the directory disk_path in the local filesystem tree.
This works only if there is at least one data file underneath the
directory. disk_path can become ambiguous if files from different
local filesystem sub-trees are put into the same sub-tree of the
ISO image. Consider to use -hfs-bless-by "p" for unambiguous
addressing via iso_rr_path.