1GENISOIMAGE(1) General Commands Manual GENISOIMAGE(1)
2
3
4
6 genisoimage - create ISO9660/Joliet/HFS filesystem with optional Rock
7 Ridge attributes
8
10 genisoimage [options] [-o filename] pathspec [pathspec ...]
11
13 genisoimage is a pre-mastering program to generate ISO9660/Joliet/HFS
14 hybrid filesystems.
15
16 genisoimage is capable of generating the System Use Sharing Protocol
17 records (SUSP) specified by the Rock Ridge Interchange Protocol. This
18 is used to further describe the files in the ISO9660 filesystem to a
19 Unix host, and provides information such as long filenames, UID/GID,
20 POSIX permissions, symbolic links, and block and character device
21 files.
22
23 If Joliet or HFS hybrid command line options are specified, genisoimage
24 will create the additional filesystem metadata needed for Joliet or
25 HFS. Otherwise genisoimage will generate a pure ISO9660 filesystem.
26
27 genisoimage can generate a true (or shared) HFS hybrid filesystem. The
28 same files are seen as HFS files when accessed from a Macintosh and as
29 ISO9660 files when accessed from other machines. HFS stands for Hierar‐
30 chical File System and is the native filesystem used on Macintosh com‐
31 puters.
32
33 As an alternative, genisoimage can generate the Apple Extensions to
34 ISO9660 for each file. These extensions provide each file with CREATOR,
35 TYPE and certain Finder flags when accessed from a Macintosh. See the
36 HFS MACINTOSH FILE FORMATS section below.
37
38 genisoimage takes a snapshot of a given directory tree, and generates a
39 binary image which will correspond to an ISO9660 and/or HFS filesystem
40 when written to a block device.
41
42 Each file written to the ISO9660 filesystem must have a filename in the
43 8.3 format (up to 8 characters, period, up to 3 characters, all upper‐
44 case), even if Rock Ridge is in use. This filename is used on systems
45 that are not able to make use of the Rock Ridge extensions (such as MS-
46 DOS), and each filename in each directory must be different from the
47 other filenames in the same directory. genisoimage generally tries to
48 form correct names by forcing the Unix filename to uppercase and trun‐
49 cating as required, but often this yields unsatisfactory results when
50 the truncated names are not all unique. genisoimage assigns weightings
51 to each filename, and if two names that are otherwise the same are
52 found, the name with the lower priority is renamed to include a 3-digit
53 number (guaranteed to be unique). For example, the two files foo.bar
54 and foo.bar.~1~ could be rendered as FOO.BAR;1 and FOO000.BAR;1.
55
56 When used with various HFS options, genisoimage will attempt to recog‐
57 nise files stored in a number of Apple/Unix file formats and will copy
58 the data and resource forks as well as any relevant Finder information.
59 See the HFS MACINTOSH FILE FORMATS section below for more about formats
60 genisoimage supports.
61
62 Note that genisoimage is not designed to communicate with the writer
63 directly. Most writers have proprietary command sets which vary from
64 one manufacturer to another, and you need a specialized tool to actu‐
65 ally burn the disc. wodim is one such tool. The latest version of
66 wodim is available from http://www.cdrkit.org/.
67
68 pathspec is the path of the directory tree to be copied into the
69 ISO9660 filesystem. Multiple paths can be specified, and genisoimage
70 will merge the files found in all of the specified path components to
71 form the filesystem image.
72
73 If the option -graft-points has been specified, it is possible to graft
74 the paths at points other than the root directory, and it is possible
75 to graft files or directories onto the cdrom image with names different
76 than what they have in the source filesystem. This is easiest to
77 illustrate with a couple of examples. Let's start by assuming that a
78 local file ../old.lis exists, and you wish to include it in the cdrom
79 image.
80
81 foo/bar/=../old.lis
82
83 will include old.lis in the cdrom image at /foo/bar/old.lis, while
84
85 foo/bar/xxx=../old.lis
86
87 will include old.lis in the cdrom image at /foo/bar/xxx. The same sort
88 of syntax can be used with directories as well. genisoimage will cre‐
89 ate any directories required such that the graft points exist on the
90 cdrom image — the directories do not need to appear in one of the
91 paths. By default, any directories that are created on the fly like
92 this will have permissions 0555 and appear to be owned by the person
93 running genisoimage. If you wish other permissions or owners of the
94 intermediate directories, see -uid, -gid, -dir-mode, -file-mode and
95 -new-dir-mode.
96
97 genisoimage will also run on Windows machines when compiled with
98 Cygnus' cygwin (available from http://www.cygwin.com/). Therefore most
99 references in this man page to Unix can be replaced with Win32.
100
102 Several options can be specified as defaults in a .genisoimagerc con‐
103 figuration file, as well as on the command line. If a parameter is
104 specified in both places, the setting from the command line is used.
105 For details on the format and possible locations of this file, see
106 genisoimagerc(5).
107
108 -abstract file
109 Specifies the abstract filename. There is space for 37 charac‐
110 ters. Equivalent to ABST in the .genisoimagerc file.
111
112 -A application_id
113 Specifies a text string that will be written into the volume
114 header. This should describe the application that will be on
115 the disc. There is space for 128 characters. Equivalent to
116 APPI in the .genisoimagerc file.
117
118 -allow-limited-size
119 When processing files larger than 2GiB which cannot be easily
120 represented in ISO9660, add them with a shrunk visible file size
121 to ISO9660 and with the correct visible file size to the UDF
122 system. The result is an inconsistent filesystem and users need
123 to make sure that they really use UDF rather than ISO9660 driver
124 to read a such disk. Implies enabling -udf.
125
126 -allow-leading-dots
127
128 -ldots Allow ISO9660 filenames to begin with a period. Usually, a
129 leading dot is replaced with an underscore in order to maintain
130 MS-DOS compatibility.
131 This violates the ISO9660 standard, but it happens to work on
132 many systems. Use with caution.
133
134 -allow-lowercase
135 This options allows lowercase characters to appear in ISO9660
136 filenames.
137 This violates the ISO9660 standard, but it happens to work on
138 some systems. Use with caution.
139
140 -allow-multidot
141 This options allows more than one dot to appear in ISO9660 file‐
142 names. A leading dot is not affected by this option, it may be
143 allowed separately using -allow-leading-dots.
144 This violates the ISO9660 standard, but it happens to work on
145 many systems. Use with caution.
146
147 -biblio file
148 Specifies the bibliographic filename. There is space for 37
149 characters. Equivalent to BIBL in the .genisoimagerc file.
150
151 -cache-inodes
152
153 -no-cache-inodes
154 Enable or disable caching inode and device numbers to find hard
155 links to files. If genisoimage finds a hard link (a file with
156 multiple names), the file will also be hard-linked on the CD, so
157 the file contents only appear once. This helps to save space.
158 -cache-inodes is default on Unix-like operating systems, but
159 -no-cache-inodes is default on some other systems such as Cyg‐
160 win, because it is not safe to assume that inode numbers are
161 unique on those systems. (Some versions of Cygwin create fake
162 inode numbers using a weak hashing algorithm, which may produce
163 duplicates.) If two files have the same inode number but are
164 not hard links to the same file, genisoimage -cache-inodes will
165 not behave correctly. -no-cache-inodes is safe in all situa‐
166 tions, but in that case genisoimage cannot detect hard links, so
167 the resulting CD image may be larger than necessary.
168
169 -alpha-boot alpha_boot_image
170 Specifies the path and filename of the boot image to be used
171 when making an Alpha/SRM bootable CD. The pathname must be rela‐
172 tive to the source path specified to genisoimage.
173
174 -hppa-bootloader hppa_bootloader_image
175 Specifies the path and filename of the boot image to be used
176 when making an HPPA bootable CD. The pathname must be relative
177 to the source path specified to genisoimage. Other options are
178 required, at the very least a kernel filename and a boot command
179 line. See the HPPA NOTES section below for more information.
180
181 -hppa-cmdline hppa_boot_command_line
182 Specifies the command line to be passed to the HPPA boot loader
183 when making a bootable CD. Separate the parameters with spaces
184 or commas. More options must be passed to genisoimage, at the
185 very least a kernel filename and the boot loader filename. See
186 the HPPA NOTES section below for more information.
187
188 -hppa-kernel-32 hppa_kernel_32
189
190 -hppa-kernel-64 hppa_kernel_64
191 Specifies the path and filename of the 32-bit and/or 64-bit ker‐
192 nel images to be used when making an HPPA bootable CD. The path‐
193 names must be relative to the source path specified to genisoim‐
194 age. Other options are required, at the very least the boot
195 loader filename and the boot command line. See the HPPA NOTES
196 section below for more information.
197
198 -hppa-ramdisk hppa_ramdisk_image
199 Specifies the path and filename of the ramdisk image to be used
200 when making an HPPA bootable CD. The pathname must be relative
201 to the source path specified to genisoimage. This parameter is
202 optional. Other options are required, at the very least a ker‐
203 nel filename and the boot command line. See the HPPA NOTES sec‐
204 tion below for more information.
205
206 -mips-boot mips_boot_image
207 Specifies the path and filename of the boot image to be used
208 when making an SGI/big-endian MIPS bootable CD. The pathname
209 must be relative to the source path specified to genisoimage.
210 This option may be specified several times, to store up to 15
211 boot images.
212
213 -mipsel-boot mipsel_boot_image
214 Specifies the path and filename of the boot image to be used
215 when making an DEC/little-endian MIPS bootable CD. The pathname
216 must be relative to the source path specified to genisoimage.
217
218 -B img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
219
220 -sparc-boot img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
221 Specifies a comma-separated list of boot images that are needed
222 to make a bootable CD for SPARC systems. Partition 0 is used
223 for the ISO9660 image, the first image file is mapped to parti‐
224 tion 1. The comma-separated list may have up to 7 fields,
225 including empty fields. This option is required to make a
226 bootable CD for Sun SPARC systems. If -B or -sparc-boot has
227 been specified, the first sector of the resulting image will
228 contain a Sun disk label. This disk label specifies slice 0 for
229 the ISO9660 image and slices 1 to 7 for the boot images that
230 have been specified with this option. Byte offsets 512 to 8191
231 within each of the additional boot images must contain a primary
232 boot that works for the appropriate SPARC architecture. The rest
233 of each of the images usually contains a UFS filesystem used for
234 the primary kernel boot stage.
235
236 The implemented boot method is the one found with SunOS 4.x and
237 SunOS 5.x. However, it does not depend on SunOS internals but
238 only on properties of the Open Boot prom, so it should be usable
239 for any OS for SPARC systems. For more information also see the
240 NOTES section below.
241
242 If the special filename ... is used, the actual and all follow‐
243 ing boot partitions are mapped to the previous partition. If
244 genisoimage is called with -G image -B ... all boot partitions
245 are mapped to the partition that contains the ISO9660 filesystem
246 image and the generic boot image that is located in the first 16
247 sectors of the disc is used for all architectures.
248
249 -G generic_boot_image
250 Specifies the path and filename of the generic boot image to be
251 used when making a generic bootable CD. The boot image will be
252 placed on the first 16 sectors of the CD, before the ISO9660
253 primary volume descriptor. If this option is used together with
254 -sparc-boot, the Sun disk label will overlay the first 512 bytes
255 of the generic boot image.
256
257 -b eltorito_boot_image
258 Specifies the path and filename of the boot image to be used
259 when making an El Torito bootable CD for x86 PCs. The pathname
260 must be relative to the source path specified to genisoimage.
261 This option is required to make an El Torito bootable CD. The
262 boot image must be exactly 1200 kB, 1440 kB or 2880 kB, and
263 genisoimage will use this size when creating the output ISO9660
264 filesystem. The PC BIOS will use the image to emulate a floppy
265 disk, so the first 512-byte sector should contain PC boot code.
266 This will work, for example, if the boot image is a LILO-based
267 boot floppy.
268
269 If the boot image is not an image of a floppy, you need to add
270 either -hard-disk-boot or -no-emul-boot. If the system should
271 not boot off the emulated disk, use -no-boot.
272
273 If -sort has not been specified, the boot images are sorted with
274 low priority (+2) to the beginning of the medium. If you don't
275 like this, you need to specify a sort weight of 0 for the boot
276 images.
277
278 -eltorito-alt-boot
279 Start with a new set of El Torito boot parameters. Up to 63 El
280 Torito boot entries may be stored on a single CD.
281
282 -hard-disk-boot
283 Specifies that the boot image used to create El Torito bootable
284 CDs is a hard disk image. The image must begin with a master
285 boot record that contains a single partition.
286
287 -no-emul-boot
288 Specifies that the boot image used to create El Torito bootable
289 CDs is a "no emulation" image. The system will load and execute
290 this image without performing any disk emulation.
291
292 -no-boot
293 Specifies that the created El Torito CD should be marked as not
294 bootable. The system will provide an emulated drive for the
295 image, but will boot off a standard boot device.
296
297 -boot-load-seg segment_address
298 Specifies the load segment address of the boot image for no-emu‐
299 lation El Torito CDs.
300
301 -boot-load-size load_sectors
302 Specifies the number of "virtual" (512-byte) sectors to load in
303 no-emulation mode. The default is to load the entire boot file.
304 Some BIOSes may have problems if this is not a multiple of 4.
305
306 -boot-info-table
307 Specifies that a 56-byte table with information of the CD-ROM
308 layout will be patched in at offset 8 in the boot file. If this
309 option is given, the boot file is modified in the source
310 filesystem, so make a copy of this file if it cannot be easily
311 regenerated! See the EL TORITO BOOT INFO TABLE section for a
312 description of this table.
313
314 -C last_sess_start,next_sess_start
315 This option is needed to create a CD Extra or the image of a
316 second session or a higher-level session for a multisession
317 disc. -C takes two numbers separated by a comma. The first is
318 the first sector in the last session of the disc that should be
319 appended to. The second number is the starting sector number of
320 the new session. The correct numbers may be retrieved by call‐
321 ing wodim -msinfo ... If -C is used in conjunction with -M,
322 genisoimage will create a filesystem image that is intended to
323 be a continuation of the previous session. If -C is used with‐
324 out -M, genisoimage will create a filesystem image that is
325 intended to be used for a second session on a CD Extra. This is
326 a multisession CD that holds audio data in the first session and
327 an ISO9660 filesystem in the second session.
328
329 -c boot_catalog
330 Specifies the path and filename of the boot catalog, which is
331 required for an El Torito bootable CD. The pathname must be rel‐
332 ative to the source path specified to genisoimage. This file
333 will be inserted into the output tree and not created in the
334 source filesystem, so be sure the specified filename does not
335 conflict with an existing file, or it will be excluded. Usually
336 a name like boot.catalog is chosen.
337
338 If -sort has not been specified, the boot catalog sorted with
339 low priority (+1) to the beginning of the medium. If you don't
340 like this, you need to specify a sort weight of 0 for the boot
341 catalog.
342
343 -check-oldnames
344 Check all filenames imported from the old session for compliance
345 with the ISO9660 file naming rules. Without this option, only
346 names longer than 31 characters are checked, as these files are
347 a serious violation of the ISO9660 standard.
348
349 -check-session file
350 Check all old sessions for compliance with actual genisoimage
351 ISO9660 file naming rules. This is a high-level option that
352 combines -M file -C 0,0 -check-oldnames. For the parameter
353 file, see the description of -M.
354
355 -copyright file
356 Specifies copyright information, typically a filename on the
357 disc. There is space for 37 characters. Equivalent to COPY in
358 the .genisoimagerc file.
359
360 -d Do not append a period to files that do not have one.
361 This violates the ISO9660 standard, but it happens to work on
362 many systems. Use with caution.
363
364 -D Do not use deep directory relocation, and instead just pack them
365 in the way we see them.
366 If ISO9660:1999 has not been selected, this violates the ISO9660
367 standard, but it happens to work on many systems. Use with cau‐
368 tion.
369
370 -dir-mode mode
371 Overrides the mode of directories used to create the image to
372 mode, specified as 4 digits of permission bits as in chmod(1).
373 This option automatically enables Rock Ridge extensions.
374
375 -dvd-video
376 Generate a DVD-Video compliant UDF filesystem. This is done by
377 sorting the order of the content of the appropriate files and by
378 adding padding between the files if needed. Note that the sort‐
379 ing only works if the DVD-Video filenames include uppercase
380 characters only.
381
382 Note that in order to get a DVD-Video compliant filesystem
383 image, you need to prepare a DVD-Video compliant directory tree.
384 This requires a directory VIDEO_TS (all caps) in the root direc‐
385 tory of the resulting DVD, and usually another directory
386 AUDIO_TS. VIDEO_TS needs to include all needed files (filenames
387 must be all caps) for a compliant DVD-Video filesystem.
388
389 -f Follow symbolic links when generating the filesystem. When this
390 option is not in use, symbolic links will be entered using Rock
391 Ridge if enabled, otherwise they will be ignored.
392
393 -file-mode mode
394 Overrides the mode of regular files used to create the image to
395 mode, specified as 4 digits of permission bits as in chmod(1).
396 This option automatically enables Rock Ridge extensions.
397
398 -gid gid
399 Overrides the group ID read from the source files to the value
400 of gid. Specifying this option automatically enables Rock Ridge
401 extensions.
402
403 -gui Switch the behaviour for a GUI. This currently makes the output
404 more verbose but may have other effects in the future.
405
406 -graft-points
407 Allow use of graft points for filenames. If this option is used,
408 all filenames are checked for graft points. The filename is
409 divided at the first unescaped equal sign. All occurrences of
410 `\' and `=' characters must be escaped with `\' if -graft-points
411 has been specified.
412
413 -hide glob
414 Hide any files matching glob, a shell wildcard pattern, from
415 being seen in the ISO9660 or Rock Ridge directory. glob may
416 match any part of the filename or path. If glob matches a
417 directory, the contents of that directory will be hidden. In
418 order to match a directory name, make sure the pathname does not
419 include a trailing `/' character. All the hidden files will
420 still be written to the output CD image file. See also
421 -hide-joliet, and README.hide. This option may be used multiple
422 times.
423
424 -hide-list file
425 A file containing a list of shell wildcards to be hidden. See
426 -hide.
427
428 -hidden glob
429 Add the hidden (existence) ISO9660 directory attribute for files
430 and directories matching glob, a shell wildcard pattern. This
431 attribute will prevent the files from being shown by some MS-DOS
432 and Windows commands. glob may match any part of the filename
433 or path. In order to match a directory name, make sure the
434 pathname does not include a trailing `/' character. This option
435 may be used multiple times.
436
437 -hidden-list file
438 A file containing a list of shell wildcards to get the hidden
439 attribute. See -hidden.
440
441 -hide-joliet glob
442 Hide files and directories matching glob, a shell wildcard pat‐
443 tern, from being seen in the Joliet directory. glob may match
444 any part of the filename or path. If glob matches a directory,
445 the contents of that directory will be hidden. In order to
446 match a directory name, make sure the pathname does not include
447 a trailing `/' character. All the hidden files will still be
448 written to the output CD image file. This option is usually
449 used with -hide. See also README.hide. This option may be used
450 multiple times.
451
452 -hide-joliet-list file
453 A file containing a list of shell wildcards to be hidden from
454 the Joliet tree. See -hide-joliet.
455
456 -hide-joliet-trans-tbl
457 Hide the TRANS.TBL files from the Joliet tree. These files usu‐
458 ally don't make sense in the Joliet world as they list the real
459 name and the ISO9660 name which may both be different from the
460 Joliet name.
461
462 -hide-rr-moved
463 Rename the directory RR_MOVED to .rr_moved in the Rock Ridge
464 tree. It seems to be impossible to completely hide the RR_MOVED
465 directory from the Rock Ridge tree. This option only makes the
466 visible tree less confusing for people who don't know what this
467 directory is for. If you need to have no RR_MOVED directory at
468 all, you should use -D. Note that if -D has been specified, the
469 resulting filesystem is not ISO9660 level-1 compliant and will
470 not be readable on MS-DOS. See also the NOTES section.
471
472 -input-charset charset
473 Input charset that defines the characters used in local file‐
474 names. To get a list of valid charset names, call genisoimage
475 -input-charset help. To get a 1:1 mapping, you may use default
476 as charset name. The default initial values are cp437 on DOS-
477 based systems and iso8859-1 on all other systems. See the CHAR‐
478 ACTER SETS section below for more details.
479
480 -output-charset charset
481 Output charset that defines the characters that will be used in
482 Rock Ridge filenames. Defaults to the input charset. See CHAR‐
483 ACTER SETS section below for more details.
484
485 -iso-level level
486 Set the ISO9660 conformance level. Valid numbers are 1 to 4.
487
488 With level 1, files may only consist of one section and file‐
489 names are restricted to 8.3 characters.
490
491 With level 2, files may only consist of one section.
492
493 With level 3, no restrictions (other than ISO-9660:1988) do
494 apply.
495
496 With all ISO9660 levels from 1 to 3, all filenames are
497 restricted to uppercase letters, numbers and underscores (_).
498 Filenames are limited to 31 characters, directory nesting is
499 limited to 8 levels, and pathnames are limited to 255 charac‐
500 ters.
501
502 Level 4 officially does not exist but genisoimage maps it to
503 ISO-9660:1999, which is ISO9660 version 2.
504
505 With level 4, an enhanced volume descriptor with version number
506 and file structure version number set to 2 is emitted. Direc‐
507 tory nesting is not limited to 8 levels, there is no need for a
508 file to contain a dot and the dot has no special meaning, file‐
509 names do not have version numbers, and filenames can be up to
510 207 characters long, or 197 characters if Rock Ridge is used.
511
512 When creating Version 2 images, genisoimage emits an enhanced
513 volume descriptor, similar but not identical to a primary volume
514 descriptor. Be careful not to use broken software to make
515 ISO9660 images bootable by assuming a second PVD copy and patch‐
516 ing this putative PVD copy into an El Torito VD.
517
518 -J Generate Joliet directory records in addition to regular ISO9660
519 filenames. This is primarily useful when the discs are to be
520 used on Windows machines. Joliet filenames are specified in
521 Unicode and each path component can be up to 64 Unicode charac‐
522 ters long. Note that Joliet is not a standard — only Microsoft
523 Windows and Linux systems can read Joliet extensions. For
524 greater portability, consider using both Joliet and Rock Ridge
525 extensions.
526
527 -joliet-long
528 Allow Joliet filenames to be up to 103 Unicode characters,
529 instead of 64. This breaks the Joliet specification, but
530 appears to work. Use with caution.
531
532 -jcharset charset
533 A combination of -J -input-charset charset. See the CHARACTER
534 SETS section below for more details.
535
536 -l Allow full 31-character filenames. Normally the ISO9660 file‐
537 name will be in an 8.3 format which is compatible with MS-DOS,
538 even though the ISO9660 standard allows filenames of up to 31
539 characters. If you use this option, the disc may be difficult
540 to use on a MS-DOS system, but will work on most other systems.
541 Use with caution.
542
543 -L Outdated option; use -allow-leading-dots instead.
544
545 -jigdo-jigdo jigdo_file
546 Produce a jigdo .jigdo metadata file as well as the filesystem
547 image. See the JIGDO NOTES section below for more information.
548
549 -jigdo-template template_file
550 Produce a jigdo .template file as well as the filesystem image.
551 See the JIGDO NOTES section below for more information.
552
553 -jigdo-min-file-size size
554 Specify the minimum size for a file to be listed in the .jigdo
555 file. Default (and minimum allowed) is 1KB. See the JIGDO NOTES
556 section below for more information.
557
558 -jigdo-force-md5 path
559 Specify a file pattern where files must be contained in the
560 externally-supplied MD5 list as supplied by -md5-list. See the
561 JIGDO NOTES section below for more information.
562
563 -jigdo-exclude path
564 Specify a file pattern where files will not be listed in the
565 .jigdo file. See the JIGDO NOTES section below for more informa‐
566 tion.
567
568 -jigdo-map path
569 Specify a pattern mapping for the jigdo file (e.g. Debian=/mir‐
570 ror/debian). See the JIGDO NOTES section below for more infor‐
571 mation.
572
573 -md5-list md5_file
574 Specify a file containing the MD5sums, sizes and pathnames of
575 the files to be included in the .jigdo file. See the JIGDO NOTES
576 section below for more information.
577
578 -log-file log_file
579 Redirect all error, warning and informational messages to
580 log_file instead of the standard error.
581
582 -m glob
583 Exclude files matching glob, a shell wildcard pattern, from
584 being written to CD-ROM. glob may match either the filename
585 component or the full pathname. This option may be used multi‐
586 ple times. For example:
587
588 genisoimage -o rom -m '*.o' -m core -m foobar
589
590 would exclude all files ending in `.o', or called core or foobar
591 from the image. Note that if you had a directory called foobar,
592 it too (and of course all its descendants) would be excluded.
593
594 -exclude-list file
595 A file containing a list of shell wildcards to be excluded. See
596 -m.
597
598 -max-iso9660-filenames
599 Allow ISO9660 filenames to be up to 37 characters long. This
600 option enables -N as the extra name space is taken from the
601 space reserved for file version numbers.
602 This violates the ISO9660 standard, but it happens to work on
603 many systems. Although a conforming application needs to pro‐
604 vide a buffer space of at least 37 characters, discs created
605 with this option may cause a buffer overflow in the reading
606 operating system. Use with extreme care.
607
608 -M path
609
610 -M device
611
612 -dev device
613 Specifies path to existing ISO9660 image to be merged. The
614 alternate form takes a SCSI device specifier that uses the same
615 syntax as the dev= parameter of wodim. The output of genisoim‐
616 age will be a new session which should get written to the end of
617 the image specified in -M. Typically this requires multisession
618 capability for the CD recorder used to write the image. This
619 option may only be used in conjunction with -C.
620
621 -N Omit version numbers from ISO9660 filenames.
622 This violates the ISO9660 standard, but no one really uses the
623 version numbers anyway. Use with caution.
624
625 -new-dir-mode mode
626 Specify the mode, a 4-digit number as used in chmod(1), to use
627 when creating new directories in the filesystem image. The
628 default is 0555.
629
630 -nobak
631
632 -no-bak
633 Exclude backup files files on the ISO9660 filesystem; that is,
634 filenames that contain the characters `~' or `#' or end in .bak.
635 These are typically backup files for Unix text editors.
636
637 -force-rr
638 Do not use the automatic Rock Ridge attributes recognition for
639 previous sessions. This can work around problems with images
640 created by, e.g., NERO Burning ROM.
641
642 -no-rr Do not use the Rock Ridge attributes from previous sessions.
643 This may help to avoid problems when genisoimage finds illegal
644 Rock Ridge signatures on an old session.
645
646 -no-split-symlink-components
647 Don't split the symlink components, but begin a new Continuation
648 Area (CE) instead. This may waste some space, but the SunOS
649 4.1.4 cdrom driver has a bug in reading split symlink compo‐
650 nents.
651
652 It is questionable whether this option is useful nowadays.
653
654 -no-split-symlink-fields
655 Don't split the symlink fields, but begin a new Continuation
656 Area (CE) instead. This may waste some space, but the SunOS
657 4.1.4 and Solaris 2.5.1 cdrom driver have a bug in reading split
658 symlink fields (a `/' can be dropped).
659
660 It is questionable whether this option is useful nowadays.
661
662 -o filename
663 Specify the output file for the the ISO9660 filesystem image.
664 This can be a disk file, a tape drive, or it can correspond
665 directly to the device name of the optical disc writer. If not
666 specified, stdout is used. Note that the output can also be a
667 block device for a regular disk partition, in which case the
668 ISO9660 filesystem can be mounted normally to verify that it was
669 generated correctly.
670
671 -pad Pad the end of the whole image by 150 sectors (300 kB). This
672 option is enabled by default. If used in combination with -B,
673 padding is inserted between the ISO9660 partition and the boot
674 partitions, such that the first boot partition starts on a sec‐
675 tor number that is a multiple of 16.
676
677 The padding is needed as many operating systems (e.g. Linux)
678 implement read-ahead bugs in their filesystem I/O. These bugs
679 result in read errors on files that are located near the end of
680 a track, particularly if the disc is written in Track At Once
681 mode, or where a CD audio track follows the data track.
682
683 -no-pad
684 Do not pad the end by 150 sectors (300 kB) and do not make the
685 the boot partitions start on a multiple of 16 sectors.
686
687 -path-list file
688 A file containing a list of pathspec directories and filenames
689 to be added to the ISO9660 filesystem. This list of pathspecs
690 are processed after any that appear on the command line. If the
691 argument is -, the list is read from the standard input.
692
693 -P Outdated option; use -publisher instead.
694
695 -publisher publisher_id
696 Specifies a text string that will be written into the volume
697 header. This should describe the publisher of the CD-ROM, usu‐
698 ally with a mailing address and phone number. There is space
699 for 128 characters. Equivalent to PUBL in the .genisoimagerc
700 file.
701
702 -p preparer_id
703 Specifies a text string that will be written into the volume
704 header. This should describe the preparer of the CD-ROM, usu‐
705 ally with a mailing address and phone number. There is space
706 for 128 characters. Equivalent to PREP in the .genisoimagerc
707 file.
708
709 -print-size
710 Print estimated filesystem size in multiples of the sector size
711 (2048 bytes) and exit. This option is needed for Disk At Once
712 mode and with some CD-R drives when piping directly into wodim,
713 cases where wodim needs to know the size of the filesystem image
714 in advance. Old versions of mkisofs wrote this information
715 (among other information) to stderr. As this turns out to be
716 hard to parse, the number without any other information is now
717 printed on stdout too. If you like to write a simple shell
718 script, redirect stderr and catch the number from stdout. This
719 may be done with:
720
721 cdblocks=` genisoimage -print-size -quiet ... `
722 genisoimage ... | wodim ... tsize=${cdblocks}s -
723
724 -quiet This makes genisoimage even less verbose. No progress output
725 will be provided.
726
727 -R Generate SUSP and RR records using the Rock Ridge protocol to
728 further describe the files on the ISO9660 filesystem.
729
730 -r This is like the -R option, but file ownership and modes are set
731 to more useful values. The uid and gid are set to zero, because
732 they are usually only useful on the author's system, and not
733 useful to the client. All the file read bits are set true, so
734 that files and directories are globally readable on the client.
735 If any execute bit is set for a file, set all of the execute
736 bits, so that executables are globally executable on the client.
737 If any search bit is set for a directory, set all of the search
738 bits, so that directories are globally searchable on the client.
739 All write bits are cleared, because the filesystem will be
740 mounted read-only in any case. If any of the special mode bits
741 are set, clear them, because file locks are not useful on a
742 read-only filesystem, and set-id bits are not desirable for uid
743 0 or gid 0. When used on Win32, the execute bit is set on all
744 files. This is a result of the lack of file permissions on Win32
745 and the Cygwin POSIX emulation layer. See also -uid, -gid,
746 -dir-mode, -file-mode and -new-dir-mode.
747
748 -relaxed-filenames
749 Allows ISO9660 filenames to include all 7-bit ASCII characters
750 except lowercase letters.
751 This violates the ISO9660 standard, but it happens to work on
752 many systems. Use with caution.
753
754 -root dir
755 Moves all files and directories into dir in the image. This is
756 essentially the same as using -graft-points and adding dir in
757 front of every pathspec, but is easier to use. dir may actually
758 be several levels deep. It is created with the same permissions
759 as other graft points.
760
761 -old-root dir
762 This option is necessary when writing a multisession image and
763 the previous (or even older) session was written with -root dir.
764 Using a directory name not found in the previous session causes
765 genisoimage to abort with an error. Without this option,
766 genisoimage would not be able to find unmodified files and would
767 be forced to write their data into the image once more. -root
768 and -old-root are meant to be used together to do incremental
769 backups. The initial session would e.g. use: genisoimage -root
770 backup_1 dirs. The next incremental backup with genisoimage
771 -root backup_2 -old-root backup_1 dirs would take another snap‐
772 shot of these directories. The first snapshot would be found in
773 backup_1, the second one in backup_2, but only modified or new
774 files need to be written into the second session. Without these
775 options, new files would be added and old ones would be pre‐
776 served. But old ones would be overwritten if the file was modi‐
777 fied. Recovering the files by copying the whole directory back
778 from CD would also restore files that were deleted intention‐
779 ally. Accessing several older versions of a file requires sup‐
780 port by the operating system to choose which sessions are to be
781 mounted.
782
783 -sort sort_file
784 Sort file locations on the media. Sorting is controlled by a
785 file that contains pairs of filenames and sorting offset weight‐
786 ing. If the weighting is higher, the file will be located
787 closer to the beginning of the media, if the weighting is lower,
788 the file will be located closer to the end of the media. There
789 must be only one space or tabs character between the filename
790 and the weight and the weight must be the last characters on a
791 line. The filename is taken to include all the characters up to,
792 but not including the last space or tab character on a line.
793 This is to allow for space characters to be in, or at the end of
794 a filename. This option does not sort the order of the file‐
795 names that appear in the ISO9660 directory. It sorts the order
796 in which the file data is written to the CD image, which is use‐
797 ful in order to optimize the data layout on a CD. See
798 README.sort for more details.
799
800 -sparc-boot img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
801 See -B above.
802
803 -sparc-label label
804 Set the Sun disk label name for the Sun disk label that is cre‐
805 ated with -sparc-boot.
806
807 -split-output
808 Split the output image into several files of approximately 1 GB
809 each. This helps to create DVD-sized ISO9660 images on operat‐
810 ing systems without large file support. wodim will concatenate
811 more than one file into a single track if writing to a DVD. To
812 make -split-output work, -o filename must be specified. The
813 resulting output images will be named: filename_00, filename_01,
814 filename_02....
815
816 -stream-media-size #
817 Select streaming operation and set the media size to # sectors.
818 This allows you to pipe the output of the tar(1) program into
819 genisoimage and to create an ISO9660 filesystem without the need
820 of an intermediate tar archive file. If this option has been
821 specified, genisoimage reads from stdin and creates a file with
822 the name STREAM.IMG. The maximum size of the file (with pad‐
823 ding) is 200 sectors less than the specified media size. If
824 -no-pad has been specified, the file size is 50 sectors less
825 than the specified media size. If the file is smaller,
826 genisoimage will write padding. This may take awhile.
827
828 The option -stream-media-size creates simple ISO9660 filesystems
829 only and may not used together with multisession or hybrid
830 filesystem options.
831
832 -stream-file-name name
833 Reserved for future use.
834
835 -sunx86-boot UFS_img,,,AUX1_img
836 Specifies a comma-separated list of filesystem images that are
837 needed to make a bootable CD for Solaris x86 systems.
838
839 Note that partition 1 is used for the ISO9660 image and that
840 partition 2 is the whole disk, so partition 1 and 2 may not be
841 used by external partition data. The first image file is mapped
842 to partition 0. There may be empty fields in the comma-sepa‐
843 rated list, and list entries for partition 1 and 2 must be
844 empty. The maximum number of supported partitions is 8
845 (although the Solaris x86 partition table could support up to 16
846 partitions), so it is impossible to specify more than 6 parti‐
847 tion images. This option is required to make a bootable CD for
848 Solaris x86 systems.
849
850 If -sunx86-boot has been specified, the first sector of the
851 resulting image will contain a PC fdisk label with a Solaris
852 type 0x82 fdisk partition that starts at offset 512 and spans
853 the whole CD. In addition, for the Solaris type 0x82 fdisk par‐
854 tition, there is a SVr4 disk label at offset 1024 in the first
855 sector of the CD. This disk label specifies slice 0 for the
856 first (usually UFS type) filesystem image that is used to boot
857 the PC and slice 1 for the ISO9660 image. Slice 2 spans the
858 whole CD slice 3 ... slice 7 may be used for additional filesys‐
859 tem images that have been specified with this option.
860
861 A Solaris x86 boot CD uses a 1024 byte sized primary boot that
862 uses the El-Torito no-emulation boot mode and a secondary
863 generic boot that is in CD sectors 1..15. For this reason, both
864 -b bootimage -no-emul-boot and -G genboot must be specified.
865
866 -sunx86-label label
867 Set the SVr4 disk label name for the SVr4 disk label that is
868 created with -sunx86-boot.
869
870 -sysid ID
871 Specifies the system ID. There is space for 32 characters.
872 Equivalent to SYSI in the .genisoimagerc file.
873
874 -T Generate a file TRANS.TBL in each directory on the CD-ROM, which
875 can be used on non-Rock Ridge-capable systems to help establish
876 the correct filenames. There is also information present in the
877 file that indicates the major and minor numbers for block and
878 character devices, and each symlink has the name of the link
879 file given.
880
881 -table-name table_name
882 Alternative translation table filename (see above). Implies -T.
883 If you are creating a multisession image you must use the same
884 name as in the previous session.
885
886 -ucs-level level
887 Set Unicode conformance level in the Joliet SVD. The default
888 level is 3. It may be set to 1..3 using this option.
889
890 -udf Include UDF filesystem support in the generated filesystem
891 image. UDF support is currently in alpha status and for this
892 reason, it is not possible to create UDF-only images. UDF data
893 structures are currently coupled to the Joliet structures, so
894 there are many pitfalls with the current implementation. There
895 is no UID/GID support, there is no POSIX permission support,
896 there is no support for symlinks. Note that UDF wastes the
897 space from sector ~20 to sector 256 at the beginning of the disc
898 in addition to the space needed for real UDF data structures.
899
900 -uid uid
901 Overrides the uid read from the source files to the value of
902 uid. Specifying this option automatically enables Rock Ridge
903 extensions.
904
905 -use-fileversion
906 The option -use-fileversion allows genisoimage to use file ver‐
907 sion numbers from the filesystem. If the option is not speci‐
908 fied, genisoimage creates a version number of 1 for all files.
909 File versions are strings in the range ;1 to ;32767 This option
910 is the default on VMS.
911
912 -U Allows "untranslated" filenames, completely violating the
913 ISO9660 standards described above. Enables the following flags:
914 -d -l -N -allow-leading-dots -relaxed-filenames -allow-lowercase
915 -allow-multidot -no-iso-translate. Allows more than one `.'
916 character in the filename, as well as mixed-case filenames.
917 This is useful on HP-UX, where the built-in cdfs filesystem does
918 not recognize any extensions. Use with extreme caution.
919
920 -no-iso-translate
921 Do not translate the characters `#' and `~' which are invalid
922 for ISO9660 filenames. Although invalid, these characters are
923 often used by Microsoft systems.
924 This violates the ISO9660 standard, but it happens to work on
925 many systems. Use with caution.
926
927 -V volid
928 Specifies the volume ID (volume name or label) to be written
929 into the master block. There is space for 32 characters.
930 Equivalent to VOLI in the .genisoimagerc file. The volume ID is
931 used as the mount point by the Solaris volume manager and as a
932 label assigned to a disc on various other platforms such as Win‐
933 dows and Apple Mac OS.
934
935 -volset ID
936 Specifies the volume set ID. There is space for 128 characters.
937 Equivalent to VOLS in the .genisoimagerc file.
938
939 -volset-size #
940 Sets the volume set size to #. The volume set size is the num‐
941 ber of CDs that are in a CD volume set. A volume set is a col‐
942 lection of one or more volumes, on which a set of files is
943 recorded.
944
945 Volume Sets are not intended to be used to create a set numbered
946 CDs that are part of e.g. a Operation System installation set of
947 CDs. Volume Sets are rather used to record a big directory tree
948 that would not fit on a single volume. Each volume of a Volume
949 Set contains a description of all the directories and files that
950 are recorded on the volumes where the sequence numbers are less
951 than, or equal to, the assigned Volume Set Size of the current
952 volume.
953
954 genisoimage currently does not support a -volset-size that is
955 larger than 1.
956
957 The option -volset-size must be specified before -volset-seqno
958 on each command line.
959
960 -volset-seqno #
961 Sets the volume set sequence number to #. The volume set
962 sequence number is the index number of the current CD in a CD
963 set. The option -volset-size must be specified before
964 -volset-seqno on each command line.
965
966 -v Verbose execution. If given twice on the command line, extra
967 debug information will be printed.
968
969 -x glob
970 Identical to -m glob.
971
972 -z Generate special RRIP records for transparently compressed
973 files. This is only of use and interest for hosts that support
974 transparent decompression, such as Linux 2.4.14 or later. You
975 must specify -R or -r to enable Rock Ridge, and generate com‐
976 pressed files using the mkzftree utility before running
977 genisoimage. Note that transparent compression is a nonstandard
978 Rock Ridge extension. The resulting disks are only transpar‐
979 ently readable if used on Linux. On other operating systems you
980 will need to call mkzftree by hand to decompress the files.
981
983 -hfs Create an ISO9660/HFS hybrid CD. This option should be used in
984 conjunction with the -map, -magic and/or the various double dash
985 options given below.
986
987 -apple Create an ISO9660 CD with Apple's extensions. Similar to -hfs,
988 except that the Apple Extensions to ISO9660 are added instead of
989 creating an HFS hybrid volume. Former genisoimage versions did
990 include Rock Ridge attributes by default if -apple was speci‐
991 fied. This versions of genisoimage does not do this anymore. If
992 you like to have Rock Ridge attributes, you need to specify this
993 separately.
994
995 -map mapping_file
996 Use the mapping_file to set the CREATOR and TYPE information for
997 a file based on the filename's extension. A filename is mapped
998 only if it is not one of the know Apple/Unix file formats. See
999 the HFS CREATOR/TYPE section below.
1000
1001 -magic magic_file
1002 The CREATOR and TYPE information is set by using a file's magic
1003 number (usually the first few bytes of a file). The magic_file
1004 is only used if a file is not one of the known Apple/Unix file
1005 formats, or the filename extension has not been mapped using
1006 -map. See the HFS CREATOR/TYPE section below for more details.
1007
1008 -hfs-creator creator
1009 Set the default CREATOR for all files. Must be exactly 4 charac‐
1010 ters. See the HFS CREATOR/TYPE section below for more details.
1011
1012 -hfs-type type
1013 Set the default TYPE for all files. Must be exactly 4 charac‐
1014 ters. See the HFS CREATOR/TYPE section below for more details.
1015
1016 -probe Search the contents of files for all the known Apple/Unix file
1017 formats. See the HFS MACINTOSH FILE FORMATS section below for
1018 more about these formats. However, the only way to check for
1019 MacBinary and AppleSingle files is to open and read them, so
1020 this option may increase processing time. It is better to use
1021 one or more double dash options given below if the Apple/Unix
1022 formats in use are known.
1023
1024 -no-desktop
1025 Do not create (empty) Desktop files. New HFS Desktop files will
1026 be created when the CD is used on a Macintosh (and stored in the
1027 System Folder). By default, empty Desktop files are added to
1028 the HFS volume.
1029
1030 -mac-name
1031 Use the HFS filename as the starting point for the ISO9660,
1032 Joliet and Rock Ridge filenames. See the HFS MACINTOSH FILENAMES
1033 section below for more information.
1034
1035 -boot-hfs-file driver_file
1036 Installs the driver_file that may make the CD bootable on a Mac‐
1037 intosh. See the HFS BOOT DRIVER section below. (Alpha).
1038
1039 -part Generate an HFS partition table. By default, no partition table
1040 is generated, but some older Macintosh CD-ROM drivers need an
1041 HFS partition table on the CD-ROM to be able to recognize a
1042 hybrid CD-ROM.
1043
1044 -auto AutoStart_file
1045 Make the HFS CD use the QuickTime 2.0 Autostart feature to
1046 launch an application or document. The given filename must be
1047 the name of a document or application located at the top level
1048 of the CD. The filename must be less than 12 characters.
1049 (Alpha).
1050
1051 -cluster-size size
1052 Set the size in bytes of the cluster or allocation units of PC
1053 Exchange files. Implies --exchange. See the HFS MACINTOSH FILE
1054 FORMATS section below.
1055
1056 -hide-hfs glob
1057 Hide glob, a shell wildcard pattern, from the HFS volume. The
1058 file or directory will still exist in the ISO9660 and/or Joliet
1059 directory. glob may match any part of the filename. Multiple
1060 globs may be excluded. Example:
1061
1062 genisoimage -o rom -hfs -hide-hfs '*.o' -hide-hfs foobar
1063
1064 would exclude all files ending in `.o' or called foobar from the
1065 HFS volume. Note that if you had a directory called foobar, it
1066 too (and of course all its descendants) would be excluded. The
1067 glob can also be a path name relative to the source directories
1068 given on the command line. Example:
1069
1070 genisoimage -o rom -hfs -hide-hfs src/html src
1071
1072 would exclude just the file or directory called html from the
1073 src directory. Any other file or directory called html in the
1074 tree will not be excluded. Should be used with -hide and/or
1075 -hide-joliet. In order to match a directory name, make sure the
1076 pattern does not include a trailing `/' character. See
1077 README.hide for more details.
1078
1079 -hide-hfs-list file
1080 Specify a file containing a list of wildcard patterns to be hid‐
1081 den as in -hide-hfs.
1082
1083 -hfs-volid hfs_volid
1084 Volume name for the HFS partition. This is the name that is
1085 assigned to the disc on a Macintosh and replaces the volid used
1086 with -V.
1087
1088 -icon-position
1089 Use the icon position information, if it exists, from the
1090 Apple/Unix file. The icons will appear in the same position as
1091 they would on a Macintosh desktop. Folder location and size on
1092 screen, its scroll positions, folder View (view as Icons, Small
1093 Icons, etc.) are also preserved. (Alpha).
1094
1095 -root-info file
1096 Set the location, size on screen, scroll positions, folder View
1097 etc. for the root folder of an HFS volume. See README.rootinfo
1098 for more information. (Alpha)
1099
1100 -prep-boot file
1101 PReP boot image file. Up to 4 are allowed. See README.prep_boot
1102 for more information. (Alpha)
1103
1104 -input-hfs-charset charset
1105 Input charset that defines the characters used in HFS filenames
1106 when used with -mac-name. The default charset is cp10000 (Mac
1107 Roman). See the CHARACTER SETS and HFS MACINTOSH FILENAMES sec‐
1108 tions below for more details.
1109
1110 -output-hfs-charset charset
1111 Output charset that defines the characters that will be used in
1112 the HFS filenames. Defaults to the input charset. See the CHAR‐
1113 ACTER SETS section below for more details.
1114
1115 -hfs-unlock
1116 By default, genisoimage will create an HFS volume that is
1117 locked. This option leaves the volume unlocked so that other
1118 applications (e.g. hfsutils) can modify the volume. See the HFS
1119 PROBLEMS/LIMITATIONS section below for warnings about using this
1120 option.
1121
1122 -hfs-bless folder_name
1123 "Bless" the given directory (folder). This is usually the System
1124 Folder and is used in creating HFS bootable CDs. The name of the
1125 directory must be the whole path name as genisoimage sees it.
1126 E.g., if the given pathspec is ./cddata and the required folder
1127 is called System Folder, the whole path name is "/cddata/System
1128 Folder" (remember to use quotes if the name contains spaces).
1129
1130 -hfs-parms parameters
1131 Override certain parameters used to create the HFS filesystem.
1132 Unlikely to be used in normal circumstances. See the lib‐
1133 hfs_iso/hybrid.h source file for details.
1134
1135 --cap Look for AUFS CAP Macintosh files. Search for CAP Apple/Unix
1136 file formats only. Searching for the other possible Apple/Unix
1137 file formats is disabled, unless other double dash options are
1138 given.
1139
1140 --netatalk
1141 Look for NETATALK Macintosh files
1142
1143 --double
1144 Look for AppleDouble Macintosh files
1145
1146 --ethershare
1147 Look for Helios EtherShare Macintosh files
1148
1149 --ushare
1150 Look for IPT UShare Macintosh files
1151
1152 --exchange
1153 Look for PC Exchange Macintosh files
1154
1155 --sgi Look for SGI Macintosh files
1156
1157 --xinet
1158 Look for XINET Macintosh files
1159
1160 --macbin
1161 Look for MacBinary Macintosh files
1162
1163 --single
1164 Look for AppleSingle Macintosh files
1165
1166 --dave Look for Thursby Software Systems DAVE Macintosh files
1167
1168 --sfm Look for Microsoft's Services for Macintosh files (NT only)
1169 (Alpha)
1170
1171 --osx-double
1172 Look for Mac OS X AppleDouble Macintosh files
1173
1174 --osx-hfs
1175 Look for Mac OS X HFS Macintosh files
1176
1178 genisoimage processes filenames in a POSIX-compliant way as strings of
1179 8-bit characters. To represent all codings for all languages, 8-bit
1180 characters are not sufficient. Unicode or ISO-10646 define character
1181 codings that need at least 21 bits to represent all known languages.
1182 They may be represented with UTF-32, UTF-16 or UTF-8 coding. UTF-32
1183 uses a plain 32-bit coding but seems to be uncommon. UTF-16 is used by
1184 Microsoft with Win32 with the disadvantage that 16-bit characters are
1185 not compliant with the POSIX filesystem interface.
1186
1187 Modern Unix operating systems may use UTF-8 coding for filenames. Each
1188 32-bit character is represented by one or more 8-bit characters. If a
1189 character is coded in ISO-8859-1 (used in Central Europe and North
1190 America) is maps 1:1 to a UTF-32 or UTF-16 coded Unicode character. If
1191 a character is coded in 7-Bit ASCII (used in USA and other countries
1192 with limited character set) is maps 1:1 to a UTF-32, UTF-16 or UTF-8
1193 coded Unicode character. Character codes that cannot be represented as
1194 a single byte in UTF-8 (if the value is > 0x7F) use escape sequences
1195 that map to more than one 8-bit character.
1196
1197 If all operating systems used UTF-8, genisoimage would not need to
1198 recode characters in filenames. Unfortunately, Apple uses completely
1199 nonstandard codings and Microsoft uses a Unicode coding that is not
1200 compatible with the POSIX filename interface.
1201
1202 For all non-UTF-8-coded operating systems, the actual character that
1203 each byte represents depends on the character set or codepage (the name
1204 used by Microsoft) used by the local operating system — the characters
1205 in a character set will reflect the region or natural language set by
1206 the user.
1207
1208 Usually character codes 0x00-0x1f are control characters, codes
1209 0x20-0x7f are the 7-bit ASCII characters and (on PCs and Macs)
1210 0x80-0xff are used for other characters.
1211
1212 As there are a lot more than 256 characters/symbols in use, only a
1213 small subset are represented in a character set. Therefore the same
1214 character code may represent a different character in different charac‐
1215 ter sets. So a filename generated, say in central Europe, may not dis‐
1216 play the same character when viewed on a machine in, say eastern
1217 Europe.
1218
1219 To make matters more complicated, different operating systems use dif‐
1220 ferent character sets for the region or language. For example, the
1221 character code for `é' (small e with acute accent) may be character
1222 code 0x82 on a PC, code 0x8e on a Macintosh, code 0xe9 on a Unix system
1223 in western Europe, and code 0x000e9 in Unicode.
1224
1225 As long as not all operating systems and applications use the same
1226 character set as the basis for filenames, it may be necessary to spec‐
1227 ify which character set your filenames use in and which character set
1228 the filenames should appear on the CD.
1229
1230 There are four options to specify the character sets you want to use:
1231
1232 -input-charset
1233 Defines the local character set you are using on your host
1234 machine. Any character set conversions that take place will use
1235 this character set as the starting point. The default input
1236 character sets are cp437 on MS-DOS-based systems and iso8859-1
1237 on all other systems. If -J is given, the Unicode equivalents
1238 of the input character set will be used in the Joliet directory.
1239 -jcharset is the same as -input-charset -J.
1240
1241 -output-charset
1242 Defines the character set that will be used with for the Rock
1243 Ridge names on the CD. Defaults to the input character set.
1244
1245 -input-hfs-charset
1246 Defines the HFS character set used for HFS filenames decoded
1247 from any of the various Apple/Unix file formats. Only useful
1248 when used with -mac-name. See the HFS MACINTOSH FILENAMES for
1249 more information. Defaults to cp10000 (Mac Roman).
1250
1251 -output-hfs-charset
1252 Defines the HFS character set used to create HFS filenames from
1253 the input character set in use. In most cases this will be from
1254 the character set given with -input-charset. Defaults to the
1255 input HFS character set.
1256
1257 There are a number of character sets built in to genisoimage. To get a
1258 listing, use -input-charset help. This list doesn't include the
1259 charset derived from the current locale, if genisoimage is built with
1260 iconv support.
1261
1262 Additional character sets can be read from file for any of the charac‐
1263 ter set options by giving a filename as the argument to the options.
1264 The given file will only be read if its name does not match one of the
1265 built-in character sets.
1266
1267 The format of the character set files is the same as the mapping files
1268 available from http://www.unicode.org/Public/MAPPINGS. This format is:
1269
1270 Column #1 is the input byte code (in hex as 0xXX)
1271 Column #2 is the Unicode (in hex as 0xXXXX)
1272 The rest of the line is ignored.
1273
1274 Any blank line, line without two (or more) columns in the above format
1275 or comments lines (starting with the # character) are ignored without
1276 any warnings. Any missing input code is mapped to Unicode character
1277 0x0000.
1278
1279 Note that, while UTF-8 is supported, other Unicode encodings such as
1280 UCS-2/UTF-16 and UCS-4/UTF-32 are not, as POSIX operating systems can‐
1281 not handle them natively.
1282
1283 A 1:1 character set mapping can be defined by using the keyword default
1284 as the argument to any of the character set options. This is the behav‐
1285 iour of old versions of mkisofs.
1286
1287 The ISO9660 filenames generated from the input filenames are not con‐
1288 verted from the input character set. The ISO9660 character set is a
1289 very limited subset of the ASCII characters, so any conversion would be
1290 pointless.
1291
1292 Any character that genisoimage cannot convert will be replaced with a
1293 `_' character.
1294
1296 A Macintosh file has two properties associated with it which define
1297 which application created the file, the CREATOR and what data the file
1298 contains, the TYPE. Both are (exactly) 4 letter strings. Usually this
1299 allows a Macintosh user to double-click on a file and launch the cor‐
1300 rect application etc. The CREATOR and TYPE of a particular file can be
1301 found by using something like ResEdit (or similar) on a Macintosh.
1302
1303 The CREATOR and TYPE information is stored in all the various
1304 Apple/Unix encoded files. For other files it is possible to base the
1305 CREATOR and TYPE on the filename's extension using a mapping file (with
1306 -map) and/or using the magic number (usually a signature in the first
1307 few bytes) of a file (with -magic). If both these options are given,
1308 their order on the command line is significant. If -map is given
1309 first, a filename extension match is attempted before a magic number
1310 match. However, if -magic is given first, a magic number match is
1311 attempted before a filename extension match.
1312
1313 If a mapping or magic file is not used, or no match is found, the
1314 default CREATOR and TYPE for all regular files can be set by using
1315 entries in the .genisoimagerc file or using -hfs-creator and/or
1316 -hfs-type, otherwise the default CREATOR and TYPE are Unix and TEXT.
1317
1318 The format of the mapping file is the same afpfile format as used by
1319 aufs. This file has five columns for the extension, file translation,
1320 CREATOR, TYPE and Comment. Lines starting with the `#' character are
1321 comment lines and are ignored. An example file would be like:
1322
1323 # Example filename mapping file
1324 #
1325 # EXTN XLate CREATOR TYPE Comment
1326 .tif Raw '8BIM' 'TIFF' "Photoshop TIFF image"
1327 .hqx Ascii 'BnHq' 'TEXT' "BinHex file"
1328 .doc Raw 'MSWD' 'WDBN' "Word file"
1329 .mov Raw 'TVOD' 'MooV' "QuickTime Movie"
1330 * Ascii 'ttxt' 'TEXT' "Text file"
1331
1332 Where:
1333
1334 The first column EXTN defines the Unix filename extension to be
1335 mapped. The default mapping for any filename extension that
1336 doesn't match is defined with the `*' character.
1337
1338 The Xlate column defines the type of text translation between
1339 the Unix and Macintosh file it is ignored by genisoimage, but is
1340 kept to be compatible with aufs(1). Although genisoimage does
1341 not alter the contents of a file, if a binary file has its TYPE
1342 set as TEXT, it may be read incorrectly on a Macintosh. There‐
1343 fore a better choice for the default TYPE may be ????.
1344
1345 The CREATOR and TYPE keywords must be 4 characters long and
1346 enclosed in single quotes.
1347
1348 The comment field is enclosed in double quotes — it is ignored
1349 by genisoimage, but is kept to be compatible with aufs.
1350
1351 The format of the magic file is almost identical to the magic(5) file
1352 used by the file(1) command.
1353
1354 This file has four tab-separated columns for the byte offset, type,
1355 test and message. Lines starting with the `#' character are comment
1356 lines and are ignored. An example file would be like:
1357
1358 # Example magic file
1359 #
1360 # off type test message
1361 0 string GIF8 8BIM GIFf GIF image
1362 0 beshort 0xffd8 8BIM JPEG image data
1363 0 string SIT! SIT! SIT! StuffIt Archive
1364 0 string \037\235 LZIV ZIVU standard Unix compress
1365 0 string \037\213 GNUz ZIVU gzip compressed data
1366 0 string %! ASPS TEXT Postscript
1367 0 string \004%! ASPS TEXT PC Postscript with a ^D to start
1368 4 string moov txtt MooV QuickTime movie file (moov)
1369 4 string mdat txtt MooV QuickTime movie file (mdat)
1370
1371 The format of the file is described in magic(5). The only difference
1372 here is that for each entry in the magic file, the message for the ini‐
1373 tial offset must be be 4 characters for the CREATOR followed by 4 char‐
1374 acters for the TYPE — white space is optional between them. Any other
1375 characters on this line are ignored. Continuation lines (starting with
1376 a `>') are also ignored, i.e., only the initial offset lines are used.
1377
1378 Using -magic may significantly increase processing time as each file
1379 has to opened and read to find its magic number.
1380
1381 In summary, for all files, the default CREATOR is Unix and the default
1382 TYPE is TEXT. These can be changed by using entries in the .genisoim‐
1383 agerc file or by using -hfs-creator and/or -hfs-type.
1384
1385 If the a file is in one of the known Apple/Unix formats (and the format
1386 has been selected), the CREATOR and TYPE are taken from the values
1387 stored in the Apple/Unix file.
1388
1389 Other files can have their CREATOR and TYPE set from their filename
1390 extension (with -map), or their magic number (with -magic). If the
1391 default match is used in the mapping file, these values override the
1392 default CREATOR and TYPE.
1393
1394 A full CREATOR/TYPE database can be found at
1395 http://www.angelfire.com/il/szekely/.
1396
1398 Macintosh files have two parts called the Data and Resource fork.
1399 Either may be empty. Unix (and many other OSs) can only cope with files
1400 having one part (or fork). To add to this, Macintosh files have a num‐
1401 ber of attributes associated with them — probably the most important
1402 are the TYPE and CREATOR. Again, Unix has no concept of these types of
1403 attributes.
1404
1405 E.g., a Macintosh file may be a JPEG image where the image is stored in
1406 the Data fork and a desktop thumbnail stored in the Resource fork. It
1407 is usually the information in the data fork that is useful across plat‐
1408 forms.
1409
1410 Therefore to store a Macintosh file on a Unix filesystem, a way has to
1411 be found to cope with the two forks and the extra attributes (which are
1412 referred to as the Finder info). Unfortunately, it seems that every
1413 software package that stores Macintosh files on Unix has chosen a com‐
1414 pletely different storage method.
1415
1416 The Apple/Unix formats that genisoimage (partially) supports are:
1417
1418 CAP AUFS format
1419 Data fork stored in a file. Resource fork in subdirectory
1420 .resource with same filename as data fork. Finder info in subdi‐
1421 rectory .finderinfo with same filename.
1422
1423 AppleDouble/Netatalk
1424 Data fork stored in a file. Resource fork stored in a file with
1425 same name prefixed with `%'. Finder info also stored in same `%'
1426 file. Netatalk uses the same format, but the resource
1427 fork/Finder info stored in subdirectory .AppleDouble with same
1428 filename as data fork.
1429
1430 AppleSingle
1431 Data structures similar to above, except both forks and Finder
1432 info are stored in one file.
1433
1434 Helios EtherShare
1435 Data fork stored in a file. Resource fork and Finder info
1436 together in subdirectory .rsrc with same filename as data fork.
1437
1438 IPT UShare
1439 Like the EtherShare format, but the Finder info is stored
1440 slightly differently.
1441
1442 MacBinary
1443 Both forks and Finder info stored in one file.
1444
1445 Apple PC Exchange
1446 Used by Macintoshes to store Apple files on DOS (FAT) disks.
1447 Data fork stored in a file. Resource fork in subdirectory
1448 resource.frk (or RESOURCE.FRK). Finder info as one record in
1449 file finder.dat (or FINDER.DAT). Separate finder.dat for each
1450 data fork directory.
1451
1452 Note: genisoimage needs to know the native FAT cluster size of
1453 the disk that the PC Exchange files are on (or have been copied
1454 from). This size is given by -cluster-size. The cluster or
1455 allocation size can be found by using the DOS utility chkdsk.
1456
1457 May not work with PC Exchange v2.2 or higher files (available
1458 with MacOS 8.1). DOS media containing PC Exchange files should
1459 be mounted as type msdos (not vfat) when using Linux.
1460
1461 SGI/XINET
1462 Used by SGI machines when they mount HFS disks. Data fork stored
1463 in a file. Resource fork in subdirectory .HSResource with same
1464 filename. Finder info as one record in file .HSancillary. Sep‐
1465 arate .HSancillary for each data fork directory.
1466
1467 Thursby Software Systems DAVE
1468 Allows Macintoshes to store Apple files on SMB servers. Data
1469 fork stored in a file. Resource fork in subdirectory
1470 resource.frk. Uses the AppleDouble format to store resource
1471 fork.
1472
1473 Services for Macintosh
1474 Format of files stored by NT Servers on NTFS filesystems. Data
1475 fork is stored as filename. Resource fork stored as a NTFS
1476 stream called filename:AFP_Resource. The Finder info is stored
1477 as a NTFS stream called filename:Afp_AfpInfo. NTFS streams are
1478 normally invisible to the user.
1479
1480 Warning: genisoimage only partially supports the SFM format. If
1481 an HFS file or folder stored on the NT server contains an ille‐
1482 gal NT character in its name, NT converts these characters to
1483 Private Use Unicode characters. The characters are: " * / < > ?
1484 \ | and a space or period if it is the last character of the
1485 filename, character codes 0x01 to 0x1f (control characters) and
1486 Apple's apple logo.
1487
1488 Unfortunately, these private Unicode characters are not readable
1489 by the genisoimage NT executable. Therefore any file or direc‐
1490 tory name containing these characters will be ignored — includ‐
1491 ing the contents of any such directory.
1492
1493 Mac OS X AppleDouble
1494 When HFS/HFS+ files are copied or saved by Mac OS X on to a non-
1495 HFS filesystem (e.g. UFS, NFS etc.), the files are stored in
1496 AppleDouble format. Data fork stored in a file. Resource fork
1497 stored in a file with same name prefixed with `._'. Finder info
1498 also stored in same `._' file.
1499
1500 Mac OS X HFS (Alpha)
1501 Not really an Apple/Unix encoding, but actual HFS/HFS+ files on
1502 a Mac OS X system. Data fork stored in a file. Resource fork
1503 stored in a pseudo file with the same name with the suffix
1504 /rsrc. The Finder info is only available via a Mac OS X library
1505 call.
1506
1507 See also README.macosx.
1508
1509 Only works when used on Mac OS X.
1510
1511 If a file is found with a zero length resource fork and empty
1512 finderinfo, it is assumed not to have any Apple/Unix encoding —
1513 therefore a TYPE and CREATOR can be set using other methods.
1514
1515 genisoimage will attempt to set the CREATOR, TYPE, date and possibly
1516 other flags from the finder info. Additionally, if it exists, the Mac‐
1517 intosh filename is set from the finder info, otherwise the Macintosh
1518 name is based on the Unix filename — see the HFS MACINTOSH FILENAMES
1519 section below.
1520
1521 When using -apple, the TYPE and CREATOR are stored in the optional Sys‐
1522 tem Use or SUSP field in the ISO9660 Directory Record — in much the
1523 same way as the Rock Ridge attributes are. In fact to make life easy,
1524 the Apple extensions are added at the beginning of the existing Rock
1525 Ridge attributes (i.e., to get the Apple extensions you get the Rock
1526 Ridge extensions as well).
1527
1528 The Apple extensions require the resource fork to be stored as an
1529 ISO9660 associated file. This is just like any normal file stored in
1530 the ISO9660 filesystem except that the associated file flag is set in
1531 the Directory Record (bit 2). This file has the same name as the data
1532 fork (the file seen by non-Apple machines). Associated files are nor‐
1533 mally ignored by other OSs
1534
1535 When using -hfs, the TYPE and CREATOR plus other finder info, are
1536 stored in a separate HFS directory, not visible on the ISO9660 volume.
1537 The HFS directory references the same data and resource fork files
1538 described above.
1539
1540 In most cases, it is better to use -hfs instead of -apple, as the lat‐
1541 ter imposes the limited ISO9660 characters allowed in filenames. How‐
1542 ever, the Apple extensions do give the advantage that the files are
1543 packed on the disk more efficiently and it may be possible to fit more
1544 files on a CD.
1545
1547 Where possible, the HFS filename that is stored with an Apple/Unix file
1548 is used for the HFS part of the CD. However, not all the Apple/Unix
1549 encodings store the HFS filename with the finderinfo. In these cases,
1550 the Unix filename is used — with escaped special characters. Special
1551 characters include `/' and characters with codes over 127.
1552
1553 AUFS escapes these characters by using `:' followed by the character
1554 code as two hex digits. Netatalk and EtherShare have a similar scheme,
1555 but uses `%' instead of a `:'.
1556
1557 If genisoimage cannot find an HFS filename, it uses the Unix name, with
1558 any %xx or :xx characters (xx are two hex digits) converted to a single
1559 character code. If xx are not hex digits ([0-9a-fA-F]), they are left
1560 alone — although any remaining `:' is converted to `%', as `:' is the
1561 HFS directory separator. Care must be taken, as an ordinary Unix file
1562 with %xx or :xx will also be converted. e.g.
1563
1564 This:2fFile converted to This/File
1565
1566 This:File converted to This%File
1567
1568 This:t7File converted to This%t7File
1569
1570 Although HFS filenames appear to support uppercase and lowercase let‐
1571 ters, the filesystem is case-insensitive, i.e., the filenames aBc and
1572 AbC are the same. If a file is found in a directory with the same HFS
1573 name, genisoimage will attempt to make a unique name by adding `_'
1574 characters to one of the filenames.
1575
1576 If an HFS filename exists for a file, genisoimage can use this name as
1577 the starting point for the ISO9660, Joliet and Rock Ridge filenames
1578 using -mac-name. Normal Unix files without an HFS name will still use
1579 their Unix name. e.g.
1580
1581 If a MacBinary (or PC Exchange) file is stored as someimage.gif.bin on
1582 the Unix filesystem, but contains a HFS file called someimage.gif, this
1583 is the name that would appear on the HFS part of the CD. However, as
1584 genisoimage uses the Unix name as the starting point for the other
1585 names, the ISO9660 name generated will probably be SOMEIMAG.BIN and the
1586 Joliet/Rock Ridge would be someimage.gif.bin. This option will use the
1587 HFS filename as the starting point and the ISO9660 name will probably
1588 be SOMEIMAG.GIF and the Joliet/Rock Ridge would be someimage.gif.
1589
1590 -mac-name will not currently work with -T — the Unix name will be used
1591 in the TRANS.TBL file, not the Macintosh name.
1592
1593 The character set used to convert any HFS filename to a Joliet/Rock
1594 Ridge filename defaults to cp10000 (Mac Roman). The character set used
1595 can be specified using -input-hfs-charset. Other built-in HFS charac‐
1596 ter sets are: cp10006 (MacGreek), cp10007 (MacCyrillic), cp10029
1597 (MacLatin2), cp10079 (MacIcelandandic) and cp10081 (MacTurkish).
1598
1599 Note: the character codes used by HFS filenames taken from the various
1600 Apple/Unix formats will not be converted as they are assumed to be in
1601 the correct Apple character set. Only the Joliet/Rock Ridge names
1602 derived from the HFS filenames will be converted.
1603
1604 The existing genisoimage code will filter out any illegal characters
1605 for the ISO9660 and Joliet filenames, but as genisoimage expects to be
1606 dealing directly with Unix names, it leaves the Rock Ridge names as is.
1607 But as `/' is a legal HFS filename character, -mac-name converts `/' to
1608 a `_' in Rock Ridge filenames.
1609
1610 If the Apple extensions are used, only the ISO9660 filenames will
1611 appear on the Macintosh. However, as the Macintosh ISO9660 drivers can
1612 use Level 2 filenames, you can use options like -allow-multidot without
1613 problems on a Macintosh — still take care over the names, for example
1614 this.file.name will be converted to THIS.FILE i.e. only have one `.',
1615 also filename abcdefgh will be seen as ABCDEFGH but abcdefghi will be
1616 seen as ABCDEFGHI. i.e. with a `.' at the end — don't know if this is
1617 a Macintosh problem or a genisoimage/mkhybrid problem. All filenames
1618 will be in uppercase when viewed on a Macintosh. Of course, DOS/Win3.X
1619 machines will not be able to see Level 2 filenames...
1620
1622 To give a HFS CD a custom icon, make sure the root (top level) folder
1623 includes a standard Macintosh volume icon file. To give a volume a cus‐
1624 tom icon on a Macintosh, an icon has to be pasted over the volume's
1625 icon in the "Get Info" box of the volume. This creates an invisible
1626 file called Icon\r (`\r' is the carriage return character) in the root
1627 folder.
1628
1629 A custom folder icon is very similar — an invisible file called Icon\r
1630 exists in the folder itself.
1631
1632 Probably the easiest way to create a custom icon that genisoimage can
1633 use is to format a blank HFS floppy disk on a Mac and paste an icon to
1634 its "Get Info" box. If using Linux with the HFS module installed, mount
1635 the floppy:
1636
1637 mount -t hfs /dev/fd0 /mnt/floppy
1638
1639 The floppy will be mounted as a CAP filesystem by default. Then run
1640 genisoimage using something like:
1641
1642 genisoimage --cap -o output source_dir /mnt/floppy
1643
1644 If you are not using Linux, you can use hfsutils to copy the icon file
1645 from the floppy. However, care has to be taken, as the icon file con‐
1646 tains a control character. For example:
1647
1648 hmount /dev/fd0
1649 hdir -a
1650 hcopy -m Icon^V^M icon_dir/icon
1651
1652 Where `^V^M' is control-V followed by control-M. Then run genisoimage
1653 by using something like:
1654
1655 genisoimage --macbin -o output source_dir icon_dir
1656
1657 The procedure for creating/using custom folder icons is very similar —
1658 paste an icon to folder's "Get Info" box and transfer the resulting
1659 Icon\r file to the relevant directory in the genisoimage source tree.
1660
1661 You may want to hide the icon files from the ISO9660 and Joliet trees.
1662
1663 To give a custom icon to a Joliet CD, follow the instructions found at
1664 http://www.cdrfaq.org/faq03.html#S3-21-1.
1665
1667 It may be possible to make the hybrid CD bootable on a Macintosh.
1668
1669 A bootable HFS CD requires an Apple CD-ROM (or compatible) driver, a
1670 bootable HFS partition and the necessary System, Finder, etc. files.
1671
1672 A driver can be obtained from any other Macintosh bootable CD-ROM using
1673 the apple_driver utility. This file can then be used with
1674 -boot-hfs-file.
1675
1676 The HFS partition (i.e. the hybrid disk in our case) must contain a
1677 suitable System Folder, again from another CD-ROM or disk.
1678
1679 For a partition to be bootable, it must have its boot block set. The
1680 boot block is in the first two blocks of a partition. For a non-
1681 bootable partition the boot block is full of zeros. Normally, when a
1682 System file is copied to partition on a Macintosh disk, the boot block
1683 is filled with a number of required settings — unfortunately I don't
1684 know the full spec for the boot block, so I'm guessing that the follow‐
1685 ing will work.
1686
1687 Therefore, the utility apple_driver also extracts the boot block from
1688 the first HFS partition it finds on the given CD-ROM and this is used
1689 for the HFS partition created by genisoimage.
1690
1691 Please note: By using a driver from an Apple CD and copying Apple soft‐
1692 ware to your CD, you become liable to obey Apple Computer, Inc. Soft‐
1693 ware License Agreements.
1694
1696 When -boot-info-table is given, genisoimage will modify the boot file
1697 specified by -b by inserting a 56-byte boot information table at offset
1698 8 in the file. This modification is done in the source filesystem, so
1699 make sure you use a copy if this file is not easily recreated! This
1700 file contains pointers which may not be easily or reliably obtained at
1701 boot time.
1702
1703 The format of this table is as follows; all integers are in section
1704 7.3.1 ("little endian") format.
1705
1706 Offset Name Size Meaning
1707 8 bi_pvd 4 bytes LBA of primary volume descriptor
1708 12 bi_file 4 bytes LBA of boot file
1709 16 bi_length 4 bytes Boot file length in bytes
1710 20 bi_csum 4 bytes 32-bit checksum
1711 24 bi_reserved 40 bytes Reserved
1712
1713 The 32-bit checksum is the sum of all the 32-bit words in the
1714 boot file starting at byte offset 64. All linear block
1715 addresses (LBAs) are given in CD sectors (normally 2048 bytes).
1716
1718 To make a bootable CD for HPPA, at the very least a boot loader file
1719 (-hppa-bootloader), a kernel image file (32-bit, 64-bit, or both,
1720 depending on hardware) and a boot command line (-hppa-cmdline) must be
1721 specified. Some systems can boot either a 32- or a 64-bit kernel, and
1722 the firmware will choose one if both are present. Optionally, a
1723 ramdisk can be used for the root filesystem using -hppa-cmdline.
1724
1726 Jigdo is a tool to help in the distribution of large files like CD and
1727 DVD images; see http://atterer.net/jigdo/ for more details. Debian CDs
1728 and DVD ISO images are published on the web in jigdo format to allow
1729 end users to download them more efficiently.
1730
1731 To create jigdo and template files alongside the ISO image from
1732 genisoimage, you must first generate a list of the files that will be
1733 used, in the following format:
1734
1735 MD5sum File size Path
1736 32 chars 12 chars to end of line
1737
1738 The MD5sum should be written in jigdo's pseudo-base64 format.
1739 The file size should be in decimal, and the path to the file
1740 must be absolute.
1741
1742 Once you have this file, call genisoimage with all of your normal com‐
1743 mand-line parameters. Specify the output filenames for the jigdo and
1744 template files using -jigdo-jigdo and -jigdo-template, and pass in the
1745 location of your MD5 list with -md5-list.
1746
1747 If there are files that you do NOT want to be added into the jigdo file
1748 (e.g. if they are likely to change often), specify them using
1749 -jigdo-ignore. If you want to verify some of the files as they are
1750 written into the image, specify them using -jigdo-force-md5. If any
1751 files don't match, genisoimage will then abort. Both of these options
1752 take regular expressions as input. It is possible to restrict the set
1753 of files that will be used further based on size — use the
1754 -jigdo-min-file-size option.
1755
1756 Finally, the jigdo code needs to know how to map the files it is given
1757 onto a mirror-style configuration. Specify how to map paths using
1758 -jigdo-map. Using Debian=/mirror/debian will cause all paths starting
1759 with /mirror/debian to be mapped to Debian:<file> in the output jigdo
1760 file.
1761
1763 To create a vanilla ISO9660 filesystem image in the file cd.iso, where
1764 the directory cd_dir will become the root directory if the CD, call:
1765
1766 % genisoimage -o cd.iso cd_dir
1767
1768 To create a CD with Rock Ridge extensions of the source directory
1769 cd_dir:
1770
1771 % genisoimage -o cd.iso -R cd_dir
1772
1773 To create a CD with Rock Ridge extensions of the source directory
1774 cd_dir where all files have at least read permission and all files are
1775 owned by root, call:
1776
1777 % genisoimage -o cd.iso -r cd_dir
1778
1779 To write a tar archive directly to a CD that will later contain a sim‐
1780 ple ISO9660 filesystem with the tar archive call:
1781
1782 % tar cf - . | genisoimage -stream-media-size 333000 | \
1783 wodim dev=b,t,l -dao tsize=333000s -
1784
1785 To create a HFS hybrid CD with the Joliet and Rock Ridge extensions of
1786 the source directory cd_dir:
1787
1788 % genisoimage -o cd.iso -R -J -hfs cd_dir
1789
1790 To create a HFS hybrid CD from the source directory cd_dir that con‐
1791 tains Netatalk Apple/Unix files:
1792
1793 % genisoimage -o cd.iso --netatalk cd_dir
1794
1795 To create a HFS hybrid CD from the source directory cd_dir, giving all
1796 files CREATOR and TYPES based on just their filename extensions listed
1797 in the file "mapping".:
1798
1799 % genisoimage -o cd.iso -map mapping cd_dir
1800
1801 To create a CD with the Apple Extensions to ISO9660, from the source
1802 directories cd_dir and another_dir. Files in all the known Apple/Unix
1803 format are decoded and any other files are given CREATOR and TYPE based
1804 on their magic number given in the file magic:
1805
1806 % genisoimage -o cd.iso -apple -magic magic -probe \
1807 cd_dir another_dir
1808
1809 The following example puts different files on the CD that all have the
1810 name README, but have different contents when seen as a ISO9660/Rock
1811 Ridge, Joliet or HFS CD.
1812
1813 Current directory contains:
1814
1815 % ls -F
1816 README.hfs README.joliet README.Unix cd_dir/
1817
1818 The following command puts the contents of the directory cd_dir on the
1819 CD along with the three README files — but only one will be seen from
1820 each of the three filesystems:
1821
1822 % genisoimage -o cd.iso -hfs -J -r -graft-points \
1823 -hide README.hfs -hide README.joliet \
1824 -hide-joliet README.hfs -hide-joliet README.Unix \
1825 -hide-hfs README.joliet -hide-hfs README.Unix \
1826 README=README.hfs README=README.joliet \
1827 README=README.Unix cd_dir
1828
1829 i.e. the file README.hfs will be seen as README on the HFS CD and the
1830 other two README files will be hidden. Similarly for the Joliet and
1831 ISO9660/Rock Ridge CD.
1832
1833 There are probably all sorts of strange results possible with combina‐
1834 tions of the hide options ...
1835
1837 genisoimage may safely be installed suid root. This may be needed to
1838 allow genisoimage to read the previous session when creating a multi‐
1839 session image.
1840
1841 If genisoimage is creating a filesystem image with Rock Ridge
1842 attributes and the directory nesting level of the source directory tree
1843 is too much for ISO9660, genisoimage will do deep directory relocation.
1844 This results in a directory called RR_MOVED in the root directory of
1845 the CD. You cannot avoid this directory.
1846
1847 Many boot code options for different platforms are mutualy exclusive
1848 because the boot blocks cannot coexist, ie. different platforms share
1849 the same data locations in the image. See
1850 http://lists.debian.org/debian-cd/2006/12/msg00109.html for details.
1851
1853 Any files that have hard links to files not in the tree being copied to
1854 the ISO9660 filesystem will have an incorrect file reference count.
1855
1856 Does not check for SUSP record(s) in `.' entry of the root directory to
1857 verify the existence of Rock Ridge enhancements. This problem is
1858 present when reading old sessions while adding data in multisession
1859 mode.
1860
1861 Does not properly read relocated directories in multisession mode when
1862 adding data. Any relocated deep directory is lost if the new session
1863 does not include the deep directory.
1864
1865 Does not re-use RR_MOVED when doing multisession from TRANS.TBL.
1866
1867 Does not create whole_name entry for RR_MOVED in multisession mode.
1868
1869 There may be other bugs. Please, report them to the maintainers.
1870
1872 I have had to make several assumptions on how I expect the modified
1873 libhfs routines to work, however there may be situations that either I
1874 haven't thought of, or come across when these assumptions fail. There‐
1875 fore I can't guarantee that genisoimage will work as expected (although
1876 I haven't had a major problem yet). Most of the HFS features work fine,
1877 but some are not fully tested. These are marked as Alpha above.
1878
1879 Although HFS filenames appear to support uppercase and lowercase let‐
1880 ters, the filesystem is case-insensitive, i.e., the filenames aBc and
1881 AbC are the same. If a file is found in a directory with the same HFS
1882 name, genisoimage will attempt to make a unique name by adding `_'
1883 characters to one of the filenames.
1884
1885 HFS file/directory names that share the first 31 characters have `_N'
1886 (a decimal number) substituted for the last few characters to generate
1887 unique names.
1888
1889 Care must be taken when "grafting" Apple/Unix files or directories (see
1890 above for the method and syntax involved). It is not possible to use a
1891 new name for an Apple/Unix encoded file/directory. e.g. If a Apple/Unix
1892 encoded file called oldname is to added to the CD, you cannot use the
1893 command line:
1894
1895 genisoimage -o output.raw -hfs -graft-points newname=oldname
1896 cd_dir
1897
1898 genisoimage will be unable to decode oldname. However, you can graft
1899 Apple/Unix encoded files or directories as long as you do not attempt
1900 to give them new names as above.
1901
1902 When creating an HFS volume with the multisession options, -M and -C,
1903 only files in the last session will be in the HFS volume. i.e.
1904 genisoimage cannot add existing files from previous sessions to the HFS
1905 volume.
1906
1907 However, if each session is created with -part, each session will
1908 appear as separate volumes when mounted on a Mac. In this case, it is
1909 worth using -V or -hfs-volid to give each session a unique volume name,
1910 otherwise each "volume" will appear on the Desktop with the same name.
1911
1912 Symbolic links (as with all other non-regular files) are not added to
1913 the HFS directory.
1914
1915 Hybrid volumes may be larger than pure ISO9660 volumes containing the
1916 same data. In some cases (e.g. DVD sized volumes) the difference can be
1917 significant. As an HFS volume gets bigger, so does the allocation block
1918 size (the smallest amount of space a file can occupy). For a 650MB CD,
1919 the allocation block is 10kB, for a 4.7GB DVD it will be about 70kB.
1920
1921 The maximum number of files in an HFS volume is about 65500 — although
1922 the real limit will be somewhat less than this.
1923
1924 The resulting hybrid volume can be accessed on a Unix machine by using
1925 the hfsutils routines. However, no changes can be made to the volume as
1926 it is set as locked. The option -hfs-unlock will create an output
1927 image that is unlocked — however no changes should be made to the con‐
1928 tents of the volume (unless you really know what you are doing) as it's
1929 not a "real" HFS volume.
1930
1931 -mac-name will not currently work with -T — the Unix name will be used
1932 in the TRANS.TBL file, not the Macintosh name.
1933
1934 Although genisoimage does not alter the contents of a file, if a binary
1935 file has its TYPE set as TEXT, it may be read incorrectly on a Macin‐
1936 tosh. Therefore a better choice for the default TYPE may be ????.
1937
1938 -mac-boot-file may not work at all...
1939
1940 May not work with PC Exchange v2.2 or higher files (available with Mac‐
1941 OS 8.1). DOS media containing PC Exchange files should be mounted as
1942 type msdos (not vfat) when using Linux.
1943
1944 The SFM format is only partially supported — see HFS MACINTOSH FILE
1945 FORMATS section above.
1946
1947 It is not possible to use -sparc-boot or -generic-boot with
1948 -boot-hfs-file or -prep-boot.
1949
1950 genisoimage should be able to create HFS hybrid images over 4Gb,
1951 although this has not been fully tested.
1952
1954 genisoimagerc(5), wodim(1), mkzftree(8), magic(5).
1955
1957 genisoimage is derived from mkisofs from the cdrtools 2.01.01a08 pack‐
1958 age from May 2006 (with few updates extracted from cdrtools 2.01.01a24
1959 from March 2007) from .IR http://cdrecord.berlios.de/ , but is now part
1960 of the cdrkit suite, maintained by Joerg Jaspert, Eduard Bloch, Steve
1961 McIntyre, Peter Samuelson, Christian Fromme, Ben Hutchings, and other
1962 contributors. The maintainers can be contacted at debburn-
1963 devel@lists.alioth.debian.org, or see the cdrkit project web site at
1964 http://www.cdrkit.org/.
1965
1966 Eric Youngdale wrote the first versions (1993–1998) of mkisofs. Jörg
1967 Schilling wrote the SCSI transport library and its interface, and has
1968 maintained mkisofs since 1999. James Pearson wrote the HFS hybrid
1969 code, using libhfs by Robert Leslie. Pearson, Schilling, Jungshik Shin
1970 and Jaakko Heinonen contributed to the character set conversion code.
1971 The cdrkit maintainers have maintained genisoimage since 2006.
1972
1973 Copyright 1993-1998 by Yggdrasil Computing, Inc.
1974 Copyright 1996-1997 by Robert Leslie
1975 Copyright 1997-2001 by James Pearson
1976 Copyright 1999-2006 by Jörg Schilling
1977 Copyright 2007 by Jörg Schilling (originating few updates)
1978 Copyright 2002-2003 by Jungshik Shin
1979 Copyright 2003 by Jaakko Heinonen
1980 Copyright 2006 by the Cdrkit maintainers
1981
1982 If you want to take part in the development of genisoimage, you may
1983 join the cdrkit developer mailing list by following the instructions on
1984 http://alioth.debian.org/mail/?group_id=31006. The email address of
1985 the list is debburn-devel@lists.alioth.debian.org. This is also the
1986 address for user support questions. Note that cdrkit and cdrtools are
1987 not affiliated.
1988
1990 UNIX is a registered trademark of The Open Group in the US and other
1991 countries.
1992
1993
1994
1995 13 Dec 2006 GENISOIMAGE(1)