1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
2 | <!--
|
---|
3 | manpage for RTIsoMaker/VISO
|
---|
4 |
|
---|
5 | Copyright (C) 2006-2017 Oracle Corporation
|
---|
6 |
|
---|
7 | This file is part of VirtualBox Open Source Edition (OSE), as
|
---|
8 | available from http://www.alldomusa.eu.org. This file is free software;
|
---|
9 | you can redistribute it and/or modify it under the terms of the GNU
|
---|
10 | General Public License (GPL) as published by the Free Software
|
---|
11 | Foundation, in version 2 as it comes in the "COPYING" file of the
|
---|
12 | VirtualBox OSE distribution. VirtualBox OSE is distributed in the
|
---|
13 | hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
|
---|
14 | -->
|
---|
15 | <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
---|
16 | <refentry id="rtisomaker" lang="en">
|
---|
17 |
|
---|
18 | <refentryinfo>
|
---|
19 | <pubdate>$Date: 2017-09-25 20:04:07 +0000 (Mon, 25 Sep 2017) $</pubdate>
|
---|
20 | <title>VISO file format / RTIsoMaker</title>
|
---|
21 | </refentryinfo>
|
---|
22 |
|
---|
23 | <refmeta>
|
---|
24 | <refentrytitle>RTIsoMaker</refentrytitle>
|
---|
25 | <manvolnum>8</manvolnum>
|
---|
26 | </refmeta>
|
---|
27 |
|
---|
28 | <refnamediv>
|
---|
29 | <!--<refname>VISO</refname>-->
|
---|
30 | <refname>RTIsoMaker</refname>
|
---|
31 | <refpurpose>ISO image maker</refpurpose>
|
---|
32 | <refclass>IPRT</refclass>
|
---|
33 | </refnamediv>
|
---|
34 |
|
---|
35 | <refsynopsisdiv>
|
---|
36 | <cmdsynopsis id="synopsis-rtisomaker"> <!-- The 'id' is mandatory and must start with 'synopsis-'. -->
|
---|
37 | <command>RTIsoMaker</command>
|
---|
38 | <arg><replaceable>options</replaceable></arg>
|
---|
39 | <arg>@<replaceable>commands.rsp</replaceable></arg>
|
---|
40 | <arg choice="req" rep="repeat"><replaceable>filespec</replaceable></arg>
|
---|
41 | </cmdsynopsis>
|
---|
42 | </refsynopsisdiv>
|
---|
43 |
|
---|
44 | <refsect1>
|
---|
45 | <title>Description</title>
|
---|
46 | <para>Construct a virtual ISO 9660 / Joliet / UDF / HFS hybrid image and either write it to a
|
---|
47 | file (RTIsoMaker) or serve it as a virtual image (VISO).</para>
|
---|
48 |
|
---|
49 | <refsect2 id="rtisomaker-viso">
|
---|
50 | <title>VISO file format</title>
|
---|
51 | <para>A VISO file is a virtual ISO image, i.e. constructed in memory from a bunch of files on
|
---|
52 | the host. A VISO is just the recipe describing how to go about this using a syntax vaguely
|
---|
53 | similar to mkisofs and genisoimage.</para>
|
---|
54 |
|
---|
55 | <para>One requirement is that the VISO file must start with one of the
|
---|
56 | <option>--iprt-iso-maker-file-marker</option> options. Which of the options you use will
|
---|
57 | dictate the quoting and escaping rules used when reading the file. The option takes the
|
---|
58 | image UUID as an argument.</para>
|
---|
59 |
|
---|
60 | <para>The VISO files are treated as UTF-8 and must not contain any byte order marker (BOM).
|
---|
61 | There is currently no way to comment out lines in a VISO file.</para>
|
---|
62 |
|
---|
63 | </refsect2>
|
---|
64 |
|
---|
65 | <refsect2 id="rtisomaker-filespecs">
|
---|
66 | <title>File specifications and --name-setup</title>
|
---|
67 | <para>All non-options that does not start with '@' are taken to indicate a file, directory,
|
---|
68 | or similar that is should be added to the ISO image. Directories are added recursively and
|
---|
69 | content is subject to filtering options.</para>
|
---|
70 |
|
---|
71 | <para>Since there can be up to six different namespaces on an ISO, it is handy to be able to
|
---|
72 | control the names used in each and be able to exclude an object from one or more namespaces.
|
---|
73 | The <option>--name-setup</option> option specifies the file specification format to use
|
---|
74 | forthwith.</para>
|
---|
75 |
|
---|
76 | <para>The default setup is:</para>
|
---|
77 | <!-- indent this: -->
|
---|
78 | <para><computeroutput> --name-setup iso+joliet+udf+hfs</computeroutput></para>
|
---|
79 |
|
---|
80 | <para>Which means you specify one on-ISO name for all namespaces followed by '=' and the
|
---|
81 | source file system name. Only specifying the source file system will add the
|
---|
82 | file/dir/whatever to the root of the ISO image.</para>
|
---|
83 |
|
---|
84 | <para>Lets look at the following two examples:</para>
|
---|
85 |
|
---|
86 | <!-- indent these -->
|
---|
87 | <para><computeroutput> /docs/readme.txt=/home/user/Documents/product-x-readme.txt</computeroutput></para>
|
---|
88 | <para><computeroutput> /home/user/Documents/product-x-readme.txt</computeroutput></para>
|
---|
89 |
|
---|
90 | <para>In the first case the file <computeroutput>'/home/user/Documents/product-x-readme.txt'</computeroutput>
|
---|
91 | is added to the ISO image as <computeroutput>'/docs/readme.txt'</computeroutput> in all
|
---|
92 | enabled namespaces. In the primary ISO 9660 namespace, the filename will by default be
|
---|
93 | converted to upper case because it's required by the spec.</para>
|
---|
94 |
|
---|
95 | <para>In the second case the file is added to the root under the name
|
---|
96 | <computeroutput>'product-x-readme.txt'</computeroutput> in all namespaces. Though, in the
|
---|
97 | primary ISO 9660 namespace the name will be transformed to apply with the current ISO level,
|
---|
98 | probably uppercased, possibly truncated too. </para>
|
---|
99 |
|
---|
100 | <para>Given <option>--name-setup iso,joliet,udf</option> you can specify the name individually
|
---|
101 | for each of the three namespace, if you like. If you omit any, they will use last name given.
|
---|
102 | Any names left blank (<computeroutput>==</computeroutput>) will be considered omitted.</para>
|
---|
103 |
|
---|
104 | <para>A different name in each namespace:</para>
|
---|
105 | <para><computeroutput> /ISO.TXT=/Joliet.TxT=/UDF.txt=/tmp/iso/real.txt</computeroutput></para>
|
---|
106 | <para>Specific name in the ISO 9660 namespace, same in the rest:</para>
|
---|
107 | <para><computeroutput> /ISO.TXT=/OtherNamespaces.TxT=/tmp/iso/real.txt</computeroutput></para>
|
---|
108 | <para>Omit the file from the ISO 9660 namespace:</para>
|
---|
109 | <para><computeroutput> =/OtherNamespaces.TxT=/tmp/iso/real.txt</computeroutput></para>
|
---|
110 | <para>Omit the file from the joliet namespace:</para>
|
---|
111 | <para><computeroutput> /ISO.TXT==/UDF.TxT=/tmp/iso/real.txt</computeroutput></para>
|
---|
112 | <para>Use the same filename as the source everywhere:</para>
|
---|
113 | <para><computeroutput> /tmp/iso/real.txt</computeroutput></para>
|
---|
114 |
|
---|
115 |
|
---|
116 | <para>Using for instance <option>--name-setup udf</option> you can add a files/dirs/whatever
|
---|
117 | to select namespace(s) without the more complicated empty name syntax above.</para>
|
---|
118 |
|
---|
119 | <para>When adding directories, you can only control the naming and omitting of the directory
|
---|
120 | itself, not any recursively added files and directories below it.</para>
|
---|
121 |
|
---|
122 | </refsect2>
|
---|
123 | </refsect1>
|
---|
124 |
|
---|
125 | <refsect1 id="rtisomaker-general-options">
|
---|
126 | <title>Options - General</title>
|
---|
127 |
|
---|
128 | <variablelist>
|
---|
129 | <varlistentry>
|
---|
130 | <term><option>-o <replaceable>output-file</replaceable></option></term>
|
---|
131 | <term><option>--output=<replaceable>output-file</replaceable></option></term>
|
---|
132 | <listitem><para>The output filename. This option is not supported in VISO mode.</para></listitem>
|
---|
133 | </varlistentry>
|
---|
134 |
|
---|
135 | <varlistentry>
|
---|
136 | <term><option>--name-setup <replaceable>spec</replaceable></option></term>
|
---|
137 | <listitem><para>Configures active namespaces and how file specifications are to be
|
---|
138 | interpreted. The specification is a comma separated list. Each element in the list is
|
---|
139 | a sub-list separated by space, <computeroutput>'+'</computeroutput> or
|
---|
140 | <computeroutput>'|'</computeroutput> giving the namespaces that elements controls.
|
---|
141 | Namespaces are divied into two major and minor ones, you cannot specifying a minor
|
---|
142 | before the major it belongs to.</para>
|
---|
143 | <para>Major namespaces and aliases in parentheses:</para>
|
---|
144 | <itemizedlist>
|
---|
145 | <listitem><para>iso (primary, iso9660, iso-9660, primary-iso, iso-primary)</para></listitem>
|
---|
146 | <listitem><para>joliet</para></listitem>
|
---|
147 | <listitem><para>udf</para></listitem>
|
---|
148 | <listitem><para>hfs (hfs-plus)</para></listitem>
|
---|
149 | </itemizedlist>
|
---|
150 | <para>Minor namespaces:</para>
|
---|
151 | <itemizedlist>
|
---|
152 | <listitem><para>rock: rock ridge on previous major namespace (iso / joliet)</para></listitem>
|
---|
153 | <listitem><para>iso-rock: rock ridge extensions on primary ISO 9660 namespace</para></listitem>
|
---|
154 | <listitem><para>joliet-rock: rock ridge on joliet namespace (just for fun)</para></listitem>
|
---|
155 | <listitem><para>trans-tbl: translation table file on previous major namespace</para></listitem>
|
---|
156 | <listitem><para>iso-trans-tbl</para></listitem>
|
---|
157 | <listitem><para>joliet-trans-tbl</para></listitem>
|
---|
158 | <listitem><para>udf-trans-tbl</para></listitem>
|
---|
159 | <listitem><para>hfs-trans-tbl</para></listitem>
|
---|
160 | </itemizedlist>
|
---|
161 | </listitem>
|
---|
162 | </varlistentry>
|
---|
163 | </variablelist>
|
---|
164 |
|
---|
165 | </refsect1>
|
---|
166 |
|
---|
167 | </refentry>
|
---|
168 |
|
---|
169 |
|
---|
170 | <!--
|
---|
171 |
|
---|
172 |
|
---|
173 | Options - General:
|
---|
174 |
|
---|
175 |
|
---|
176 |
|
---|
177 | -dashdash-push-iso <iso-file>
|
---|
178 | -dashdash-push-iso-no-joliet <iso-file>
|
---|
179 | -dashdash-push-iso-no-rock <iso-file>
|
---|
180 | -dashdash-push-iso-no-rock-no-joliet <iso-file>
|
---|
181 | Open the specified ISO file and use it as source file system until the
|
---|
182 | corresponding -dashdash-pop options is encountered. The variations are for
|
---|
183 | selecting which namespace on the ISO to (not) access. These options
|
---|
184 | are handy for copying files/directories/stuff from an ISO without
|
---|
185 | having to extract them first or using the :iprtvfs: syntax.
|
---|
186 |
|
---|
187 | -dashdash-pop
|
---|
188 | Pops a -dashdash-push-iso of the source file system stack.
|
---|
189 |
|
---|
190 | -dashdash-import-iso <iso-file>
|
---|
191 | Imports everything on the given ISO file. You can use -dashdash-name-setup to
|
---|
192 | omit namespaces.
|
---|
193 |
|
---|
194 |
|
---|
195 | Options - Namespaces:
|
---|
196 |
|
---|
197 | -dashdash-iso-level <0|1|2|3>
|
---|
198 | Sets the ISO level:
|
---|
199 | - 0: Disable primary ISO namespace.
|
---|
200 | - 1: ISO level 1: Filenames 8.3 format and limited to 4GB - 1.
|
---|
201 | - 2: ISO level 2: 31 char long names and limited to 4GB - 1.
|
---|
202 | - 3: ISO level 3: 31 char long names and support for >=4GB files.
|
---|
203 | - 4: Fictive level used by other tools. Not yet implemented.
|
---|
204 | Default: 3
|
---|
205 |
|
---|
206 | -dashdash-rock-ridge
|
---|
207 | -dashdash-limited-rock-ridge
|
---|
208 | -dashdash-no-rock-ridge
|
---|
209 | Enables or disables rock ridge support for the primary ISO 9660
|
---|
210 | namespace. The -dashdash-limited-rock-ridge option omits a couple of bits in
|
---|
211 | the root directory that would make Linux pick rock ridge over joliet.
|
---|
212 | Default: -dashdash-limited-rock-ridge
|
---|
213 | -J
|
---|
214 | -dashdash-joliet
|
---|
215 | -dashdash-no-joliet
|
---|
216 | Enables or disable the joliet namespace. This option must precede any
|
---|
217 | file specifications. Default: -dashdash-joliet
|
---|
218 |
|
---|
219 | -dashdash-joliet-ucs-level <1|2|3>
|
---|
220 | -dashdash-ucs-level <1|2|3>
|
---|
221 | Set the Joliet UCS support level. This is currently only flagged in the
|
---|
222 | image but not enforced on the actual path names. Default level: 3
|
---|
223 |
|
---|
224 |
|
---|
225 | Options - File attributes:
|
---|
226 |
|
---|
227 | -dashdash-rational-attribs
|
---|
228 | Enables rational file attribute handling:
|
---|
229 | * Owner ID is set to zero
|
---|
230 | * Group ID is set to zero
|
---|
231 | * Mode is set to 0444 for non-executable files.
|
---|
232 | * Mode is set to 0555 for executable files.
|
---|
233 | * Mode is set to 0555 for directories, preserving stick bits.
|
---|
234 | This is default.
|
---|
235 |
|
---|
236 | -dashdash-strict-attribs
|
---|
237 | Counters -dashdash-rational-attribs and causes attributes to be recorded
|
---|
238 | exactly as they appear in the source.
|
---|
239 |
|
---|
240 | -dashdash-file-mode <mode>
|
---|
241 | -dashdash-no-file-mode
|
---|
242 | Controls the forced file mode mask for rock ridge, UDF and HFS.
|
---|
243 |
|
---|
244 | -dashdash-dir-mode <mode>
|
---|
245 | -dashdash-no-dir-mode
|
---|
246 | Controls the forced directory mode mask for rock ridge, UDF and HFS.
|
---|
247 |
|
---|
248 | -dashdash-new-dir-mode <mode>
|
---|
249 | Controls the default mode mask (rock ridge, UDF, HFS) for directories
|
---|
250 | that are created implicitly. The -dashdash-dir-mode option overrides this.
|
---|
251 |
|
---|
252 | -dashdash-chmod <mode>:<on-iso-file>
|
---|
253 | Explictily sets the rock ridge, UDF and HFS file mode for a
|
---|
254 | file/dir/whatever that has already been added to the ISO. The mode can
|
---|
255 | be octal, a+x, a+r, or a+rx. (Support for more complicated mode
|
---|
256 | specifications may be implemented at a later point.)
|
---|
257 | Note that only namespaces in the current -dashdash-name-setup are affected.
|
---|
258 |
|
---|
259 | -dashdash-chown <owner-id>:<on-iso-file>
|
---|
260 | Explictily sets the rock ridge, UDF and HFS file owner ID (numeric) for a
|
---|
261 | file/dir/whatever that has already been added to the ISO.
|
---|
262 | Note that only namespaces in the current -dashdash-name-setup are affected.
|
---|
263 |
|
---|
264 | -dashdash-chgrp <group-id>:<on-iso-file>
|
---|
265 | Explictily sets the rock ridge, UDF and HFS file group ID (numeric) for a
|
---|
266 | file/dir/whatever that has already been added to the ISO.
|
---|
267 | Note that only namespaces in the current -dashdash-name-setup are affected.
|
---|
268 |
|
---|
269 |
|
---|
270 | Options - Booting:
|
---|
271 |
|
---|
272 | -dashdash-eltorito-new-entry
|
---|
273 | -dashdash-eltorito-alt-boot
|
---|
274 | Starts a new El Torito boot entry.
|
---|
275 |
|
---|
276 | -dashdash-eltorito-add-image <filespec>
|
---|
277 | File specification of a file that should be added to the image and used
|
---|
278 | as the El Torito boot image of the current boot entry.
|
---|
279 |
|
---|
280 | -b <on-iso-file>
|
---|
281 | -dashdash-eltorito-boot <on-iso-file>
|
---|
282 | Specifies a file on the ISO as the El Torito boot image for the current
|
---|
283 | boot entry.
|
---|
284 |
|
---|
285 | -dashdash-eltorito-floppy-12
|
---|
286 | -dashdash-eltorito-floppy-144
|
---|
287 | -dashdash-eltorito-floppy-288
|
---|
288 | -dashdash-no-emulation-boot
|
---|
289 | -dashdash-hard-disk-boot
|
---|
290 | Sets the boot image emulation type of the current El Torito boot entry.
|
---|
291 |
|
---|
292 | -dashdash-boot-load-seg <seg>
|
---|
293 | Specify the image load segment for the current El Torito boot entry.
|
---|
294 | Default: 0x7c0
|
---|
295 |
|
---|
296 | -dashdash-boot-load-size <seg>
|
---|
297 | Specify the image load size in emulated sectors for the current El Torito
|
---|
298 | boot entry. Default: 4 (sectors of 512 bytes)
|
---|
299 |
|
---|
300 | -dashdash-no-boot
|
---|
301 | Indicates that the current El Torito boot entry isn't bootable. (The
|
---|
302 | BIOS will allegedly configure the emulation, but not attempt booting.)
|
---|
303 |
|
---|
304 | -dashdash-boot-info-table
|
---|
305 | Write a isolinux/syslinux boot info table into the boot image for the
|
---|
306 | current El Torito boot entry.
|
---|
307 |
|
---|
308 | -dashdash-eltorito-platform-id <id>
|
---|
309 | Set the El Torito platform ID of the current entry, a new entry of the
|
---|
310 | verification entry depending on when it's used. The ID must be one
|
---|
311 | of: x86, PPC, Mac, efi
|
---|
312 |
|
---|
313 | -c <namespec>
|
---|
314 | -dashdash-boot-catalog <namespec>
|
---|
315 | Enters the El Torito boot catalog into the namespaces as a file. The
|
---|
316 | 'namespec' uses the same format as a 'filespec', but omits the final
|
---|
317 | source file system name component.
|
---|
318 |
|
---|
319 | -G <file>
|
---|
320 | -dashdash-generic-boot <file>
|
---|
321 | Specifies a file that should be loaded at offset 0 in the ISO image.
|
---|
322 | The file must not be larger than 32KB. When creating a hybrid image,
|
---|
323 | parts of this may be regenerated by partition tables and such.
|
---|
324 |
|
---|
325 |
|
---|
326 | Options - String properties (applied to active namespaces only):
|
---|
327 |
|
---|
328 | -dashdash-abstract <file-id>
|
---|
329 | The name of the abstract file in the root dir.
|
---|
330 |
|
---|
331 | -A <text|_file-id>
|
---|
332 | -dashdash-application-id <text|_file-id>
|
---|
333 | Application ID string or root file name. The latter must be prefixed
|
---|
334 | with an underscore.
|
---|
335 |
|
---|
336 | -dashdash-biblio <file-id>
|
---|
337 | The name of the bibliographic file in the root dir.
|
---|
338 |
|
---|
339 | -dashdash-copyright <file-id>
|
---|
340 | The name of the copyright file in the root dir.
|
---|
341 |
|
---|
342 | -P <text|_file-id>
|
---|
343 | -dashdash-publisher <text|_file-id>
|
---|
344 | Publisher ID string or root file name. The latter must be prefixed
|
---|
345 | with an underscore.
|
---|
346 |
|
---|
347 | -p <text|_file-id>
|
---|
348 | -dashdash-preparer <text|_file-id>
|
---|
349 | Data preparer ID string or root file name. The latter must be prefixed
|
---|
350 | with an underscore.
|
---|
351 |
|
---|
352 | -dashdash-sysid <text>
|
---|
353 | System ID string.
|
---|
354 |
|
---|
355 | -dashdash-volid <text>
|
---|
356 | -dashdash-volume-id <text>
|
---|
357 | Volume ID string (label). (It is possible to set different labels for
|
---|
358 | primary ISO 9660, joliet, UDF and HFS by changing the active namespaces
|
---|
359 | using the -dashdash-name-setup option between -dashdash-volume-id occurences.)
|
---|
360 |
|
---|
361 | -dashdash-volset <text>
|
---|
362 | Volume set ID string.
|
---|
363 |
|
---|
364 |
|
---|
365 | Options - Compatibility:
|
---|
366 |
|
---|
367 | -dashdash-graft-points
|
---|
368 | Alias for -dashdash-name-setup iso+joliet+udf+hfs.
|
---|
369 |
|
---|
370 | -l
|
---|
371 | -dashdash-long-names
|
---|
372 | Allow 31 charater filenames. Just ensure ISO level >= 2 here.
|
---|
373 |
|
---|
374 | -R
|
---|
375 | -dashdash-rock
|
---|
376 | Same as -dashdash-rock-ridge and -dashdash-strict-attribs.
|
---|
377 |
|
---|
378 | -r
|
---|
379 | -dashdash-rational-rock
|
---|
380 | Same as -dashdash-rock-ridge and -dashdash-rational-attribs.
|
---|
381 |
|
---|
382 |
|
---|
383 | Options - VISO specific:
|
---|
384 |
|
---|
385 | -dashdash-iprt-iso-maker-file-marker <UUID>
|
---|
386 | -dashdash-iprt-iso-maker-file-marker-bourne <UUID>
|
---|
387 | -dashdash-iprt-iso-maker-file-marker-bourne-sh <UUID>
|
---|
388 | Used as first option in a VISO file to specify the file UUID and that
|
---|
389 | it is formatted using bourne-shell argument quoting & escaping style.
|
---|
390 |
|
---|
391 | -dashdash-iprt-iso-maker-file-marker-ms <UUID>
|
---|
392 | -dashdash-iprt-iso-maker-file-marker-ms-sh <UUID>
|
---|
393 | Used as first option in a VISO file to specify the file UUID and that
|
---|
394 | it is formatted using microsoft CRT argument quoting & escaping style.
|
---|
395 |
|
---|
396 |
|
---|
397 | Options - Testing (not applicable to VISO):
|
---|
398 |
|
---|
399 | -dashdash-output-buffer-size <bytes>
|
---|
400 | Selects a specific output buffer size for testing virtual image reads.
|
---|
401 |
|
---|
402 | -dashdash-random-output-buffer-size
|
---|
403 | Enables randomized buffer size for each virtual image read, using the
|
---|
404 | current output buffer size (-dashdash-output-buffer-size) as maximum.
|
---|
405 |
|
---|
406 | -dashdash-random-order-verification <size>
|
---|
407 | Enables verification pass of the image that compares blocks of the given
|
---|
408 | size in random order from the virtual and output images
|
---|
409 |
|
---|
410 |
|
---|
411 | -->
|
---|