$Date: 2023-04-21 21:59:02 +0000 (Fri, 21 Apr 2023) $VISO file format / RTIsoMakerviso8visoISO image makerIPRTRTIsoMakeroptions@commands.rspfilespecDescriptionConstruct a virtual ISO 9660 / Joliet / UDF / HFS hybrid image and either write it to a
file (RTIsoMaker) or serve it as a virtual image (VISO).VISO file formatA VISO file is a virtual ISO image, i.e. constructed in memory from a bunch of files on
the host. A VISO is just the recipe describing how to go about this using a syntax vaguely
similar to mkisofs and genisoimage.One requirement is that the VISO file must start with one of the
options. Which of the options you use will
dictate the quoting and escaping rules used when reading the file. The option takes the
image UUID as an argument.The VISO files are treated as UTF-8 and must not contain any byte order marker (BOM).
There is currently no way to comment out lines in a VISO file.File specifications and --name-setupAll non-options that does not start with '@' are taken to indicate a file, directory,
or similar that is should be added to the ISO image. Directories are added recursively and
content is subject to filtering options.Since there can be up to six different namespaces on an ISO, it is handy to be able to
control the names used in each and be able to exclude an object from one or more namespaces.
The option specifies the file specification format to use
forthwith.The default setup is: --name-setup iso+joliet+udf+hfsWhich means you specify one on-ISO name for all namespaces followed by '=' and the
source file system name. Only specifying the source file system will add the
file/dir/whatever to the root of the ISO image.Lets look at the following two examples: /docs/readme.txt=/home/user/Documents/product-x-readme.txt /home/user/Documents/product-x-readme.txtIn the first case the file '/home/user/Documents/product-x-readme.txt'
is added to the ISO image as '/docs/readme.txt' in all
enabled namespaces. In the primary ISO 9660 namespace, the filename will by default be
converted to upper case because it's required by the spec.In the second case the file is added to the root under the name
'product-x-readme.txt' in all namespaces. Though, in the
primary ISO 9660 namespace the name will be transformed to apply with the current ISO level,
probably uppercased, possibly truncated too. Given you can specify the name individually
for each of the three namespace, if you like. If you omit any, they will use last name given.
Any names left blank (==) will be considered omitted.A different name in each namespace: /ISO.TXT=/Joliet.TxT=/UDF.txt=/tmp/iso/real.txtSpecific name in the ISO 9660 namespace, same in the rest: /ISO.TXT=/OtherNamespaces.TxT=/tmp/iso/real.txtOmit the file from the ISO 9660 namespace: =/OtherNamespaces.TxT=/tmp/iso/real.txtOmit the file from the joliet namespace: /ISO.TXT==/UDF.TxT=/tmp/iso/real.txtUse the same filename as the source everywhere: /tmp/iso/real.txtUsing for instance you can add a files/dirs/whatever
to select namespace(s) without the more complicated empty name syntax above.When adding directories, you can only control the naming and omitting of the directory
itself, not any recursively added files and directories below it.OptionsGeneralThe output filename. This option is not supported in VISO mode.Configures active namespaces and how file specifications are to be
interpreted. The specification is a comma separated list. Each element in the list is
a sub-list separated by space, '+' or
'|' giving the namespaces that elements controls.
Namespaces are divied into two major and minor ones, you cannot specifying a minor
before the major it belongs to.Major namespaces and aliases in parentheses:iso (primary, iso9660, iso-9660, primary-iso, iso-primary)jolietudfhfs (hfs-plus)Minor namespaces:rock: rock ridge on previous major namespace (iso / joliet)iso-rock: rock ridge extensions on primary ISO 9660 namespacejoliet-rock: rock ridge on joliet namespace (just for fun)trans-tbl: translation table file on previous major namespaceiso-trans-tbljoliet-trans-tbludf-trans-tblhfs-trans-tblThis is for use following one or more
operations and will pick a configuration matching the imported content as best we can.
If the imported ISOs only had a iso9660 namespace, the joliet, udf and hfs namespaces
will be removed. This is useful when adding additional files to the ISO and will
prevent guest from picking a namespace without the imported ISO content when mounting it.
Open the specified ISO file and use it as source file system until the
corresponding options is encountered. The variations are for
selecting which namespace on the ISO to (not) access. These options are handy for copying
files/directories/stuff from an ISO without having to extract them first or using the
:iprtvfs: syntax.Pops a of the source file system stack.Imports everything on the given ISO file, including boot configuration and
system area (first 16 sectors) content. You can use to omit
namespaces.NamespacesSets the ISO level:0: Disable primary ISO namespace.1: ISO level 1: Filenames 8.3 format and limited to 4GB - 1.2: ISO level 2: 31 char long names and limited to 4GB - 1.3: ISO level 3: 31 char long names and support for >=4GB files. (default)4: Fictive level used by other tools. Not yet implemented.Enables or disables rock ridge support for the primary ISO 9660 namespace.
The option omits a couple of bits in the root
directory that would make Linux pick rock ridge over joliet.Default: Enables or disable the joliet namespace. This option must precede any file
specifications.Default: Set the Joliet UCS support level. This is currently only flagged in the
image but not enforced on the actual path names.Default level: 3File AttributesEnables rational file attribute handling (default):Owner ID is set to zeroGroup ID is set to zeroMode is set to 0444 for non-executable files.Mode is set to 0555 for executable files.Mode is set to 0555 for directories, preserving stick bits.Counters and causes attributes to be
recorded exactly as they appear in the source.Controls the forced file mode mask for rock ridge, UDF and HFS.Controls the forced directory mode mask for rock ridge, UDF and HFS.Controls the default mode mask (rock ridge, UDF, HFS) for directories that
are created implicitly. The option overrides this.Explictily sets the rock ridge, UDF and HFS file mode for a file/dir/whatever
that has already been added to the ISO. The mode can be octal, ra+x,
a+r, or a+rx.
(Support for more complicated mode specifications may be implemented at a later point.)Note that only namespaces in the current --name-setup are affected.Explictily sets the rock ridge, UDF and HFS file owner ID (numeric) for a
file/dir/whatever that has already been added to the ISO.Note that only namespaces in the current --name-setup are affected.--chgrp=group-id:on-iso-fileExplictily sets the rock ridge, UDF and HFS file group ID (numeric) for a
file/dir/whatever that has already been added to the ISO.Note that only namespaces in the current --name-setup are affected.BootingStarts a new El Torito boot entry.File specification of a file that should be added to the image and used as
the El Torito boot image of the current boot entry.Specifies a file on the ISO as the El Torito boot image for the current boot
entry.Sets the boot image emulation type of the current El Torito boot entry.Specify the image load segment for the current El Torito boot entry.Default: 0x7c0Specify the image load size in emulated sectors for the current El Torito
boot entry.Default: 4 (sectors of 512 bytes)Indicates that the current El Torito boot entry isn't bootable. (The BIOS
will allegedly configure the emulation, but not attempt booting.)Write a isolinux/syslinux boot info table into the boot image for the
current El Torito boot entry.Set the El Torito platform ID of the current entry, a new entry of the
verification entry depending on when it's used. The ID must be one of:
x86, PPC,
Mac, efiEnters the El Torito boot catalog into the namespaces as a file. The
namespec uses the same format as a 'filespec', but omits the
final source file system name component.Specifies a file that should be loaded at offset 0 in the ISO image. The
file must not be larger than 32KB. When creating a hybrid image, parts of this may be
regenerated by partition tables and such.String properties (applied to active namespaces only)The name of the abstract file in the root dir.Application ID string or root file name. The latter must be prefixed with
an underscore.The name of the bibliographic file in the root dir.The name of the copyright file in the root dir.Publisher ID string or root file name. The latter must be prefixed with an
underscore.Data preparer ID string or root file name. The latter must be prefixed
with an underscore.System ID string.Volume ID string (label). (It is possible to set different labels for
primary ISO 9660, joliet, UDF and HFS by changing the active namespaces using the
option between occurences.)Volume set ID string.Compatibility:Alias for --name-setup iso+joliet+udf+hfs.Allow 31 charater filenames. Just ensure ISO level >= 2 here.Same as and .Same as and .VISO Specific:Used as first option in a VISO file to specify the file UUID and that it is
formatted using bourne-shell argument quoting & escaping style.Used as first option in a VISO file to specify the file UUID and that it is
formatted using microsoft CRT argument quoting & escaping style.Testing (not applicable to VISO):Selects a specific output buffer size for testing virtual image reads.Enables randomized buffer size for each virtual image read, using the
current output buffer size () as maximum.Enables verification pass of the image that compares blocks of the given
size in random order from the virtual and output images.