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 -jigdo-template-compress algorithm
579 Specify a compression algorithm to use for template date. gzip
580 and bzip2 are currently supported, and gzip is the default. See
581 the JIGDO NOTES section below for more information.
582
583 -log-file log_file
584 Redirect all error, warning and informational messages to
585 log_file instead of the standard error.
586
587 -m glob
588 Exclude files matching glob, a shell wildcard pattern, from
589 being written to CD-ROM. glob may match either the filename
590 component or the full pathname. This option may be used multi‐
591 ple times. For example:
592
593 genisoimage -o rom -m '*.o' -m core -m foobar
594
595 would exclude all files ending in `.o', or called core or foobar
596 from the image. Note that if you had a directory called foobar,
597 it too (and of course all its descendants) would be excluded.
598
599 -exclude-list file
600 A file containing a list of shell wildcards to be excluded. See
601 -m.
602
603 -max-iso9660-filenames
604 Allow ISO9660 filenames to be up to 37 characters long. This
605 option enables -N as the extra name space is taken from the
606 space reserved for file version numbers.
607 This violates the ISO9660 standard, but it happens to work on
608 many systems. Although a conforming application needs to pro‐
609 vide a buffer space of at least 37 characters, discs created
610 with this option may cause a buffer overflow in the reading
611 operating system. Use with extreme care.
612
613 -M path
614
615 -M device
616
617 -dev device
618 Specifies path to existing ISO9660 image to be merged. The
619 alternate form takes a SCSI device specifier that uses the same
620 syntax as the dev= parameter of wodim. The output of genisoim‐
621 age will be a new session which should get written to the end of
622 the image specified in -M. Typically this requires multisession
623 capability for the CD recorder used to write the image. This
624 option may only be used in conjunction with -C.
625
626 -N Omit version numbers from ISO9660 filenames.
627 This violates the ISO9660 standard, but no one really uses the
628 version numbers anyway. Use with caution.
629
630 -new-dir-mode mode
631 Specify the mode, a 4-digit number as used in chmod(1), to use
632 when creating new directories in the filesystem image. The
633 default is 0555.
634
635 -nobak
636
637 -no-bak
638 Exclude backup files files on the ISO9660 filesystem; that is,
639 filenames that contain the characters `~' or `#' or end in .bak.
640 These are typically backup files for Unix text editors.
641
642 -force-rr
643 Do not use the automatic Rock Ridge attributes recognition for
644 previous sessions. This can work around problems with images
645 created by, e.g., NERO Burning ROM.
646
647 -no-rr Do not use the Rock Ridge attributes from previous sessions.
648 This may help to avoid problems when genisoimage finds illegal
649 Rock Ridge signatures on an old session.
650
651 -no-split-symlink-components
652 Don't split the symlink components, but begin a new Continuation
653 Area (CE) instead. This may waste some space, but the SunOS
654 4.1.4 cdrom driver has a bug in reading split symlink compo‐
655 nents.
656
657 It is questionable whether this option is useful nowadays.
658
659 -no-split-symlink-fields
660 Don't split the symlink fields, but begin a new Continuation
661 Area (CE) instead. This may waste some space, but the SunOS
662 4.1.4 and Solaris 2.5.1 cdrom driver have a bug in reading split
663 symlink fields (a `/' can be dropped).
664
665 It is questionable whether this option is useful nowadays.
666
667 -o filename
668 Specify the output file for the the ISO9660 filesystem image.
669 This can be a disk file, a tape drive, or it can correspond
670 directly to the device name of the optical disc writer. If not
671 specified, stdout is used. Note that the output can also be a
672 block device for a regular disk partition, in which case the
673 ISO9660 filesystem can be mounted normally to verify that it was
674 generated correctly.
675
676 -pad Pad the end of the whole image by 150 sectors (300 kB). This
677 option is enabled by default. If used in combination with -B,
678 padding is inserted between the ISO9660 partition and the boot
679 partitions, such that the first boot partition starts on a sec‐
680 tor number that is a multiple of 16.
681
682 The padding is needed as many operating systems (e.g. Linux)
683 implement read-ahead bugs in their filesystem I/O. These bugs
684 result in read errors on files that are located near the end of
685 a track, particularly if the disc is written in Track At Once
686 mode, or where a CD audio track follows the data track.
687
688 -no-pad
689 Do not pad the end by 150 sectors (300 kB) and do not make the
690 the boot partitions start on a multiple of 16 sectors.
691
692 -path-list file
693 A file containing a list of pathspec directories and filenames
694 to be added to the ISO9660 filesystem. This list of pathspecs
695 are processed after any that appear on the command line. If the
696 argument is -, the list is read from the standard input.
697
698 -P Outdated option; use -publisher instead.
699
700 -publisher publisher_id
701 Specifies a text string that will be written into the volume
702 header. This should describe the publisher of the CD-ROM, usu‐
703 ally with a mailing address and phone number. There is space
704 for 128 characters. Equivalent to PUBL in the .genisoimagerc
705 file.
706
707 -p preparer_id
708 Specifies a text string that will be written into the volume
709 header. This should describe the preparer of the CD-ROM, usu‐
710 ally with a mailing address and phone number. There is space
711 for 128 characters. Equivalent to PREP in the .genisoimagerc
712 file.
713
714 -print-size
715 Print estimated filesystem size in multiples of the sector size
716 (2048 bytes) and exit. This option is needed for Disk At Once
717 mode and with some CD-R drives when piping directly into wodim,
718 cases where wodim needs to know the size of the filesystem image
719 in advance. Old versions of mkisofs wrote this information
720 (among other information) to stderr. As this turns out to be
721 hard to parse, the number without any other information is now
722 printed on stdout too. If you like to write a simple shell
723 script, redirect stderr and catch the number from stdout. This
724 may be done with:
725
726 cdblocks=` genisoimage -print-size -quiet ... `
727 genisoimage ... | wodim ... tsize=${cdblocks}s -
728
729 -quiet This makes genisoimage even less verbose. No progress output
730 will be provided.
731
732 -R Generate SUSP and RR records using the Rock Ridge protocol to
733 further describe the files on the ISO9660 filesystem.
734
735 -r This is like the -R option, but file ownership and modes are set
736 to more useful values. The uid and gid are set to zero, because
737 they are usually only useful on the author's system, and not
738 useful to the client. All the file read bits are set true, so
739 that files and directories are globally readable on the client.
740 If any execute bit is set for a file, set all of the execute
741 bits, so that executables are globally executable on the client.
742 If any search bit is set for a directory, set all of the search
743 bits, so that directories are globally searchable on the client.
744 All write bits are cleared, because the filesystem will be
745 mounted read-only in any case. If any of the special mode bits
746 are set, clear them, because file locks are not useful on a
747 read-only filesystem, and set-id bits are not desirable for uid
748 0 or gid 0. When used on Win32, the execute bit is set on all
749 files. This is a result of the lack of file permissions on Win32
750 and the Cygwin POSIX emulation layer. See also -uid, -gid,
751 -dir-mode, -file-mode and -new-dir-mode.
752
753 -relaxed-filenames
754 Allows ISO9660 filenames to include all 7-bit ASCII characters
755 except lowercase letters.
756 This violates the ISO9660 standard, but it happens to work on
757 many systems. Use with caution.
758
759 -root dir
760 Moves all files and directories into dir in the image. This is
761 essentially the same as using -graft-points and adding dir in
762 front of every pathspec, but is easier to use. dir may actually
763 be several levels deep. It is created with the same permissions
764 as other graft points.
765
766 -old-root dir
767 This option is necessary when writing a multisession image and
768 the previous (or even older) session was written with -root dir.
769 Using a directory name not found in the previous session causes
770 genisoimage to abort with an error. Without this option,
771 genisoimage would not be able to find unmodified files and would
772 be forced to write their data into the image once more. -root
773 and -old-root are meant to be used together to do incremental
774 backups. The initial session would e.g. use: genisoimage -root
775 backup_1 dirs. The next incremental backup with genisoimage
776 -root backup_2 -old-root backup_1 dirs would take another snap‐
777 shot of these directories. The first snapshot would be found in
778 backup_1, the second one in backup_2, but only modified or new
779 files need to be written into the second session. Without these
780 options, new files would be added and old ones would be pre‐
781 served. But old ones would be overwritten if the file was modi‐
782 fied. Recovering the files by copying the whole directory back
783 from CD would also restore files that were deleted intention‐
784 ally. Accessing several older versions of a file requires sup‐
785 port by the operating system to choose which sessions are to be
786 mounted.
787
788 -sort sort_file
789 Sort file locations on the media. Sorting is controlled by a
790 file that contains pairs of filenames and sorting offset weight‐
791 ing. If the weighting is higher, the file will be located
792 closer to the beginning of the media, if the weighting is lower,
793 the file will be located closer to the end of the media. There
794 must be only one space or tabs character between the filename
795 and the weight and the weight must be the last characters on a
796 line. The filename is taken to include all the characters up to,
797 but not including the last space or tab character on a line.
798 This is to allow for space characters to be in, or at the end of
799 a filename. This option does not sort the order of the file‐
800 names that appear in the ISO9660 directory. It sorts the order
801 in which the file data is written to the CD image, which is use‐
802 ful in order to optimize the data layout on a CD. See
803 README.sort for more details.
804
805 -sparc-boot img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
806 See -B above.
807
808 -sparc-label label
809 Set the Sun disk label name for the Sun disk label that is cre‐
810 ated with -sparc-boot.
811
812 -split-output
813 Split the output image into several files of approximately 1 GB
814 each. This helps to create DVD-sized ISO9660 images on operat‐
815 ing systems without large file support. wodim will concatenate
816 more than one file into a single track if writing to a DVD. To
817 make -split-output work, -o filename must be specified. The
818 resulting output images will be named: filename_00, filename_01,
819 filename_02....
820
821 -stream-media-size #
822 Select streaming operation and set the media size to # sectors.
823 This allows you to pipe the output of the tar(1) program into
824 genisoimage and to create an ISO9660 filesystem without the need
825 of an intermediate tar archive file. If this option has been
826 specified, genisoimage reads from stdin and creates a file with
827 the name STREAM.IMG. The maximum size of the file (with pad‐
828 ding) is 200 sectors less than the specified media size. If
829 -no-pad has been specified, the file size is 50 sectors less
830 than the specified media size. If the file is smaller,
831 genisoimage will write padding. This may take awhile.
832
833 The option -stream-media-size creates simple ISO9660 filesystems
834 only and may not used together with multisession or hybrid
835 filesystem options.
836
837 -stream-file-name name
838 Reserved for future use.
839
840 -sunx86-boot UFS_img,,,AUX1_img
841 Specifies a comma-separated list of filesystem images that are
842 needed to make a bootable CD for Solaris x86 systems.
843
844 Note that partition 1 is used for the ISO9660 image and that
845 partition 2 is the whole disk, so partition 1 and 2 may not be
846 used by external partition data. The first image file is mapped
847 to partition 0. There may be empty fields in the comma-sepa‐
848 rated list, and list entries for partition 1 and 2 must be
849 empty. The maximum number of supported partitions is 8
850 (although the Solaris x86 partition table could support up to 16
851 partitions), so it is impossible to specify more than 6 parti‐
852 tion images. This option is required to make a bootable CD for
853 Solaris x86 systems.
854
855 If -sunx86-boot has been specified, the first sector of the
856 resulting image will contain a PC fdisk label with a Solaris
857 type 0x82 fdisk partition that starts at offset 512 and spans
858 the whole CD. In addition, for the Solaris type 0x82 fdisk par‐
859 tition, there is a SVr4 disk label at offset 1024 in the first
860 sector of the CD. This disk label specifies slice 0 for the
861 first (usually UFS type) filesystem image that is used to boot
862 the PC and slice 1 for the ISO9660 image. Slice 2 spans the
863 whole CD slice 3 ... slice 7 may be used for additional filesys‐
864 tem images that have been specified with this option.
865
866 A Solaris x86 boot CD uses a 1024 byte sized primary boot that
867 uses the El-Torito no-emulation boot mode and a secondary
868 generic boot that is in CD sectors 1..15. For this reason, both
869 -b bootimage -no-emul-boot and -G genboot must be specified.
870
871 -sunx86-label label
872 Set the SVr4 disk label name for the SVr4 disk label that is
873 created with -sunx86-boot.
874
875 -sysid ID
876 Specifies the system ID. There is space for 32 characters.
877 Equivalent to SYSI in the .genisoimagerc file.
878
879 -T Generate a file TRANS.TBL in each directory on the CD-ROM, which
880 can be used on non-Rock Ridge-capable systems to help establish
881 the correct filenames. There is also information present in the
882 file that indicates the major and minor numbers for block and
883 character devices, and each symlink has the name of the link
884 file given.
885
886 -table-name table_name
887 Alternative translation table filename (see above). Implies -T.
888 If you are creating a multisession image you must use the same
889 name as in the previous session.
890
891 -ucs-level level
892 Set Unicode conformance level in the Joliet SVD. The default
893 level is 3. It may be set to 1..3 using this option.
894
895 -udf Include UDF filesystem support in the generated filesystem
896 image. UDF support is currently in alpha status and for this
897 reason, it is not possible to create UDF-only images. UDF data
898 structures are currently coupled to the Joliet structures, so
899 there are many pitfalls with the current implementation. There
900 is no UID/GID support, there is no POSIX permission support,
901 there is no support for symlinks. Note that UDF wastes the
902 space from sector ~20 to sector 256 at the beginning of the disc
903 in addition to the space needed for real UDF data structures.
904
905 -uid uid
906 Overrides the uid read from the source files to the value of
907 uid. Specifying this option automatically enables Rock Ridge
908 extensions.
909
910 -use-fileversion
911 The option -use-fileversion allows genisoimage to use file ver‐
912 sion numbers from the filesystem. If the option is not speci‐
913 fied, genisoimage creates a version number of 1 for all files.
914 File versions are strings in the range ;1 to ;32767 This option
915 is the default on VMS.
916
917 -U Allows "untranslated" filenames, completely violating the
918 ISO9660 standards described above. Enables the following flags:
919 -d -l -N -allow-leading-dots -relaxed-filenames -allow-lowercase
920 -allow-multidot -no-iso-translate. Allows more than one `.'
921 character in the filename, as well as mixed-case filenames.
922 This is useful on HP-UX, where the built-in cdfs filesystem does
923 not recognize any extensions. Use with extreme caution.
924
925 -no-iso-translate
926 Do not translate the characters `#' and `~' which are invalid
927 for ISO9660 filenames. Although invalid, these characters are
928 often used by Microsoft systems.
929 This violates the ISO9660 standard, but it happens to work on
930 many systems. Use with caution.
931
932 -V volid
933 Specifies the volume ID (volume name or label) to be written
934 into the master block. There is space for 32 characters.
935 Equivalent to VOLI in the .genisoimagerc file. The volume ID is
936 used as the mount point by the Solaris volume manager and as a
937 label assigned to a disc on various other platforms such as Win‐
938 dows and Apple Mac OS.
939
940 -volset ID
941 Specifies the volume set ID. There is space for 128 characters.
942 Equivalent to VOLS in the .genisoimagerc file.
943
944 -volset-size #
945 Sets the volume set size to #. The volume set size is the num‐
946 ber of CDs that are in a CD volume set. A volume set is a col‐
947 lection of one or more volumes, on which a set of files is
948 recorded.
949
950 Volume Sets are not intended to be used to create a set numbered
951 CDs that are part of e.g. a Operation System installation set of
952 CDs. Volume Sets are rather used to record a big directory tree
953 that would not fit on a single volume. Each volume of a Volume
954 Set contains a description of all the directories and files that
955 are recorded on the volumes where the sequence numbers are less
956 than, or equal to, the assigned Volume Set Size of the current
957 volume.
958
959 genisoimage currently does not support a -volset-size that is
960 larger than 1.
961
962 The option -volset-size must be specified before -volset-seqno
963 on each command line.
964
965 -volset-seqno #
966 Sets the volume set sequence number to #. The volume set
967 sequence number is the index number of the current CD in a CD
968 set. The option -volset-size must be specified before
969 -volset-seqno on each command line.
970
971 -v Verbose execution. If given twice on the command line, extra
972 debug information will be printed.
973
974 -x glob
975 Identical to -m glob.
976
977 -z Generate special RRIP records for transparently compressed
978 files. This is only of use and interest for hosts that support
979 transparent decompression, such as Linux 2.4.14 or later. You
980 must specify -R or -r to enable Rock Ridge, and generate com‐
981 pressed files using the mkzftree utility before running
982 genisoimage. Note that transparent compression is a nonstandard
983 Rock Ridge extension. The resulting disks are only transpar‐
984 ently readable if used on Linux. On other operating systems you
985 will need to call mkzftree by hand to decompress the files.
986
988 -hfs Create an ISO9660/HFS hybrid CD. This option should be used in
989 conjunction with the -map, -magic and/or the various double dash
990 options given below.
991
992 -apple Create an ISO9660 CD with Apple's extensions. Similar to -hfs,
993 except that the Apple Extensions to ISO9660 are added instead of
994 creating an HFS hybrid volume. Former genisoimage versions did
995 include Rock Ridge attributes by default if -apple was speci‐
996 fied. This versions of genisoimage does not do this anymore. If
997 you like to have Rock Ridge attributes, you need to specify this
998 separately.
999
1000 -map mapping_file
1001 Use the mapping_file to set the CREATOR and TYPE information for
1002 a file based on the filename's extension. A filename is mapped
1003 only if it is not one of the know Apple/Unix file formats. See
1004 the HFS CREATOR/TYPE section below.
1005
1006 -magic magic_file
1007 The CREATOR and TYPE information is set by using a file's magic
1008 number (usually the first few bytes of a file). The magic_file
1009 is only used if a file is not one of the known Apple/Unix file
1010 formats, or the filename extension has not been mapped using
1011 -map. See the HFS CREATOR/TYPE section below for more details.
1012
1013 -hfs-creator creator
1014 Set the default CREATOR for all files. Must be exactly 4 charac‐
1015 ters. See the HFS CREATOR/TYPE section below for more details.
1016
1017 -hfs-type type
1018 Set the default TYPE for all files. Must be exactly 4 charac‐
1019 ters. See the HFS CREATOR/TYPE section below for more details.
1020
1021 -probe Search the contents of files for all the known Apple/Unix file
1022 formats. See the HFS MACINTOSH FILE FORMATS section below for
1023 more about these formats. However, the only way to check for
1024 MacBinary and AppleSingle files is to open and read them, so
1025 this option may increase processing time. It is better to use
1026 one or more double dash options given below if the Apple/Unix
1027 formats in use are known.
1028
1029 -no-desktop
1030 Do not create (empty) Desktop files. New HFS Desktop files will
1031 be created when the CD is used on a Macintosh (and stored in the
1032 System Folder). By default, empty Desktop files are added to
1033 the HFS volume.
1034
1035 -mac-name
1036 Use the HFS filename as the starting point for the ISO9660,
1037 Joliet and Rock Ridge filenames. See the HFS MACINTOSH FILENAMES
1038 section below for more information.
1039
1040 -boot-hfs-file driver_file
1041 Installs the driver_file that may make the CD bootable on a Mac‐
1042 intosh. See the HFS BOOT DRIVER section below. (Alpha).
1043
1044 -part Generate an HFS partition table. By default, no partition table
1045 is generated, but some older Macintosh CD-ROM drivers need an
1046 HFS partition table on the CD-ROM to be able to recognize a
1047 hybrid CD-ROM.
1048
1049 -auto AutoStart_file
1050 Make the HFS CD use the QuickTime 2.0 Autostart feature to
1051 launch an application or document. The given filename must be
1052 the name of a document or application located at the top level
1053 of the CD. The filename must be less than 12 characters.
1054 (Alpha).
1055
1056 -cluster-size size
1057 Set the size in bytes of the cluster or allocation units of PC
1058 Exchange files. Implies --exchange. See the HFS MACINTOSH FILE
1059 FORMATS section below.
1060
1061 -hide-hfs glob
1062 Hide glob, a shell wildcard pattern, from the HFS volume. The
1063 file or directory will still exist in the ISO9660 and/or Joliet
1064 directory. glob may match any part of the filename. Multiple
1065 globs may be excluded. Example:
1066
1067 genisoimage -o rom -hfs -hide-hfs '*.o' -hide-hfs foobar
1068
1069 would exclude all files ending in `.o' or called foobar from the
1070 HFS volume. Note that if you had a directory called foobar, it
1071 too (and of course all its descendants) would be excluded. The
1072 glob can also be a path name relative to the source directories
1073 given on the command line. Example:
1074
1075 genisoimage -o rom -hfs -hide-hfs src/html src
1076
1077 would exclude just the file or directory called html from the
1078 src directory. Any other file or directory called html in the
1079 tree will not be excluded. Should be used with -hide and/or
1080 -hide-joliet. In order to match a directory name, make sure the
1081 pattern does not include a trailing `/' character. See
1082 README.hide for more details.
1083
1084 -hide-hfs-list file
1085 Specify a file containing a list of wildcard patterns to be hid‐
1086 den as in -hide-hfs.
1087
1088 -hfs-volid hfs_volid
1089 Volume name for the HFS partition. This is the name that is
1090 assigned to the disc on a Macintosh and replaces the volid used
1091 with -V.
1092
1093 -icon-position
1094 Use the icon position information, if it exists, from the
1095 Apple/Unix file. The icons will appear in the same position as
1096 they would on a Macintosh desktop. Folder location and size on
1097 screen, its scroll positions, folder View (view as Icons, Small
1098 Icons, etc.) are also preserved. (Alpha).
1099
1100 -root-info file
1101 Set the location, size on screen, scroll positions, folder View
1102 etc. for the root folder of an HFS volume. See README.rootinfo
1103 for more information. (Alpha)
1104
1105 -prep-boot file
1106 PReP boot image file. Up to 4 are allowed. See README.prep_boot
1107 for more information. (Alpha)
1108
1109 -chrp-boot
1110 Add CHRP boot header.
1111
1112 -input-hfs-charset charset
1113 Input charset that defines the characters used in HFS filenames
1114 when used with -mac-name. The default charset is cp10000 (Mac
1115 Roman). See the CHARACTER SETS and HFS MACINTOSH FILENAMES sec‐
1116 tions below for more details.
1117
1118 -output-hfs-charset charset
1119 Output charset that defines the characters that will be used in
1120 the HFS filenames. Defaults to the input charset. See the CHAR‐
1121 ACTER SETS section below for more details.
1122
1123 -hfs-unlock
1124 By default, genisoimage will create an HFS volume that is
1125 locked. This option leaves the volume unlocked so that other
1126 applications (e.g. hfsutils) can modify the volume. See the HFS
1127 PROBLEMS/LIMITATIONS section below for warnings about using this
1128 option.
1129
1130 -hfs-bless folder_name
1131 "Bless" the given directory (folder). This is usually the System
1132 Folder and is used in creating HFS bootable CDs. The name of the
1133 directory must be the whole path name as genisoimage sees it.
1134 E.g., if the given pathspec is ./cddata and the required folder
1135 is called System Folder, the whole path name is "/cddata/System
1136 Folder" (remember to use quotes if the name contains spaces).
1137
1138 -hfs-parms parameters
1139 Override certain parameters used to create the HFS filesystem.
1140 Unlikely to be used in normal circumstances. See the lib‐
1141 hfs_iso/hybrid.h source file for details.
1142
1143 --cap Look for AUFS CAP Macintosh files. Search for CAP Apple/Unix
1144 file formats only. Searching for the other possible Apple/Unix
1145 file formats is disabled, unless other double dash options are
1146 given.
1147
1148 --netatalk
1149 Look for NETATALK Macintosh files
1150
1151 --double
1152 Look for AppleDouble Macintosh files
1153
1154 --ethershare
1155 Look for Helios EtherShare Macintosh files
1156
1157 --ushare
1158 Look for IPT UShare Macintosh files
1159
1160 --exchange
1161 Look for PC Exchange Macintosh files
1162
1163 --sgi Look for SGI Macintosh files
1164
1165 --xinet
1166 Look for XINET Macintosh files
1167
1168 --macbin
1169 Look for MacBinary Macintosh files
1170
1171 --single
1172 Look for AppleSingle Macintosh files
1173
1174 --dave Look for Thursby Software Systems DAVE Macintosh files
1175
1176 --sfm Look for Microsoft's Services for Macintosh files (NT only)
1177 (Alpha)
1178
1179 --osx-double
1180 Look for Mac OS X AppleDouble Macintosh files
1181
1182 --osx-hfs
1183 Look for Mac OS X HFS Macintosh files
1184
1186 genisoimage processes filenames in a POSIX-compliant way as strings of
1187 8-bit characters. To represent all codings for all languages, 8-bit
1188 characters are not sufficient. Unicode or ISO-10646 define character
1189 codings that need at least 21 bits to represent all known languages.
1190 They may be represented with UTF-32, UTF-16 or UTF-8 coding. UTF-32
1191 uses a plain 32-bit coding but seems to be uncommon. UTF-16 is used by
1192 Microsoft with Win32 with the disadvantage that 16-bit characters are
1193 not compliant with the POSIX filesystem interface.
1194
1195 Modern Unix operating systems may use UTF-8 coding for filenames. Each
1196 32-bit character is represented by one or more 8-bit characters. If a
1197 character is coded in ISO-8859-1 (used in Central Europe and North
1198 America) is maps 1:1 to a UTF-32 or UTF-16 coded Unicode character. If
1199 a character is coded in 7-Bit ASCII (used in USA and other countries
1200 with limited character set) is maps 1:1 to a UTF-32, UTF-16 or UTF-8
1201 coded Unicode character. Character codes that cannot be represented as
1202 a single byte in UTF-8 (if the value is > 0x7F) use escape sequences
1203 that map to more than one 8-bit character.
1204
1205 If all operating systems used UTF-8, genisoimage would not need to
1206 recode characters in filenames. Unfortunately, Apple uses completely
1207 nonstandard codings and Microsoft uses a Unicode coding that is not
1208 compatible with the POSIX filename interface.
1209
1210 For all non-UTF-8-coded operating systems, the actual character that
1211 each byte represents depends on the character set or codepage (the name
1212 used by Microsoft) used by the local operating system — the characters
1213 in a character set will reflect the region or natural language set by
1214 the user.
1215
1216 Usually character codes 0x00-0x1f are control characters, codes
1217 0x20-0x7f are the 7-bit ASCII characters and (on PCs and Macs)
1218 0x80-0xff are used for other characters.
1219
1220 As there are a lot more than 256 characters/symbols in use, only a
1221 small subset are represented in a character set. Therefore the same
1222 character code may represent a different character in different charac‐
1223 ter sets. So a filename generated, say in central Europe, may not dis‐
1224 play the same character when viewed on a machine in, say eastern
1225 Europe.
1226
1227 To make matters more complicated, different operating systems use dif‐
1228 ferent character sets for the region or language. For example, the
1229 character code for `é' (small e with acute accent) may be character
1230 code 0x82 on a PC, code 0x8e on a Macintosh, code 0xe9 on a Unix system
1231 in western Europe, and code 0x000e9 in Unicode.
1232
1233 As long as not all operating systems and applications use the same
1234 character set as the basis for filenames, it may be necessary to spec‐
1235 ify which character set your filenames use in and which character set
1236 the filenames should appear on the CD.
1237
1238 There are four options to specify the character sets you want to use:
1239
1240 -input-charset
1241 Defines the local character set you are using on your host
1242 machine. Any character set conversions that take place will use
1243 this character set as the starting point. The default input
1244 character sets are cp437 on MS-DOS-based systems and iso8859-1
1245 on all other systems. If -J is given, the Unicode equivalents
1246 of the input character set will be used in the Joliet directory.
1247 -jcharset is the same as -input-charset -J.
1248
1249 -output-charset
1250 Defines the character set that will be used with for the Rock
1251 Ridge names on the CD. Defaults to the input character set.
1252
1253 -input-hfs-charset
1254 Defines the HFS character set used for HFS filenames decoded
1255 from any of the various Apple/Unix file formats. Only useful
1256 when used with -mac-name. See the HFS MACINTOSH FILENAMES for
1257 more information. Defaults to cp10000 (Mac Roman).
1258
1259 -output-hfs-charset
1260 Defines the HFS character set used to create HFS filenames from
1261 the input character set in use. In most cases this will be from
1262 the character set given with -input-charset. Defaults to the
1263 input HFS character set.
1264
1265 There are a number of character sets built in to genisoimage. To get a
1266 listing, use -input-charset help. This list doesn't include the
1267 charset derived from the current locale, if genisoimage is built with
1268 iconv support.
1269
1270 Additional character sets can be read from file for any of the charac‐
1271 ter set options by giving a filename as the argument to the options.
1272 The given file will only be read if its name does not match one of the
1273 built-in character sets.
1274
1275 The format of the character set files is the same as the mapping files
1276 available from http://www.unicode.org/Public/MAPPINGS. This format is:
1277
1278 Column #1 is the input byte code (in hex as 0xXX)
1279 Column #2 is the Unicode (in hex as 0xXXXX)
1280 The rest of the line is ignored.
1281
1282 Any blank line, line without two (or more) columns in the above format
1283 or comments lines (starting with the # character) are ignored without
1284 any warnings. Any missing input code is mapped to Unicode character
1285 0x0000.
1286
1287 Note that, while UTF-8 is supported, other Unicode encodings such as
1288 UCS-2/UTF-16 and UCS-4/UTF-32 are not, as POSIX operating systems can‐
1289 not handle them natively.
1290
1291 A 1:1 character set mapping can be defined by using the keyword default
1292 as the argument to any of the character set options. This is the behav‐
1293 iour of old versions of mkisofs.
1294
1295 The ISO9660 filenames generated from the input filenames are not con‐
1296 verted from the input character set. The ISO9660 character set is a
1297 very limited subset of the ASCII characters, so any conversion would be
1298 pointless.
1299
1300 Any character that genisoimage cannot convert will be replaced with a
1301 `_' character.
1302
1304 A Macintosh file has two properties associated with it which define
1305 which application created the file, the CREATOR and what data the file
1306 contains, the TYPE. Both are (exactly) 4 letter strings. Usually this
1307 allows a Macintosh user to double-click on a file and launch the cor‐
1308 rect application etc. The CREATOR and TYPE of a particular file can be
1309 found by using something like ResEdit (or similar) on a Macintosh.
1310
1311 The CREATOR and TYPE information is stored in all the various
1312 Apple/Unix encoded files. For other files it is possible to base the
1313 CREATOR and TYPE on the filename's extension using a mapping file (with
1314 -map) and/or using the magic number (usually a signature in the first
1315 few bytes) of a file (with -magic). If both these options are given,
1316 their order on the command line is significant. If -map is given
1317 first, a filename extension match is attempted before a magic number
1318 match. However, if -magic is given first, a magic number match is
1319 attempted before a filename extension match.
1320
1321 If a mapping or magic file is not used, or no match is found, the
1322 default CREATOR and TYPE for all regular files can be set by using
1323 entries in the .genisoimagerc file or using -hfs-creator and/or
1324 -hfs-type, otherwise the default CREATOR and TYPE are Unix and TEXT.
1325
1326 The format of the mapping file is the same afpfile format as used by
1327 aufs. This file has five columns for the extension, file translation,
1328 CREATOR, TYPE and Comment. Lines starting with the `#' character are
1329 comment lines and are ignored. An example file would be like:
1330
1331 # Example filename mapping file
1332 #
1333 # EXTN XLate CREATOR TYPE Comment
1334 .tif Raw '8BIM' 'TIFF' "Photoshop TIFF image"
1335 .hqx Ascii 'BnHq' 'TEXT' "BinHex file"
1336 .doc Raw 'MSWD' 'WDBN' "Word file"
1337 .mov Raw 'TVOD' 'MooV' "QuickTime Movie"
1338 * Ascii 'ttxt' 'TEXT' "Text file"
1339
1340 Where:
1341
1342 The first column EXTN defines the Unix filename extension to be
1343 mapped. The default mapping for any filename extension that
1344 doesn't match is defined with the `*' character.
1345
1346 The Xlate column defines the type of text translation between
1347 the Unix and Macintosh file it is ignored by genisoimage, but is
1348 kept to be compatible with aufs(1). Although genisoimage does
1349 not alter the contents of a file, if a binary file has its TYPE
1350 set as TEXT, it may be read incorrectly on a Macintosh. There‐
1351 fore a better choice for the default TYPE may be ????.
1352
1353 The CREATOR and TYPE keywords must be 4 characters long and
1354 enclosed in single quotes.
1355
1356 The comment field is enclosed in double quotes — it is ignored
1357 by genisoimage, but is kept to be compatible with aufs.
1358
1359 The format of the magic file is almost identical to the magic(5) file
1360 used by the file(1) command.
1361
1362 This file has four tab-separated columns for the byte offset, type,
1363 test and message. Lines starting with the `#' character are comment
1364 lines and are ignored. An example file would be like:
1365
1366 # Example magic file
1367 #
1368 # off type test message
1369 0 string GIF8 8BIM GIFf GIF image
1370 0 beshort 0xffd8 8BIM JPEG image data
1371 0 string SIT! SIT! SIT! StuffIt Archive
1372 0 string \037\235 LZIV ZIVU standard Unix compress
1373 0 string \037\213 GNUz ZIVU gzip compressed data
1374 0 string %! ASPS TEXT Postscript
1375 0 string \004%! ASPS TEXT PC Postscript with a ^D to start
1376 4 string moov txtt MooV QuickTime movie file (moov)
1377 4 string mdat txtt MooV QuickTime movie file (mdat)
1378
1379 The format of the file is described in magic(5). The only difference
1380 here is that for each entry in the magic file, the message for the ini‐
1381 tial offset must be be 4 characters for the CREATOR followed by 4 char‐
1382 acters for the TYPE — white space is optional between them. Any other
1383 characters on this line are ignored. Continuation lines (starting with
1384 a `>') are also ignored, i.e., only the initial offset lines are used.
1385
1386 Using -magic may significantly increase processing time as each file
1387 has to opened and read to find its magic number.
1388
1389 In summary, for all files, the default CREATOR is Unix and the default
1390 TYPE is TEXT. These can be changed by using entries in the .genisoim‐
1391 agerc file or by using -hfs-creator and/or -hfs-type.
1392
1393 If the a file is in one of the known Apple/Unix formats (and the format
1394 has been selected), the CREATOR and TYPE are taken from the values
1395 stored in the Apple/Unix file.
1396
1397 Other files can have their CREATOR and TYPE set from their filename
1398 extension (with -map), or their magic number (with -magic). If the
1399 default match is used in the mapping file, these values override the
1400 default CREATOR and TYPE.
1401
1402 A full CREATOR/TYPE database can be found at
1403 http://www.angelfire.com/il/szekely/.
1404
1406 Macintosh files have two parts called the Data and Resource fork.
1407 Either may be empty. Unix (and many other OSs) can only cope with files
1408 having one part (or fork). To add to this, Macintosh files have a num‐
1409 ber of attributes associated with them — probably the most important
1410 are the TYPE and CREATOR. Again, Unix has no concept of these types of
1411 attributes.
1412
1413 E.g., a Macintosh file may be a JPEG image where the image is stored in
1414 the Data fork and a desktop thumbnail stored in the Resource fork. It
1415 is usually the information in the data fork that is useful across plat‐
1416 forms.
1417
1418 Therefore to store a Macintosh file on a Unix filesystem, a way has to
1419 be found to cope with the two forks and the extra attributes (which are
1420 referred to as the Finder info). Unfortunately, it seems that every
1421 software package that stores Macintosh files on Unix has chosen a com‐
1422 pletely different storage method.
1423
1424 The Apple/Unix formats that genisoimage (partially) supports are:
1425
1426 CAP AUFS format
1427 Data fork stored in a file. Resource fork in subdirectory
1428 .resource with same filename as data fork. Finder info in subdi‐
1429 rectory .finderinfo with same filename.
1430
1431 AppleDouble/Netatalk
1432 Data fork stored in a file. Resource fork stored in a file with
1433 same name prefixed with `%'. Finder info also stored in same `%'
1434 file. Netatalk uses the same format, but the resource
1435 fork/Finder info stored in subdirectory .AppleDouble with same
1436 filename as data fork.
1437
1438 AppleSingle
1439 Data structures similar to above, except both forks and Finder
1440 info are stored in one file.
1441
1442 Helios EtherShare
1443 Data fork stored in a file. Resource fork and Finder info
1444 together in subdirectory .rsrc with same filename as data fork.
1445
1446 IPT UShare
1447 Like the EtherShare format, but the Finder info is stored
1448 slightly differently.
1449
1450 MacBinary
1451 Both forks and Finder info stored in one file.
1452
1453 Apple PC Exchange
1454 Used by Macintoshes to store Apple files on DOS (FAT) disks.
1455 Data fork stored in a file. Resource fork in subdirectory
1456 resource.frk (or RESOURCE.FRK). Finder info as one record in
1457 file finder.dat (or FINDER.DAT). Separate finder.dat for each
1458 data fork directory.
1459
1460 Note: genisoimage needs to know the native FAT cluster size of
1461 the disk that the PC Exchange files are on (or have been copied
1462 from). This size is given by -cluster-size. The cluster or
1463 allocation size can be found by using the DOS utility chkdsk.
1464
1465 May not work with PC Exchange v2.2 or higher files (available
1466 with MacOS 8.1). DOS media containing PC Exchange files should
1467 be mounted as type msdos (not vfat) when using Linux.
1468
1469 SGI/XINET
1470 Used by SGI machines when they mount HFS disks. Data fork stored
1471 in a file. Resource fork in subdirectory .HSResource with same
1472 filename. Finder info as one record in file .HSancillary. Sep‐
1473 arate .HSancillary for each data fork directory.
1474
1475 Thursby Software Systems DAVE
1476 Allows Macintoshes to store Apple files on SMB servers. Data
1477 fork stored in a file. Resource fork in subdirectory
1478 resource.frk. Uses the AppleDouble format to store resource
1479 fork.
1480
1481 Services for Macintosh
1482 Format of files stored by NT Servers on NTFS filesystems. Data
1483 fork is stored as filename. Resource fork stored as a NTFS
1484 stream called filename:AFP_Resource. The Finder info is stored
1485 as a NTFS stream called filename:Afp_AfpInfo. NTFS streams are
1486 normally invisible to the user.
1487
1488 Warning: genisoimage only partially supports the SFM format. If
1489 an HFS file or folder stored on the NT server contains an ille‐
1490 gal NT character in its name, NT converts these characters to
1491 Private Use Unicode characters. The characters are: " * / < > ?
1492 \ | and a space or period if it is the last character of the
1493 filename, character codes 0x01 to 0x1f (control characters) and
1494 Apple's apple logo.
1495
1496 Unfortunately, these private Unicode characters are not readable
1497 by the genisoimage NT executable. Therefore any file or direc‐
1498 tory name containing these characters will be ignored — includ‐
1499 ing the contents of any such directory.
1500
1501 Mac OS X AppleDouble
1502 When HFS/HFS+ files are copied or saved by Mac OS X on to a non-
1503 HFS filesystem (e.g. UFS, NFS etc.), the files are stored in
1504 AppleDouble format. Data fork stored in a file. Resource fork
1505 stored in a file with same name prefixed with `._'. Finder info
1506 also stored in same `._' file.
1507
1508 Mac OS X HFS (Alpha)
1509 Not really an Apple/Unix encoding, but actual HFS/HFS+ files on
1510 a Mac OS X system. Data fork stored in a file. Resource fork
1511 stored in a pseudo file with the same name with the suffix
1512 /rsrc. The Finder info is only available via a Mac OS X library
1513 call.
1514
1515 See also README.macosx.
1516
1517 Only works when used on Mac OS X.
1518
1519 If a file is found with a zero length resource fork and empty
1520 finderinfo, it is assumed not to have any Apple/Unix encoding —
1521 therefore a TYPE and CREATOR can be set using other methods.
1522
1523 genisoimage will attempt to set the CREATOR, TYPE, date and possibly
1524 other flags from the finder info. Additionally, if it exists, the Mac‐
1525 intosh filename is set from the finder info, otherwise the Macintosh
1526 name is based on the Unix filename — see the HFS MACINTOSH FILENAMES
1527 section below.
1528
1529 When using -apple, the TYPE and CREATOR are stored in the optional Sys‐
1530 tem Use or SUSP field in the ISO9660 Directory Record — in much the
1531 same way as the Rock Ridge attributes are. In fact to make life easy,
1532 the Apple extensions are added at the beginning of the existing Rock
1533 Ridge attributes (i.e., to get the Apple extensions you get the Rock
1534 Ridge extensions as well).
1535
1536 The Apple extensions require the resource fork to be stored as an
1537 ISO9660 associated file. This is just like any normal file stored in
1538 the ISO9660 filesystem except that the associated file flag is set in
1539 the Directory Record (bit 2). This file has the same name as the data
1540 fork (the file seen by non-Apple machines). Associated files are nor‐
1541 mally ignored by other OSs
1542
1543 When using -hfs, the TYPE and CREATOR plus other finder info, are
1544 stored in a separate HFS directory, not visible on the ISO9660 volume.
1545 The HFS directory references the same data and resource fork files
1546 described above.
1547
1548 In most cases, it is better to use -hfs instead of -apple, as the lat‐
1549 ter imposes the limited ISO9660 characters allowed in filenames. How‐
1550 ever, the Apple extensions do give the advantage that the files are
1551 packed on the disk more efficiently and it may be possible to fit more
1552 files on a CD.
1553
1555 Where possible, the HFS filename that is stored with an Apple/Unix file
1556 is used for the HFS part of the CD. However, not all the Apple/Unix
1557 encodings store the HFS filename with the finderinfo. In these cases,
1558 the Unix filename is used — with escaped special characters. Special
1559 characters include `/' and characters with codes over 127.
1560
1561 AUFS escapes these characters by using `:' followed by the character
1562 code as two hex digits. Netatalk and EtherShare have a similar scheme,
1563 but uses `%' instead of a `:'.
1564
1565 If genisoimage cannot find an HFS filename, it uses the Unix name, with
1566 any %xx or :xx characters (xx are two hex digits) converted to a single
1567 character code. If xx are not hex digits ([0-9a-fA-F]), they are left
1568 alone — although any remaining `:' is converted to `%', as `:' is the
1569 HFS directory separator. Care must be taken, as an ordinary Unix file
1570 with %xx or :xx will also be converted. e.g.
1571
1572 This:2fFile converted to This/File
1573
1574 This:File converted to This%File
1575
1576 This:t7File converted to This%t7File
1577
1578 Although HFS filenames appear to support uppercase and lowercase let‐
1579 ters, the filesystem is case-insensitive, i.e., the filenames aBc and
1580 AbC are the same. If a file is found in a directory with the same HFS
1581 name, genisoimage will attempt to make a unique name by adding `_'
1582 characters to one of the filenames.
1583
1584 If an HFS filename exists for a file, genisoimage can use this name as
1585 the starting point for the ISO9660, Joliet and Rock Ridge filenames
1586 using -mac-name. Normal Unix files without an HFS name will still use
1587 their Unix name. e.g.
1588
1589 If a MacBinary (or PC Exchange) file is stored as someimage.gif.bin on
1590 the Unix filesystem, but contains a HFS file called someimage.gif, this
1591 is the name that would appear on the HFS part of the CD. However, as
1592 genisoimage uses the Unix name as the starting point for the other
1593 names, the ISO9660 name generated will probably be SOMEIMAG.BIN and the
1594 Joliet/Rock Ridge would be someimage.gif.bin. This option will use the
1595 HFS filename as the starting point and the ISO9660 name will probably
1596 be SOMEIMAG.GIF and the Joliet/Rock Ridge would be someimage.gif.
1597
1598 -mac-name will not currently work with -T — the Unix name will be used
1599 in the TRANS.TBL file, not the Macintosh name.
1600
1601 The character set used to convert any HFS filename to a Joliet/Rock
1602 Ridge filename defaults to cp10000 (Mac Roman). The character set used
1603 can be specified using -input-hfs-charset. Other built-in HFS charac‐
1604 ter sets are: cp10006 (MacGreek), cp10007 (MacCyrillic), cp10029
1605 (MacLatin2), cp10079 (MacIcelandandic) and cp10081 (MacTurkish).
1606
1607 Note: the character codes used by HFS filenames taken from the various
1608 Apple/Unix formats will not be converted as they are assumed to be in
1609 the correct Apple character set. Only the Joliet/Rock Ridge names
1610 derived from the HFS filenames will be converted.
1611
1612 The existing genisoimage code will filter out any illegal characters
1613 for the ISO9660 and Joliet filenames, but as genisoimage expects to be
1614 dealing directly with Unix names, it leaves the Rock Ridge names as is.
1615 But as `/' is a legal HFS filename character, -mac-name converts `/' to
1616 a `_' in Rock Ridge filenames.
1617
1618 If the Apple extensions are used, only the ISO9660 filenames will
1619 appear on the Macintosh. However, as the Macintosh ISO9660 drivers can
1620 use Level 2 filenames, you can use options like -allow-multidot without
1621 problems on a Macintosh — still take care over the names, for example
1622 this.file.name will be converted to THIS.FILE i.e. only have one `.',
1623 also filename abcdefgh will be seen as ABCDEFGH but abcdefghi will be
1624 seen as ABCDEFGHI. i.e. with a `.' at the end — don't know if this is
1625 a Macintosh problem or a genisoimage/mkhybrid problem. All filenames
1626 will be in uppercase when viewed on a Macintosh. Of course, DOS/Win3.X
1627 machines will not be able to see Level 2 filenames...
1628
1630 To give a HFS CD a custom icon, make sure the root (top level) folder
1631 includes a standard Macintosh volume icon file. To give a volume a cus‐
1632 tom icon on a Macintosh, an icon has to be pasted over the volume's
1633 icon in the "Get Info" box of the volume. This creates an invisible
1634 file called Icon\r (`\r' is the carriage return character) in the root
1635 folder.
1636
1637 A custom folder icon is very similar — an invisible file called Icon\r
1638 exists in the folder itself.
1639
1640 Probably the easiest way to create a custom icon that genisoimage can
1641 use is to format a blank HFS floppy disk on a Mac and paste an icon to
1642 its "Get Info" box. If using Linux with the HFS module installed, mount
1643 the floppy:
1644
1645 mount -t hfs /dev/fd0 /mnt/floppy
1646
1647 The floppy will be mounted as a CAP filesystem by default. Then run
1648 genisoimage using something like:
1649
1650 genisoimage --cap -o output source_dir /mnt/floppy
1651
1652 If you are not using Linux, you can use hfsutils to copy the icon file
1653 from the floppy. However, care has to be taken, as the icon file con‐
1654 tains a control character. For example:
1655
1656 hmount /dev/fd0
1657 hdir -a
1658 hcopy -m Icon^V^M icon_dir/icon
1659
1660 Where `^V^M' is control-V followed by control-M. Then run genisoimage
1661 by using something like:
1662
1663 genisoimage --macbin -o output source_dir icon_dir
1664
1665 The procedure for creating/using custom folder icons is very similar —
1666 paste an icon to folder's "Get Info" box and transfer the resulting
1667 Icon\r file to the relevant directory in the genisoimage source tree.
1668
1669 You may want to hide the icon files from the ISO9660 and Joliet trees.
1670
1671 To give a custom icon to a Joliet CD, follow the instructions found at
1672 http://www.cdrfaq.org/faq03.html#S3-21-1.
1673
1675 It may be possible to make the hybrid CD bootable on a Macintosh.
1676
1677 A bootable HFS CD requires an Apple CD-ROM (or compatible) driver, a
1678 bootable HFS partition and the necessary System, Finder, etc. files.
1679
1680 A driver can be obtained from any other Macintosh bootable CD-ROM using
1681 the apple_driver utility. This file can then be used with
1682 -boot-hfs-file.
1683
1684 The HFS partition (i.e. the hybrid disk in our case) must contain a
1685 suitable System Folder, again from another CD-ROM or disk.
1686
1687 For a partition to be bootable, it must have its boot block set. The
1688 boot block is in the first two blocks of a partition. For a non-
1689 bootable partition the boot block is full of zeros. Normally, when a
1690 System file is copied to partition on a Macintosh disk, the boot block
1691 is filled with a number of required settings — unfortunately I don't
1692 know the full spec for the boot block, so I'm guessing that the follow‐
1693 ing will work.
1694
1695 Therefore, the utility apple_driver also extracts the boot block from
1696 the first HFS partition it finds on the given CD-ROM and this is used
1697 for the HFS partition created by genisoimage.
1698
1699 Please note: By using a driver from an Apple CD and copying Apple soft‐
1700 ware to your CD, you become liable to obey Apple Computer, Inc. Soft‐
1701 ware License Agreements.
1702
1704 When -boot-info-table is given, genisoimage will modify the boot file
1705 specified by -b by inserting a 56-byte boot information table at offset
1706 8 in the file. This modification is done in the source filesystem, so
1707 make sure you use a copy if this file is not easily recreated! This
1708 file contains pointers which may not be easily or reliably obtained at
1709 boot time.
1710
1711 The format of this table is as follows; all integers are in section
1712 7.3.1 ("little endian") format.
1713
1714 Offset Name Size Meaning
1715 8 bi_pvd 4 bytes LBA of primary volume descriptor
1716 12 bi_file 4 bytes LBA of boot file
1717 16 bi_length 4 bytes Boot file length in bytes
1718 20 bi_csum 4 bytes 32-bit checksum
1719 24 bi_reserved 40 bytes Reserved
1720
1721 The 32-bit checksum is the sum of all the 32-bit words in the
1722 boot file starting at byte offset 64. All linear block
1723 addresses (LBAs) are given in CD sectors (normally 2048 bytes).
1724
1726 To make a bootable CD for HPPA, at the very least a boot loader file
1727 (-hppa-bootloader), a kernel image file (32-bit, 64-bit, or both,
1728 depending on hardware) and a boot command line (-hppa-cmdline) must be
1729 specified. Some systems can boot either a 32- or a 64-bit kernel, and
1730 the firmware will choose one if both are present. Optionally, a
1731 ramdisk can be used for the root filesystem using -hppa-cmdline.
1732
1734 Jigdo is a tool to help in the distribution of large files like CD and
1735 DVD images; see http://atterer.org/jigdo/ for more details. Debian CDs
1736 and DVD ISO images are published on the web in jigdo format to allow
1737 end users to download them more efficiently.
1738
1739 To create jigdo and template files alongside the ISO image from
1740 genisoimage, you must first generate a list of the files that will be
1741 used, in the following format:
1742
1743 MD5sum File size Path
1744 32 chars 12 chars to end of line
1745
1746 The MD5sum must be written in standard hexadecimal notation, the file
1747 size must list the size of the file in bytes, and the path must list
1748 the absolute path to the file. For example:
1749
1750 00006dcd58ff0756c36d2efae21be376 14736 /mirror/debian/file1
1751 000635c69b254a1be8badcec3a8d05c1 211822 /mirror/debian/file2
1752 00083436a3899a09633fc1026ef1e66e 22762 /mirror/debian/file3
1753
1754 Once you have this file, call genisoimage with all of your normal com‐
1755 mand-line parameters. Specify the output filenames for the jigdo and
1756 template files using -jigdo-jigdo and -jigdo-template, and pass in the
1757 location of your MD5 list with -md5-list.
1758
1759 If there are files that you do NOT want to be added into the jigdo file
1760 (e.g. if they are likely to change often), specify them using
1761 -jigdo-exclude. If you want to verify some of the files as they are
1762 written into the image, specify them using -jigdo-force-md5. If any
1763 files don't match, genisoimage will then abort. Both of these options
1764 take regular expressions as input. It is possible to restrict the set
1765 of files that will be used further based on size — use the
1766 -jigdo-min-file-size option.
1767
1768 Finally, the jigdo code needs to know how to map the files it is given
1769 onto a mirror-style configuration. Specify how to map paths using
1770 -jigdo-map. Using Debian=/mirror/debian will cause all paths starting
1771 with /mirror/debian to be mapped to Debian:<file> in the output jigdo
1772 file.
1773
1775 To create a vanilla ISO9660 filesystem image in the file cd.iso, where
1776 the directory cd_dir will become the root directory of the CD, call:
1777
1778 % genisoimage -o cd.iso cd_dir
1779
1780 To create a CD with Rock Ridge extensions of the source directory
1781 cd_dir:
1782
1783 % genisoimage -o cd.iso -R cd_dir
1784
1785 To create a CD with Rock Ridge extensions of the source directory
1786 cd_dir where all files have at least read permission and all files are
1787 owned by root, call:
1788
1789 % genisoimage -o cd.iso -r cd_dir
1790
1791 To write a tar archive directly to a CD that will later contain a sim‐
1792 ple ISO9660 filesystem with the tar archive call:
1793
1794 % tar cf - . | genisoimage -stream-media-size 333000 | \
1795 wodim dev=b,t,l -dao tsize=333000s -
1796
1797 To create a HFS hybrid CD with the Joliet and Rock Ridge extensions of
1798 the source directory cd_dir:
1799
1800 % genisoimage -o cd.iso -R -J -hfs cd_dir
1801
1802 To create a HFS hybrid CD from the source directory cd_dir that con‐
1803 tains Netatalk Apple/Unix files:
1804
1805 % genisoimage -o cd.iso --netatalk cd_dir
1806
1807 To create a HFS hybrid CD from the source directory cd_dir, giving all
1808 files CREATOR and TYPES based on just their filename extensions listed
1809 in the file "mapping".:
1810
1811 % genisoimage -o cd.iso -map mapping cd_dir
1812
1813 To create a CD with the Apple Extensions to ISO9660, from the source
1814 directories cd_dir and another_dir. Files in all the known Apple/Unix
1815 format are decoded and any other files are given CREATOR and TYPE based
1816 on their magic number given in the file magic:
1817
1818 % genisoimage -o cd.iso -apple -magic magic -probe \
1819 cd_dir another_dir
1820
1821 The following example puts different files on the CD that all have the
1822 name README, but have different contents when seen as a ISO9660/Rock
1823 Ridge, Joliet or HFS CD.
1824
1825 Current directory contains:
1826
1827 % ls -F
1828 README.hfs README.joliet README.Unix cd_dir/
1829
1830 The following command puts the contents of the directory cd_dir on the
1831 CD along with the three README files — but only one will be seen from
1832 each of the three filesystems:
1833
1834 % genisoimage -o cd.iso -hfs -J -r -graft-points \
1835 -hide README.hfs -hide README.joliet \
1836 -hide-joliet README.hfs -hide-joliet README.Unix \
1837 -hide-hfs README.joliet -hide-hfs README.Unix \
1838 README=README.hfs README=README.joliet \
1839 README=README.Unix cd_dir
1840
1841 i.e. the file README.hfs will be seen as README on the HFS CD and the
1842 other two README files will be hidden. Similarly for the Joliet and
1843 ISO9660/Rock Ridge CD.
1844
1845 There are probably all sorts of strange results possible with combina‐
1846 tions of the hide options ...
1847
1849 genisoimage may safely be installed suid root. This may be needed to
1850 allow genisoimage to read the previous session when creating a multi‐
1851 session image.
1852
1853 If genisoimage is creating a filesystem image with Rock Ridge
1854 attributes and the directory nesting level of the source directory tree
1855 is too much for ISO9660, genisoimage will do deep directory relocation.
1856 This results in a directory called RR_MOVED in the root directory of
1857 the CD. You cannot avoid this directory.
1858
1859 Many boot code options for different platforms are mutualy exclusive
1860 because the boot blocks cannot coexist, ie. different platforms share
1861 the same data locations in the image. See
1862 http://lists.debian.org/debian-cd/2006/12/msg00109.html for details.
1863
1865 Any files that have hard links to files not in the tree being copied to
1866 the ISO9660 filesystem will have an incorrect file reference count.
1867
1868 Does not check for SUSP record(s) in `.' entry of the root directory to
1869 verify the existence of Rock Ridge enhancements. This problem is
1870 present when reading old sessions while adding data in multisession
1871 mode.
1872
1873 Does not properly read relocated directories in multisession mode when
1874 adding data. Any relocated deep directory is lost if the new session
1875 does not include the deep directory.
1876
1877 Does not re-use RR_MOVED when doing multisession from TRANS.TBL.
1878
1879 Does not create whole_name entry for RR_MOVED in multisession mode.
1880
1881 There may be other bugs. Please, report them to the maintainers.
1882
1884 I have had to make several assumptions on how I expect the modified
1885 libhfs routines to work, however there may be situations that either I
1886 haven't thought of, or come across when these assumptions fail. There‐
1887 fore I can't guarantee that genisoimage will work as expected (although
1888 I haven't had a major problem yet). Most of the HFS features work fine,
1889 but some are not fully tested. These are marked as Alpha above.
1890
1891 Although HFS filenames appear to support uppercase and lowercase let‐
1892 ters, the filesystem is case-insensitive, i.e., the filenames aBc and
1893 AbC are the same. If a file is found in a directory with the same HFS
1894 name, genisoimage will attempt to make a unique name by adding `_'
1895 characters to one of the filenames.
1896
1897 HFS file/directory names that share the first 31 characters have `_N'
1898 (a decimal number) substituted for the last few characters to generate
1899 unique names.
1900
1901 Care must be taken when "grafting" Apple/Unix files or directories (see
1902 above for the method and syntax involved). It is not possible to use a
1903 new name for an Apple/Unix encoded file/directory. e.g. If a Apple/Unix
1904 encoded file called oldname is to added to the CD, you cannot use the
1905 command line:
1906
1907 genisoimage -o output.raw -hfs -graft-points newname=oldname
1908 cd_dir
1909
1910 genisoimage will be unable to decode oldname. However, you can graft
1911 Apple/Unix encoded files or directories as long as you do not attempt
1912 to give them new names as above.
1913
1914 When creating an HFS volume with the multisession options, -M and -C,
1915 only files in the last session will be in the HFS volume. i.e.
1916 genisoimage cannot add existing files from previous sessions to the HFS
1917 volume.
1918
1919 However, if each session is created with -part, each session will
1920 appear as separate volumes when mounted on a Mac. In this case, it is
1921 worth using -V or -hfs-volid to give each session a unique volume name,
1922 otherwise each "volume" will appear on the Desktop with the same name.
1923
1924 Symbolic links (as with all other non-regular files) are not added to
1925 the HFS directory.
1926
1927 Hybrid volumes may be larger than pure ISO9660 volumes containing the
1928 same data. In some cases (e.g. DVD sized volumes) the difference can be
1929 significant. As an HFS volume gets bigger, so does the allocation block
1930 size (the smallest amount of space a file can occupy). For a 650MB CD,
1931 the allocation block is 10kB, for a 4.7GB DVD it will be about 70kB.
1932
1933 The maximum number of files in an HFS volume is about 65500 — although
1934 the real limit will be somewhat less than this.
1935
1936 The resulting hybrid volume can be accessed on a Unix machine by using
1937 the hfsutils routines. However, no changes can be made to the volume as
1938 it is set as locked. The option -hfs-unlock will create an output
1939 image that is unlocked — however no changes should be made to the con‐
1940 tents of the volume (unless you really know what you are doing) as it's
1941 not a "real" HFS volume.
1942
1943 -mac-name will not currently work with -T — the Unix name will be used
1944 in the TRANS.TBL file, not the Macintosh name.
1945
1946 Although genisoimage does not alter the contents of a file, if a binary
1947 file has its TYPE set as TEXT, it may be read incorrectly on a Macin‐
1948 tosh. Therefore a better choice for the default TYPE may be ????.
1949
1950 -mac-boot-file may not work at all...
1951
1952 May not work with PC Exchange v2.2 or higher files (available with Mac‐
1953 OS 8.1). DOS media containing PC Exchange files should be mounted as
1954 type msdos (not vfat) when using Linux.
1955
1956 The SFM format is only partially supported — see HFS MACINTOSH FILE
1957 FORMATS section above.
1958
1959 It is not possible to use -sparc-boot or -generic-boot with
1960 -boot-hfs-file or -prep-boot.
1961
1962 genisoimage should be able to create HFS hybrid images over 4Gb,
1963 although this has not been fully tested.
1964
1966 genisoimagerc(5), wodim(1), mkzftree(8), magic(5).
1967
1969 genisoimage is derived from mkisofs from the cdrtools 2.01.01a08 pack‐
1970 age from May 2006 (with few updates extracted from cdrtools 2.01.01a24
1971 from March 2007) from .IR http://cdrecord.berlios.de/ , but is now part
1972 of the cdrkit suite, maintained by Joerg Jaspert, Eduard Bloch, Steve
1973 McIntyre, Peter Samuelson, Christian Fromme, Ben Hutchings, and other
1974 contributors. The maintainers can be contacted at debburn-
1975 devel@lists.alioth.debian.org, or see the cdrkit project web site at
1976 http://www.cdrkit.org/.
1977
1978 Eric Youngdale wrote the first versions (1993–1998) of mkisofs. Jörg
1979 Schilling wrote the SCSI transport library and its interface, and has
1980 maintained mkisofs since 1999. James Pearson wrote the HFS hybrid
1981 code, using libhfs by Robert Leslie. Pearson, Schilling, Jungshik Shin
1982 and Jaakko Heinonen contributed to the character set conversion code.
1983 The cdrkit maintainers have maintained genisoimage since 2006.
1984
1985 Copyright 1993-1998 by Yggdrasil Computing, Inc.
1986 Copyright 1996-1997 by Robert Leslie
1987 Copyright 1997-2001 by James Pearson
1988 Copyright 1999-2006 by Jörg Schilling
1989 Copyright 2007 by Jörg Schilling (originating few updates)
1990 Copyright 2002-2003 by Jungshik Shin
1991 Copyright 2003 by Jaakko Heinonen
1992 Copyright 2006 by the Cdrkit maintainers
1993
1994 If you want to take part in the development of genisoimage, you may
1995 join the cdrkit developer mailing list by following the instructions on
1996 http://alioth.debian.org/mail/?group_id=31006. The email address of
1997 the list is debburn-devel@lists.alioth.debian.org. This is also the
1998 address for user support questions. Note that cdrkit and cdrtools are
1999 not affiliated.
2000
2002 UNIX is a registered trademark of The Open Group in the US and other
2003 countries.
2004
2005
2006
2007 13 Dec 2006 GENISOIMAGE(1)