1GENISOIMAGE(1)              General Commands Manual             GENISOIMAGE(1)
2
3
4

NAME

6       genisoimage  -  create ISO9660/Joliet/HFS filesystem with optional Rock
7       Ridge attributes
8

SYNOPSIS

10       genisoimage [options] [-o filename] pathspec [pathspec ...]
11

DESCRIPTION

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

OPTIONS

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
114       -appid application_id
115              Specifies  a  text  string  that will be written into the volume
116              header.  This should describe the application that  will  be  on
117              the  disc.   There  is  space for 128 characters.  Equivalent to
118              APPI in the .genisoimagerc file.
119
120       -allow-limited-size
121              When processing files larger than 2GiB which  cannot  be  easily
122              represented in ISO9660, add them with a shrunk visible file size
123              to ISO9660 and with the correct visible file  size  to  the  UDF
124              system.  The result is an inconsistent filesystem and users need
125              to make sure that they really use UDF rather than ISO9660 driver
126              to read a such disk. Implies enabling -udf.
127
128       -allow-leading-dots
129
130       -ldots Allow  ISO9660  filenames  to  begin  with a period.  Usually, a
131              leading dot is replaced with an underscore in order to  maintain
132              MS-DOS compatibility.
133              This  violates  the  ISO9660 standard, but it happens to work on
134              many systems.  Use with caution.
135
136       -allow-lowercase
137              This options allows lowercase characters to  appear  in  ISO9660
138              filenames.
139              This  violates  the  ISO9660 standard, but it happens to work on
140              some systems.  Use with caution.
141
142       -allow-multidot
143              This options allows more than one dot to appear in ISO9660 file‐
144              names.   A leading dot is not affected by this option, it may be
145              allowed separately using -allow-leading-dots.
146              This violates the ISO9660 standard, but it happens  to  work  on
147              many systems.  Use with caution.
148
149       -biblio file
150              Specifies  the  bibliographic  filename.   There is space for 37
151              characters.  Equivalent to BIBL in the .genisoimagerc file.
152
153       -cache-inodes
154
155       -no-cache-inodes
156              Enable or disable caching inode and device numbers to find  hard
157              links  to  files.  If genisoimage finds a hard link (a file with
158              multiple names), the file will also be hard-linked on the CD, so
159              the  file  contents only appear once.  This helps to save space.
160              -cache-inodes is default on  Unix-like  operating  systems,  but
161              -no-cache-inodes  is  default on some other systems such as Cyg‐
162              win, because it is not safe to assume  that  inode  numbers  are
163              unique  on  those systems.  (Some versions of Cygwin create fake
164              inode numbers using a weak hashing algorithm, which may  produce
165              duplicates.)   If  two  files have the same inode number but are
166              not hard links to the same file, genisoimage -cache-inodes  will
167              not  behave  correctly.   -no-cache-inodes is safe in all situa‐
168              tions, but in that case genisoimage cannot detect hard links, so
169              the resulting CD image may be larger than necessary.
170
171       -alpha-boot alpha_boot_image
172              Specifies  the  path  and  filename of the boot image to be used
173              when making an Alpha/SRM bootable CD. The pathname must be rela‐
174              tive to the source path specified to genisoimage.
175
176       -hppa-bootloader hppa_bootloader_image
177              Specifies  the  path  and  filename of the boot image to be used
178              when making an HPPA bootable CD. The pathname must  be  relative
179              to  the source path specified to genisoimage.  Other options are
180              required, at the very least a kernel filename and a boot command
181              line.  See the HPPA NOTES section below for more information.
182
183       -hppa-cmdline hppa_boot_command_line
184              Specifies  the command line to be passed to the HPPA boot loader
185              when making a bootable CD. Separate the parameters  with  spaces
186              or  commas.  More  options must be passed to genisoimage, at the
187              very least a kernel filename and the boot loader filename.   See
188              the HPPA NOTES section below for more information.
189
190       -hppa-kernel-32 hppa_kernel_32
191
192       -hppa-kernel-64 hppa_kernel_64
193              Specifies the path and filename of the 32-bit and/or 64-bit ker‐
194              nel images to be used when making an HPPA bootable CD. The path‐
195              names must be relative to the source path specified to genisoim‐
196              age.  Other options are required, at the  very  least  the  boot
197              loader  filename  and the boot command line.  See the HPPA NOTES
198              section below for more information.
199
200       -hppa-ramdisk hppa_ramdisk_image
201              Specifies the path and filename of the ramdisk image to be  used
202              when  making  an HPPA bootable CD. The pathname must be relative
203              to the source path specified to genisoimage.  This parameter  is
204              optional.   Other options are required, at the very least a ker‐
205              nel filename and the boot command line. See the HPPA NOTES  sec‐
206              tion below for more information.
207
208       -mips-boot mips_boot_image
209              Specifies  the  path  and  filename of the boot image to be used
210              when making an SGI/big-endian MIPS  bootable  CD.  The  pathname
211              must  be  relative  to the source path specified to genisoimage.
212              This option may be specified several times, to store  up  to  15
213              boot images.
214
215       -mipsel-boot mipsel_boot_image
216              Specifies  the  path  and  filename of the boot image to be used
217              when making an DEC/little-endian MIPS bootable CD. The  pathname
218              must be relative to the source path specified to genisoimage.
219
220       -B img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
221
222       -sparc-boot img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
223              Specifies  a comma-separated list of boot images that are needed
224              to make a bootable CD for SPARC systems.  Partition  0  is  used
225              for  the ISO9660 image, the first image file is mapped to parti‐
226              tion 1.  The comma-separated list  may  have  up  to  7  fields,
227              including  empty  fields.   This  option  is  required to make a
228              bootable CD for Sun SPARC systems.  If  -B  or  -sparc-boot  has
229              been  specified,  the  first  sector of the resulting image will
230              contain a Sun disk label. This disk label specifies slice 0  for
231              the  ISO9660  image  and  slices 1 to 7 for the boot images that
232              have been specified with this option. Byte offsets 512  to  8191
233              within each of the additional boot images must contain a primary
234              boot that works for the appropriate SPARC architecture. The rest
235              of each of the images usually contains a UFS filesystem used for
236              the primary kernel boot stage.
237
238              The implemented boot method is the one found with SunOS 4.x  and
239              SunOS  5.x.   However, it does not depend on SunOS internals but
240              only on properties of the Open Boot prom, so it should be usable
241              for any OS for SPARC systems.  For more information also see the
242              NOTES section below.
243
244              If the special filename ...  is used, the actual and all follow‐
245              ing  boot  partitions  are  mapped to the previous partition. If
246              genisoimage is called with -G image -B ...  all boot  partitions
247              are mapped to the partition that contains the ISO9660 filesystem
248              image and the generic boot image that is located in the first 16
249              sectors of the disc is used for all architectures.
250
251       -G generic_boot_image
252              Specifies  the path and filename of the generic boot image to be
253              used when making a generic bootable CD.  The boot image will  be
254              placed  on  the  first  16 sectors of the CD, before the ISO9660
255              primary volume descriptor.  If this option is used together with
256              -sparc-boot, the Sun disk label will overlay the first 512 bytes
257              of the generic boot image.
258
259       -b eltorito_boot_image
260
261       -eltorito-boot eltorito_boot_image
262              Specifies the path and filename of the boot  image  to  be  used
263              when  making  an El Torito bootable CD for x86 PCs. The pathname
264              must be relative to the source path  specified  to  genisoimage.
265              This  option  is required to make an El Torito bootable CD.  The
266              boot image must be exactly 1200 kB, 1440  kB  or  2880  kB,  and
267              genisoimage  will use this size when creating the output ISO9660
268              filesystem.  The PC BIOS will use the image to emulate a  floppy
269              disk,  so the first 512-byte sector should contain PC boot code.
270              This will work, for example, if the boot image is  a  LILO-based
271              boot floppy.
272
273              If  the  boot image is not an image of a floppy, you need to add
274              either -hard-disk-boot or -no-emul-boot.  If the  system  should
275              not boot off the emulated disk, use -no-boot.
276
277              If -sort has not been specified, the boot images are sorted with
278              low priority (+2) to the beginning of the medium.  If you  don't
279              like  this,  you need to specify a sort weight of 0 for the boot
280              images.
281
282       -eltorito-alt-boot
283              Start with a new set of El Torito boot parameters.  Up to 63  El
284              Torito boot entries may be stored on a single CD.
285
286       -hard-disk-boot
287              Specifies  that the boot image used to create El Torito bootable
288              CDs is a hard disk image. The image must  begin  with  a  master
289              boot record that contains a single partition.
290
291       -no-emul-boot
292              Specifies  that the boot image used to create El Torito bootable
293              CDs is a "no emulation" image. The system will load and  execute
294              this image without performing any disk emulation.
295
296       -no-boot
297              Specifies  that the created El Torito CD should be marked as not
298              bootable. The system will provide  an  emulated  drive  for  the
299              image, but will boot off a standard boot device.
300
301       -boot-load-seg segment_address
302              Specifies the load segment address of the boot image for no-emu‐
303              lation El Torito CDs.
304
305       -boot-load-size load_sectors
306              Specifies the number of "virtual" (512-byte) sectors to load  in
307              no-emulation mode.  The default is to load the entire boot file.
308              Some BIOSes may have problems if this is not a multiple of 4.
309
310       -boot-info-table
311              Specifies that a 56-byte table with information  of  the  CD-ROM
312              layout will be patched in at offset 8 in the boot file.  If this
313              option is given,  the  boot  file  is  modified  in  the  source
314              filesystem,  so  make a copy of this file if it cannot be easily
315              regenerated!  See the EL TORITO BOOT INFO TABLE  section  for  a
316              description of this table.
317
318       -C last_sess_start,next_sess_start
319
320       -cdrecord-params last_sess_start,next_sess_start
321              This  option  is  needed  to create a CD Extra or the image of a
322              second session or a  higher-level  session  for  a  multisession
323              disc.   -C  takes two numbers separated by a comma. The first is
324              the first sector in the last session of the disc that should  be
325              appended to.  The second number is the starting sector number of
326              the new session.  The correct numbers may be retrieved by  call‐
327              ing  wodim  -msinfo  ...   If -C is used in conjunction with -M,
328              genisoimage will create a filesystem image that is  intended  to
329              be  a continuation of the previous session.  If -C is used with‐
330              out -M, genisoimage will  create  a  filesystem  image  that  is
331              intended  to be used for a second session on a CD Extra. This is
332              a multisession CD that holds audio data in the first session and
333              an ISO9660 filesystem in the second session.
334
335       -c boot_catalog
336
337       -eltorito-catalog boot_catalog
338              Specifies  the  path  and filename of the boot catalog, which is
339              required for an El Torito bootable CD. The pathname must be rel‐
340              ative  to  the  source path specified to genisoimage.  This file
341              will be inserted into the output tree and  not  created  in  the
342              source  filesystem,  so  be sure the specified filename does not
343              conflict with an existing file, or it will be excluded.  Usually
344              a name like boot.catalog is chosen.
345
346              If  -sort  has  not been specified, the boot catalog sorted with
347              low priority (+1) to the beginning of the medium.  If you  don't
348              like  this,  you need to specify a sort weight of 0 for the boot
349              catalog.
350
351       -check-oldnames
352              Check all filenames imported from the old session for compliance
353              with  the  ISO9660 file naming rules.  Without this option, only
354              names longer than 31 characters are checked, as these files  are
355              a serious violation of the ISO9660 standard.
356
357       -check-session file
358              Check  all  old  sessions for compliance with actual genisoimage
359              ISO9660 file naming rules.  This is  a  high-level  option  that
360              combines  -M  file  -C  0,0  -check-oldnames.  For the parameter
361              file, see the description of -M.
362
363       -checksum_algorithm_iso alg1,alg2,...
364              Specify the checksum types desired for the output image.
365
366       -checksum_algorithm_template alg1,alg2,...
367              Specify the checksum types desired for  the  output  jigdo  tem‐
368              plate.
369
370       -copyright file
371              Specifies  copyright  information,  typically  a filename on the
372              disc.  There is space for 37 characters.  Equivalent to COPY  in
373              the .genisoimagerc file.
374
375       -d
376
377       -omit-period
378              Do not append a period to files that do not have one.
379              This  violates  the  ISO9660 standard, but it happens to work on
380              many systems.  Use with caution.
381
382       -D
383
384       -disable-deep-relocation
385              Do not use deep directory relocation, and instead just pack them
386              in the way we see them.
387              If ISO9660:1999 has not been selected, this violates the ISO9660
388              standard, but it happens to work on many systems.  Use with cau‐
389              tion.
390
391       -debug Set debug flag.
392
393       -dir-mode mode
394              Overrides  the  mode  of directories 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       -dvd-video
399              Generate  a  DVD-Video compliant UDF filesystem. This is done by
400              sorting the order of the content of the appropriate files and by
401              adding padding between the files if needed.  Note that the sort‐
402              ing only works if  the  DVD-Video  filenames  include  uppercase
403              characters only.
404
405              Note  that  in  order  to  get  a DVD-Video compliant filesystem
406              image, you need to prepare a DVD-Video compliant directory tree.
407              This requires a directory VIDEO_TS (all caps) in the root direc‐
408              tory  of  the  resulting  DVD,  and  usually  another  directory
409              AUDIO_TS.  VIDEO_TS needs to include all needed files (filenames
410              must be all caps) for a compliant DVD-Video filesystem.
411
412       -e efi_boot_file
413
414       -efi-boot efi_boot_file
415              Set EFI boot image name.
416
417       -f
418
419       -follow-links
420              Follow symbolic links when generating the filesystem.  When this
421              option  is not in use, symbolic links will be entered using Rock
422              Ridge if enabled, otherwise they will be ignored.
423
424       -file-mode mode
425              Overrides the mode of regular files used to create the image  to
426              mode,  specified  as 4 digits of permission bits as in chmod(1).
427              This option automatically enables Rock Ridge extensions.
428
429       -gid gid
430              Overrides the group ID read from the source files to  the  value
431              of gid.  Specifying this option automatically enables Rock Ridge
432              extensions.
433
434       -gui   Switch the behaviour for a GUI. This currently makes the  output
435              more verbose but may have other effects in the future.
436
437       -graft-points
438              Allow use of graft points for filenames. If this option is used,
439              all filenames are checked for  graft  points.  The  filename  is
440              divided  at  the  first unescaped equal sign. All occurrences of
441              `\' and `=' characters must be escaped with `\' if -graft-points
442              has been specified.
443
444       -hide glob
445              Hide  any  files  matching  glob, a shell wildcard pattern, from
446              being seen in the ISO9660 or Rock  Ridge  directory.   glob  may
447              match  any  part  of  the  filename  or path.  If glob matches a
448              directory, the contents of that directory will  be  hidden.   In
449              order to match a directory name, make sure the pathname does not
450              include a trailing `/' character.  All  the  hidden  files  will
451              still  be  written  to  the  output  CD  image  file.   See also
452              -hide-joliet, and README.hide.  This option may be used multiple
453              times.
454
455       -hide-list file
456              A  file  containing a list of shell wildcards to be hidden.  See
457              -hide.
458
459       -hidden glob
460              Add the hidden (existence) ISO9660 directory attribute for files
461              and  directories  matching glob, a shell wildcard pattern.  This
462              attribute will prevent the files from being shown by some MS-DOS
463              and  Windows  commands.  glob may match any part of the filename
464              or path.  In order to match a  directory  name,  make  sure  the
465              pathname does not include a trailing `/' character.  This option
466              may be used multiple times.
467
468       -hidden-list file
469              A file containing a list of shell wildcards to  get  the  hidden
470              attribute.  See -hidden.
471
472       -hide-joliet glob
473              Hide  files and directories matching glob, a shell wildcard pat‐
474              tern, from being seen in the Joliet directory.  glob  may  match
475              any  part of the filename or path.  If glob matches a directory,
476              the contents of that directory will  be  hidden.   In  order  to
477              match  a directory name, make sure the pathname does not include
478              a trailing `/' character.  All the hidden files  will  still  be
479              written  to  the  output  CD image file.  This option is usually
480              used with -hide.  See also README.hide.  This option may be used
481              multiple times.
482
483       -hide-joliet-list file
484              A  file  containing  a list of shell wildcards to be hidden from
485              the Joliet tree.  See -hide-joliet.
486
487       -hide-joliet-trans-tbl
488              Hide the TRANS.TBL files from the Joliet tree.  These files usu‐
489              ally  don't make sense in the Joliet world as they list the real
490              name and the ISO9660 name which may both be different  from  the
491              Joliet name.
492
493       -hide-rr-moved
494              Rename  the  directory  RR_MOVED  to .rr_moved in the Rock Ridge
495              tree.  It seems to be impossible to completely hide the RR_MOVED
496              directory  from the Rock Ridge tree.  This option only makes the
497              visible tree less confusing for people who don't know what  this
498              directory  is for.  If you need to have no RR_MOVED directory at
499              all, you should use -D.  Note that if -D has been specified, the
500              resulting  filesystem  is not ISO9660 level-1 compliant and will
501              not be readable on MS-DOS.  See also the NOTES section.
502
503       -input-charset charset
504              Input charset that defines the characters used  in  local  file‐
505              names.   To  get a list of valid charset names, call genisoimage
506              -input-charset help.  To get a 1:1 mapping, you may use  default
507              as  charset  name.  The default initial values are cp437 on DOS-
508              based systems and iso8859-1 on all other systems.  See the CHAR‐
509              ACTER SETS section below for more details.
510
511       -output-charset charset
512              Output  charset that defines the characters that will be used in
513              Rock Ridge filenames.  Defaults to the input charset.  See CHAR‐
514              ACTER SETS section below for more details.
515
516       -iso-level level
517              Set the ISO9660 conformance level. Valid numbers are 1 to 4.
518
519              With  level  1,  files may only consist of one section and file‐
520              names are restricted to 8.3 characters.
521
522              With level 2, files may only consist of one section.
523
524              With level 3, no  restrictions  (other  than  ISO-9660:1988)  do
525              apply.
526
527              With  all  ISO9660  levels  from  1  to  3,  all  filenames  are
528              restricted to uppercase letters, numbers  and  underscores  (_).
529              Filenames  are  limited  to  31 characters, directory nesting is
530              limited to 8 levels, and pathnames are limited  to  255  charac‐
531              ters.
532
533              Level  4  officially  does  not exist but genisoimage maps it to
534              ISO-9660:1999, which is ISO9660 version 2.
535
536              With level 4, an enhanced volume descriptor with version  number
537              and  file  structure version number set to 2 is emitted.  Direc‐
538              tory nesting is not limited to 8 levels, there is no need for  a
539              file  to contain a dot and the dot has no special meaning, file‐
540              names do not have version numbers, and filenames can  be  up  to
541              207 characters long, or 197 characters if Rock Ridge is used.
542
543              When  creating  Version  2 images, genisoimage emits an enhanced
544              volume descriptor, similar but not identical to a primary volume
545              descriptor.  Be  careful  not  to  use  broken  software to make
546              ISO9660 images bootable by assuming a second PVD copy and patch‐
547              ing this putative PVD copy into an El Torito VD.
548
549       -J     Generate Joliet directory records in addition to regular ISO9660
550              filenames.  This is primarily useful when the discs  are  to  be
551              used  on  Windows  machines.   Joliet filenames are specified in
552              Unicode and each path component can be up to 64 Unicode  charac‐
553              ters  long.  Note that Joliet is not a standard — only Microsoft
554              Windows and Linux  systems  can  read  Joliet  extensions.   For
555              greater  portability,  consider using both Joliet and Rock Ridge
556              extensions.
557
558       -joliet-long
559              Allow Joliet filenames to  be  up  to  103  Unicode  characters,
560              instead  of  64.   This  breaks  the  Joliet  specification, but
561              appears to work. Use with caution.
562
563       -jcharset charset
564              A combination of -J -input-charset charset.  See  the  CHARACTER
565              SETS section below for more details.
566
567       -l
568
569       -full-iso9660-filenames
570              Allow  full  31-character filenames.  Normally the ISO9660 file‐
571              name will be in an 8.3 format which is compatible  with  MS-DOS,
572              even  though  the  ISO9660 standard allows filenames of up to 31
573              characters.  If you use this option, the disc may  be  difficult
574              to  use on a MS-DOS system, but will work on most other systems.
575              Use with caution.
576
577       -L     Outdated option; use -allow-leading-dots instead.
578
579       -jigdo-jigdo jigdo_file
580              Produce a jigdo .jigdo metadata file as well as  the  filesystem
581              image.  See the JIGDO NOTES section below for more information.
582
583       -jigdo-template template_file
584              Produce  a jigdo .template file as well as the filesystem image.
585              See the JIGDO NOTES section below for more information.
586
587       -jigdo-min-file-size size
588              Specify the minimum size for a file to be listed in  the  .jigdo
589              file.  Default (and minimum allowed) is 1KB. See the JIGDO NOTES
590              section below for more information.
591
592       -jigdo-force-md5 path
593              Specify a file pattern where files  must  be  contained  in  the
594              externally-supplied  MD5 list as supplied by -md5-list.  See the
595              JIGDO NOTES section below for more information.
596
597       -jigdo-exclude path
598              Specify a file pattern where files will not  be  listed  in  the
599              .jigdo file. See the JIGDO NOTES section below for more informa‐
600              tion.
601
602       -jigdo-map path
603              Specify a pattern mapping for the jigdo file (e.g.  Debian=/mir‐
604              ror/debian).   See the JIGDO NOTES section below for more infor‐
605              mation.
606
607       -md5-list md5_file
608              Specify a file containing the MD5sums, sizes  and  pathnames  of
609              the files to be included in the .jigdo file. See the JIGDO NOTES
610              section below for more information.
611
612       -jigdo-template-compress algorithm
613              Specify a compression algorithm to use for template  date.  gzip
614              and  bzip2 are currently supported, and gzip is the default. See
615              the JIGDO NOTES section below for more information.
616
617       -log-file log_file
618              Redirect  all  error,  warning  and  informational  messages  to
619              log_file instead of the standard error.
620
621       -m glob
622              Exclude  files  matching  glob,  a  shell wildcard pattern, from
623              being written to CD-ROM.  glob may  match  either  the  filename
624              component  or the full pathname.  This option may be used multi‐
625              ple times.  For example:
626
627                   genisoimage -o rom -m '*.o' -m core -m foobar
628
629              would exclude all files ending in `.o', or called core or foobar
630              from the image.  Note that if you had a directory called foobar,
631              it too (and of course all its descendants) would be excluded.
632
633       -exclude-list file
634              A file containing a list of shell wildcards to be excluded.  See
635              -m.
636
637       -max-iso9660-filenames
638              Allow  ISO9660  filenames  to be up to 37 characters long.  This
639              option enables -N as the extra name  space  is  taken  from  the
640              space reserved for file version numbers.
641              This  violates  the  ISO9660 standard, but it happens to work on
642              many systems.  Although a conforming application needs  to  pro‐
643              vide  a  buffer  space  of at least 37 characters, discs created
644              with this option may cause a  buffer  overflow  in  the  reading
645              operating system. Use with extreme care.
646
647       -M path
648
649       -M device
650
651       -dev device
652              Specifies  path  to  existing  ISO9660  image  to be merged. The
653              alternate form takes a SCSI device specifier that uses the  same
654              syntax  as the dev= parameter of wodim.  The output of genisoim‐
655              age will be a new session which should get written to the end of
656              the image specified in -M.  Typically this requires multisession
657              capability for the CD recorder used to write  the  image.   This
658              option may only be used in conjunction with -C.
659
660       -N
661
662       -omit-version-number
663              Omit version numbers from ISO9660 filenames.
664              This  violates  the ISO9660 standard, but no one really uses the
665              version numbers anyway.  Use with caution.
666
667       -new-dir-mode mode
668              Specify the mode, a 4-digit number as used in chmod(1),  to  use
669              when  creating  new  directories  in  the filesystem image.  The
670              default is 0555.
671
672       -nobak
673
674       -no-bak
675              Exclude backup files files on the ISO9660 filesystem;  that  is,
676              filenames that contain the characters `~' or `#' or end in .bak.
677              These are typically backup files for Unix text editors.
678
679       -force-rr
680              Do not use the automatic Rock Ridge attributes  recognition  for
681              previous  sessions.   This  can work around problems with images
682              created by, e.g., NERO Burning ROM.
683
684       -no-rr Do not use the Rock Ridge  attributes  from  previous  sessions.
685              This  may  help to avoid problems when genisoimage finds illegal
686              Rock Ridge signatures on an old session.
687
688       -no-split-symlink-components
689              Don't split the symlink components, but begin a new Continuation
690              Area  (CE)  instead.  This  may  waste some space, but the SunOS
691              4.1.4 cdrom driver has a bug in  reading  split  symlink  compo‐
692              nents.
693
694              It is questionable whether this option is useful nowadays.
695
696       -no-split-symlink-fields
697              Don't  split  the  symlink  fields, but begin a new Continuation
698              Area (CE) instead. This may waste  some  space,  but  the  SunOS
699              4.1.4 and Solaris 2.5.1 cdrom driver have a bug in reading split
700              symlink fields (a `/' can be dropped).
701
702              It is questionable whether this option is useful nowadays.
703
704       -o filename
705              Specify the output file for the the  ISO9660  filesystem  image.
706              This  can  be  a  disk  file, a tape drive, or it can correspond
707              directly to the device name of the optical disc writer.  If  not
708              specified,  stdout  is used.  Note that the output can also be a
709              block device for a regular disk partition,  in  which  case  the
710              ISO9660 filesystem can be mounted normally to verify that it was
711              generated correctly.
712
713       -pad   Pad the end of the whole image by 150 sectors  (300  kB).   This
714              option  is  enabled by default.  If used in combination with -B,
715              padding is inserted between the ISO9660 partition and  the  boot
716              partitions,  such that the first boot partition starts on a sec‐
717              tor number that is a multiple of 16.
718
719              The padding is needed as many  operating  systems  (e.g.  Linux)
720              implement  read-ahead  bugs  in their filesystem I/O. These bugs
721              result in read errors on files that are located near the end  of
722              a  track,  particularly  if the disc is written in Track At Once
723              mode, or where a CD audio track follows the data track.
724
725       -no-pad
726              Do not pad the end by 150 sectors (300 kB) and do not  make  the
727              the boot partitions start on a multiple of 16 sectors.
728
729       -path-list file
730              A  file  containing a list of pathspec directories and filenames
731              to be added to the ISO9660 filesystem. This  list  of  pathspecs
732              are  processed after any that appear on the command line. If the
733              argument is -, the list is read from the standard input.
734
735       -P     Outdated option; use -publisher instead.
736
737       -publisher publisher_id
738              Specifies a text string that will be  written  into  the  volume
739              header.   This should describe the publisher of the CD-ROM, usu‐
740              ally with a mailing address and phone number.   There  is  space
741              for  128  characters.   Equivalent to PUBL in the .genisoimagerc
742              file.
743
744       -p preparer_id
745
746       -preparer preparer_id
747              Specifies a text string that will be  written  into  the  volume
748              header.   This  should describe the preparer of the CD-ROM, usu‐
749              ally with a mailing address and phone number.   There  is  space
750              for  128  characters.   Equivalent to PREP in the .genisoimagerc
751              file.
752
753       -print-size
754              Print estimated filesystem size in multiples of the sector  size
755              (2048  bytes)  and  exit. This option is needed for Disk At Once
756              mode and with some CD-R drives when piping directly into  wodim,
757              cases where wodim needs to know the size of the filesystem image
758              in advance.  Old versions  of  mkisofs  wrote  this  information
759              (among  other  information)  to stderr.  As this turns out to be
760              hard to parse, the number without any other information  is  now
761              printed  on  stdout  too.   If  you like to write a simple shell
762              script, redirect stderr and catch the number from stdout.   This
763              may be done with:
764
765                   cdblocks=` genisoimage -print-size -quiet ... `
766                   genisoimage ... | wodim ... tsize=${cdblocks}s -
767
768       -quiet This  makes  genisoimage  even less verbose.  No progress output
769              will be provided.
770
771       -R
772
773       -rock  Generate SUSP and RR records using the Rock  Ridge  protocol  to
774              further describe the files on the ISO9660 filesystem.
775
776       -r
777
778       -rational-rock
779              This is like the -R option, but file ownership and modes are set
780              to more useful values.  The uid and gid are set to zero, because
781              they  are  usually  only  useful on the author's system, and not
782              useful to the client.  All the file read bits are set  true,  so
783              that  files and directories are globally readable on the client.
784              If any execute bit is set for a file, set  all  of  the  execute
785              bits, so that executables are globally executable on the client.
786              If any search bit is set for a directory, set all of the  search
787              bits, so that directories are globally searchable on the client.
788              All write bits are  cleared,  because  the  filesystem  will  be
789              mounted  read-only in any case.  If any of the special mode bits
790              are set, clear them, because file locks  are  not  useful  on  a
791              read-only  filesystem, and set-id bits are not desirable for uid
792              0 or gid 0.  When used on Win32, the execute bit is set  on  all
793              files. This is a result of the lack of file permissions on Win32
794              and the Cygwin POSIX emulation  layer.   See  also  -uid,  -gid,
795              -dir-mode, -file-mode and -new-dir-mode.
796
797       -relaxed-filenames
798              Allows  ISO9660  filenames to include all 7-bit ASCII characters
799              except lowercase letters.
800              This violates the ISO9660 standard, but it happens  to  work  on
801              many systems.  Use with caution.
802
803       -root dir
804              Moves  all  files and directories into dir in the image. This is
805              essentially the same as using -graft-points and  adding  dir  in
806              front of every pathspec, but is easier to use.  dir may actually
807              be several levels deep. It is created with the same  permissions
808              as other graft points.
809
810       -old-root dir
811              This  option  is necessary when writing a multisession image and
812              the previous (or even older) session was written with -root dir.
813              Using  a directory name not found in the previous session causes
814              genisoimage to  abort  with  an  error.   Without  this  option,
815              genisoimage would not be able to find unmodified files and would
816              be forced to write their data into the image once  more.   -root
817              and  -old-root  are  meant to be used together to do incremental
818              backups.  The initial session would e.g. use: genisoimage  -root
819              backup_1  dirs.   The  next  incremental backup with genisoimage
820              -root backup_2 -old-root backup_1 dirs would take another  snap‐
821              shot  of these directories. The first snapshot would be found in
822              backup_1, the second one in backup_2, but only modified  or  new
823              files need to be written into the second session.  Without these
824              options, new files would be added and old  ones  would  be  pre‐
825              served.  But old ones would be overwritten if the file was modi‐
826              fied. Recovering the files by copying the whole  directory  back
827              from  CD  would  also restore files that were deleted intention‐
828              ally. Accessing several older versions of a file  requires  sup‐
829              port  by the operating system to choose which sessions are to be
830              mounted.
831
832       -s sector type
833
834       -sectype sector type
835              Set output sector type to e.g. data/xa1/raw.
836               .TP -sort sort_file Sort file locations on the  media.  Sorting
837              is  controlled  by  a  file that contains pairs of filenames and
838              sorting offset weighting.  If the weighting is higher, the  file
839              will  be  located  closer  to the beginning of the media, if the
840              weighting is lower, the file will be located closer to  the  end
841              of  the  media.  There  must be only one space or tabs character
842              between the filename and the weight and the weight must  be  the
843              last  characters on a line. The filename is taken to include all
844              the characters up to, but not including the last  space  or  tab
845              character on a line. This is to allow for space characters to be
846              in, or at the end of a filename.  This option does not sort  the
847              order  of the filenames that appear in the ISO9660 directory. It
848              sorts the order in which the file data  is  written  to  the  CD
849              image, which is useful in order to optimize the data layout on a
850              CD. See README.sort for more details.
851
852       -sparc-boot img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
853              See -B above.
854
855       -sparc-label label
856              Set the Sun disk label name for the Sun disk label that is  cre‐
857              ated with -sparc-boot.
858
859       -split-output
860              Split  the output image into several files of approximately 1 GB
861              each.  This helps to create DVD-sized ISO9660 images on  operat‐
862              ing  systems without large file support.  wodim will concatenate
863              more than one file into a single track if writing to a DVD.   To
864              make  -split-output  work,  -o  filename  must be specified. The
865              resulting output images will be named: filename_00, filename_01,
866              filename_02....
867
868       -stream-media-size #
869              Select  streaming operation and set the media size to # sectors.
870              This allows you to pipe the output of the  tar(1)  program  into
871              genisoimage and to create an ISO9660 filesystem without the need
872              of an intermediate tar archive file.  If this  option  has  been
873              specified,  genisoimage reads from stdin and creates a file with
874              the name STREAM.IMG.  The maximum size of the  file  (with  pad‐
875              ding)  is  200  sectors  less  than the specified media size. If
876              -no-pad has been specified, the file size  is  50  sectors  less
877              than  the  specified  media  size.   If  the  file  is  smaller,
878              genisoimage will write padding. This may take awhile.
879
880              The option -stream-media-size creates simple ISO9660 filesystems
881              only  and  may  not  used  together  with multisession or hybrid
882              filesystem options.
883
884       -stream-file-name name
885              Reserved for future use.
886
887       -sunx86-boot UFS_img,,,AUX1_img
888              Specifies a comma-separated list of filesystem images  that  are
889              needed to make a bootable CD for Solaris x86 systems.
890
891              Note  that  partition  1  is used for the ISO9660 image and that
892              partition 2 is the whole disk, so partition 1 and 2 may  not  be
893              used by external partition data.  The first image file is mapped
894              to partition 0.  There may be empty fields  in  the  comma-sepa‐
895              rated  list,  and  list  entries  for  partition 1 and 2 must be
896              empty.   The  maximum  number  of  supported  partitions  is   8
897              (although the Solaris x86 partition table could support up to 16
898              partitions), so it is impossible to specify more than  6  parti‐
899              tion  images.  This option is required to make a bootable CD for
900              Solaris x86 systems.
901
902              If -sunx86-boot has been specified,  the  first  sector  of  the
903              resulting  image  will  contain  a PC fdisk label with a Solaris
904              type 0x82 fdisk partition that starts at offset  512  and  spans
905              the whole CD.  In addition, for the Solaris type 0x82 fdisk par‐
906              tition, there is a SVr4 disk label at offset 1024 in  the  first
907              sector  of  the  CD.   This disk label specifies slice 0 for the
908              first (usually UFS type) filesystem image that is used  to  boot
909              the  PC  and  slice  1 for the ISO9660 image.  Slice 2 spans the
910              whole CD slice 3 ... slice 7 may be used for additional filesys‐
911              tem images that have been specified with this option.
912
913              A  Solaris  x86 boot CD uses a 1024 byte sized primary boot that
914              uses the  El-Torito  no-emulation  boot  mode  and  a  secondary
915              generic boot that is in CD sectors 1..15.  For this reason, both
916              -b bootimage -no-emul-boot and -G genboot must be specified.
917
918       -sunx86-label label
919              Set the SVr4 disk label name for the SVr4  disk  label  that  is
920              created with -sunx86-boot.
921
922       -sysid ID
923              Specifies  the  system  ID.   There  is space for 32 characters.
924              Equivalent to SYSI in the .genisoimagerc file.
925
926       -T
927
928       -translation-table
929              Generate a file TRANS.TBL in each directory on the CD-ROM, which
930              can  be used on non-Rock Ridge-capable systems to help establish
931              the correct filenames.  There is also information present in the
932              file  that  indicates  the major and minor numbers for block and
933              character devices, and each symlink has the  name  of  the  link
934              file given.
935
936       -table-name table_name
937              Alternative  translation table filename (see above). Implies -T.
938              If you are creating a multisession image you must use  the  same
939              name as in the previous session.
940
941       -ucs-level level
942              Set  Unicode  conformance  level  in the Joliet SVD. The default
943              level is 3.  It may be set to 1..3 using this option.
944
945       -udf   Include UDF  filesystem  support  in  the  generated  filesystem
946              image.   UDF  support  is currently in alpha status and for this
947              reason, it is not possible to create UDF-only images.  UDF  data
948              structures  are  currently  coupled to the Joliet structures, so
949              there are many pitfalls with the current  implementation.  There
950              is  no  UID/GID  support,  there is no POSIX permission support,
951              there is no support for symlinks.   Note  that  UDF  wastes  the
952              space from sector ~20 to sector 256 at the beginning of the disc
953              in addition to the space needed for real UDF data structures.
954
955       -uid uid
956              Overrides the uid read from the source files  to  the  value  of
957              uid.   Specifying  this  option automatically enables Rock Ridge
958              extensions.
959
960       -use-fileversion
961              The option -use-fileversion allows genisoimage to use file  ver‐
962              sion  numbers  from the filesystem.  If the option is not speci‐
963              fied, genisoimage creates a version number of 1 for  all  files.
964              File  versions are strings in the range ;1 to ;32767 This option
965              is the default on VMS.
966
967       -U
968
969       -untranslated-filenames
970              Allows  "untranslated"  filenames,  completely   violating   the
971              ISO9660 standards described above.  Enables the following flags:
972              -d -l -N -allow-leading-dots -relaxed-filenames -allow-lowercase
973              -allow-multidot  -no-iso-translate.   Allows  more  than one `.'
974              character in the filename,  as  well  as  mixed-case  filenames.
975              This is useful on HP-UX, where the built-in cdfs filesystem does
976              not recognize any extensions. Use with extreme caution.
977
978       -no-iso-translate
979              Do not translate the characters `#' and `~'  which  are  invalid
980              for  ISO9660  filenames.  Although invalid, these characters are
981              often used by Microsoft systems.
982              This violates the ISO9660 standard, but it happens  to  work  on
983              many systems.  Use with caution.
984
985       -V volid
986              Specifies  the  volume  ID  (volume name or label) to be written
987              into the master  block.   There  is  space  for  32  characters.
988              Equivalent to VOLI in the .genisoimagerc file.  The volume ID is
989              used as the mount point by the Solaris volume manager and  as  a
990              label assigned to a disc on various other platforms such as Win‐
991              dows and Apple Mac OS.
992
993       -volset ID
994              Specifies the volume set ID.  There is space for 128 characters.
995              Equivalent to VOLS in the .genisoimagerc file.
996
997       -volset-size #
998              Sets  the volume set size to #.  The volume set size is the num‐
999              ber of CDs that are in a CD volume set.  A volume set is a  col‐
1000              lection  of  one  or  more  volumes,  on which a set of files is
1001              recorded.
1002
1003              Volume Sets are not intended to be used to create a set numbered
1004              CDs that are part of e.g. a Operation System installation set of
1005              CDs.  Volume Sets are rather used to record a big directory tree
1006              that  would not fit on a single volume.  Each volume of a Volume
1007              Set contains a description of all the directories and files that
1008              are  recorded on the volumes where the sequence numbers are less
1009              than, or equal to, the assigned Volume Set Size of  the  current
1010              volume.
1011
1012              genisoimage  currently  does  not support a -volset-size that is
1013              larger than 1.
1014
1015              The option -volset-size must be specified  before  -volset-seqno
1016              on each command line.
1017
1018       -volset-seqno #
1019              Sets  the  volume  set  sequence  number  to  #.  The volume set
1020              sequence number is the index number of the current CD  in  a  CD
1021              set.    The   option   -volset-size  must  be  specified  before
1022              -volset-seqno on each command line.
1023
1024       -v
1025
1026       -verbose
1027              Verbose execution. If given twice on  the  command  line,  extra
1028              debug information will be printed.
1029
1030       -x glob
1031              Identical to -m glob.
1032
1033       -XA    Generate XA directory attruibutes.
1034
1035       -xa    Generate rationalized XA directory attruibutes.
1036
1037       -z
1038
1039       -transparent-compression
1040              Generate  special  RRIP  records  for  transparently  compressed
1041              files.  This is only of use and interest for hosts that  support
1042              transparent  decompression,  such as Linux 2.4.14 or later.  You
1043              must specify -R or -r to enable Rock Ridge,  and  generate  com‐
1044              pressed   files   using  the  mkzftree  utility  before  running
1045              genisoimage.  Note that transparent compression is a nonstandard
1046              Rock  Ridge  extension.   The resulting disks are only transpar‐
1047              ently readable if used on Linux.  On other operating systems you
1048              will need to call mkzftree by hand to decompress the files.
1049

HFS OPTIONS

1051       -hfs   Create  an  ISO9660/HFS hybrid CD. This option should be used in
1052              conjunction with the -map, -magic and/or the various double dash
1053              options given below.
1054
1055       -apple Create  an  ISO9660 CD with Apple's extensions. Similar to -hfs,
1056              except that the Apple Extensions to ISO9660 are added instead of
1057              creating  an HFS hybrid volume.  Former genisoimage versions did
1058              include Rock Ridge attributes by default if  -apple  was  speci‐
1059              fied.  This versions of genisoimage does not do this anymore. If
1060              you like to have Rock Ridge attributes, you need to specify this
1061              separately.
1062
1063       -map mapping_file
1064              Use the mapping_file to set the CREATOR and TYPE information for
1065              a file based on the filename's extension. A filename  is  mapped
1066              only  if  it is not one of the know Apple/Unix file formats. See
1067              the HFS CREATOR/TYPE section below.
1068
1069       -magic magic_file
1070              The CREATOR and TYPE information is set by using a file's  magic
1071              number  (usually  the first few bytes of a file). The magic_file
1072              is only used if a file is not one of the known  Apple/Unix  file
1073              formats,  or  the  filename  extension has not been mapped using
1074              -map.  See the HFS CREATOR/TYPE section below for more details.
1075
1076       -hfs-creator creator
1077              Set the default CREATOR for all files. Must be exactly 4 charac‐
1078              ters. See the HFS CREATOR/TYPE section below for more details.
1079
1080       -hfs-type type
1081              Set  the  default  TYPE for all files. Must be exactly 4 charac‐
1082              ters. See the HFS CREATOR/TYPE section below for more details.
1083
1084       -probe Search the contents of files for all the known  Apple/Unix  file
1085              formats.   See  the HFS MACINTOSH FILE FORMATS section below for
1086              more about these formats.  However, the only way  to  check  for
1087              MacBinary  and  AppleSingle  files  is to open and read them, so
1088              this option may increase processing time. It is  better  to  use
1089              one  or  more  double dash options given below if the Apple/Unix
1090              formats in use are known.
1091
1092       -no-desktop
1093              Do not create (empty) Desktop files. New HFS Desktop files  will
1094              be created when the CD is used on a Macintosh (and stored in the
1095              System Folder).  By default, empty Desktop files  are  added  to
1096              the HFS volume.
1097
1098       -mac-name
1099              Use  the  HFS  filename  as  the starting point for the ISO9660,
1100              Joliet and Rock Ridge filenames. See the HFS MACINTOSH FILENAMES
1101              section below for more information.
1102
1103       -boot-hfs-file driver_file
1104              Installs the driver_file that may make the CD bootable on a Mac‐
1105              intosh. See the HFS BOOT DRIVER section below. (Alpha).
1106
1107       -part  Generate an HFS partition table. By default, no partition  table
1108              is  generated,  but  some older Macintosh CD-ROM drivers need an
1109              HFS partition table on the CD-ROM to  be  able  to  recognize  a
1110              hybrid CD-ROM.
1111
1112       -auto AutoStart_file
1113              Make  the  HFS  CD  use  the  QuickTime 2.0 Autostart feature to
1114              launch an application or document. The given  filename  must  be
1115              the  name  of a document or application located at the top level
1116              of the CD.  The  filename  must  be  less  than  12  characters.
1117              (Alpha).
1118
1119       -cluster-size size
1120              Set  the  size in bytes of the cluster or allocation units of PC
1121              Exchange files. Implies --exchange.  See the HFS MACINTOSH  FILE
1122              FORMATS section below.
1123
1124       -hide-hfs glob
1125              Hide  glob,  a shell wildcard pattern, from the HFS volume.  The
1126              file or directory will still exist in the ISO9660 and/or  Joliet
1127              directory.   glob  may match any part of the filename.  Multiple
1128              globs may be excluded.  Example:
1129
1130                   genisoimage -o rom -hfs -hide-hfs '*.o' -hide-hfs foobar
1131
1132              would exclude all files ending in `.o' or called foobar from the
1133              HFS  volume.  Note that if you had a directory called foobar, it
1134              too (and of course all its descendants) would be excluded.   The
1135              glob  can also be a path name relative to the source directories
1136              given on the command line. Example:
1137
1138                   genisoimage -o rom -hfs -hide-hfs src/html src
1139
1140              would exclude just the file or directory called  html  from  the
1141              src  directory.   Any other file or directory called html in the
1142              tree will not be excluded.  Should be  used  with  -hide  and/or
1143              -hide-joliet.  In order to match a directory name, make sure the
1144              pattern  does  not  include  a  trailing  `/'   character.   See
1145              README.hide for more details.
1146
1147       -hide-hfs-list file
1148              Specify a file containing a list of wildcard patterns to be hid‐
1149              den as in -hide-hfs.
1150
1151       -hfs-volid hfs_volid
1152              Volume name for the HFS partition. This  is  the  name  that  is
1153              assigned  to the disc on a Macintosh and replaces the volid used
1154              with -V.
1155
1156       -icon-position
1157              Use the icon  position  information,  if  it  exists,  from  the
1158              Apple/Unix  file.  The icons will appear in the same position as
1159              they would on a Macintosh desktop. Folder location and  size  on
1160              screen,  its scroll positions, folder View (view as Icons, Small
1161              Icons, etc.) are also preserved.  (Alpha).
1162
1163       -root-info file
1164              Set the location, size on screen, scroll positions, folder  View
1165              etc.  for  the root folder of an HFS volume. See README.rootinfo
1166              for more information.  (Alpha)
1167
1168       -prep-boot file
1169              PReP boot image file. Up to 4 are allowed. See  README.prep_boot
1170              for more information.  (Alpha)
1171
1172       -chrp-boot
1173              Add CHRP boot header.
1174
1175       -input-hfs-charset charset
1176              Input  charset that defines the characters used in HFS filenames
1177              when used with -mac-name.  The default charset is  cp10000  (Mac
1178              Roman).  See the CHARACTER SETS and HFS MACINTOSH FILENAMES sec‐
1179              tions below for more details.
1180
1181       -output-hfs-charset charset
1182              Output charset that defines the characters that will be used  in
1183              the  HFS filenames. Defaults to the input charset. See the CHAR‐
1184              ACTER SETS section below for more details.
1185
1186       -hfs-unlock
1187              By default, genisoimage  will  create  an  HFS  volume  that  is
1188              locked.   This  option  leaves the volume unlocked so that other
1189              applications (e.g.  hfsutils) can modify the volume. See the HFS
1190              PROBLEMS/LIMITATIONS section below for warnings about using this
1191              option.
1192
1193       -hfs-bless folder_name
1194              "Bless" the given directory (folder). This is usually the System
1195              Folder and is used in creating HFS bootable CDs. The name of the
1196              directory must be the whole path name as  genisoimage  sees  it.
1197              E.g.,  if the given pathspec is ./cddata and the required folder
1198              is called System Folder, the whole path name is  "/cddata/System
1199              Folder" (remember to use quotes if the name contains spaces).
1200
1201       -hfs-parms parameters
1202              Override  certain  parameters used to create the HFS filesystem.
1203              Unlikely to be used  in  normal  circumstances.   See  the  lib‐
1204              hfs_iso/hybrid.h source file for details.
1205
1206       --cap  Look  for  AUFS  CAP  Macintosh files. Search for CAP Apple/Unix
1207              file formats only. Searching for the other  possible  Apple/Unix
1208              file  formats  is disabled, unless other double dash options are
1209              given.
1210
1211       --netatalk
1212              Look for NETATALK Macintosh files
1213
1214       --double
1215              Look for AppleDouble Macintosh files
1216
1217       --ethershare
1218              Look for Helios EtherShare Macintosh files
1219
1220       --ushare
1221              Look for IPT UShare Macintosh files
1222
1223       --exchange
1224              Look for PC Exchange Macintosh files
1225
1226       --sgi  Look for SGI Macintosh files
1227
1228       --xinet
1229              Look for XINET Macintosh files
1230
1231       --macbin
1232              Look for MacBinary Macintosh files
1233
1234       --single
1235              Look for AppleSingle Macintosh files
1236
1237       --dave Look for Thursby Software Systems DAVE Macintosh files
1238
1239       --sfm  Look for Microsoft's Services  for  Macintosh  files  (NT  only)
1240              (Alpha)
1241
1242       --osx-double
1243              Look for Mac OS X AppleDouble Macintosh files
1244
1245       --osx-hfs
1246              Look for Mac OS X HFS Macintosh files
1247

CHARACTER SETS

1249       genisoimage  processes filenames in a POSIX-compliant way as strings of
1250       8-bit characters.  To represent all codings for  all  languages,  8-bit
1251       characters  are  not sufficient.  Unicode or ISO-10646 define character
1252       codings that need at least 21 bits to represent  all  known  languages.
1253       They  may  be  represented with UTF-32, UTF-16 or UTF-8 coding.  UTF-32
1254       uses a plain 32-bit coding but seems to be uncommon.  UTF-16 is used by
1255       Microsoft  with  Win32 with the disadvantage that 16-bit characters are
1256       not compliant with the POSIX filesystem interface.
1257
1258       Modern Unix operating systems may use UTF-8 coding for filenames.  Each
1259       32-bit  character is represented by one or more 8-bit characters.  If a
1260       character is coded in ISO-8859-1 (used  in  Central  Europe  and  North
1261       America) is maps 1:1 to a UTF-32 or UTF-16 coded Unicode character.  If
1262       a character is coded in 7-Bit ASCII (used in USA  and  other  countries
1263       with  limited  character  set) is maps 1:1 to a UTF-32, UTF-16 or UTF-8
1264       coded Unicode character.  Character codes that cannot be represented as
1265       a  single  byte  in UTF-8 (if the value is > 0x7F) use escape sequences
1266       that map to more than one 8-bit character.
1267
1268       If all operating systems used UTF-8,  genisoimage  would  not  need  to
1269       recode  characters  in filenames.  Unfortunately, Apple uses completely
1270       nonstandard codings and Microsoft uses a Unicode  coding  that  is  not
1271       compatible with the POSIX filename interface.
1272
1273       For  all  non-UTF-8-coded  operating systems, the actual character that
1274       each byte represents depends on the character set or codepage (the name
1275       used  by Microsoft) used by the local operating system — the characters
1276       in a character set will reflect the region or natural language  set  by
1277       the user.
1278
1279       Usually   character  codes  0x00-0x1f  are  control  characters,  codes
1280       0x20-0x7f are  the  7-bit  ASCII  characters  and  (on  PCs  and  Macs)
1281       0x80-0xff are used for other characters.
1282
1283       As  there  are  a  lot  more than 256 characters/symbols in use, only a
1284       small subset are represented in a character  set.  Therefore  the  same
1285       character code may represent a different character in different charac‐
1286       ter sets. So a filename generated, say in central Europe, may not  dis‐
1287       play  the  same  character  when  viewed  on  a machine in, say eastern
1288       Europe.
1289
1290       To make matters more complicated, different operating systems use  dif‐
1291       ferent  character  sets  for  the  region or language. For example, the
1292       character code for `é' (small e with acute  accent)  may  be  character
1293       code 0x82 on a PC, code 0x8e on a Macintosh, code 0xe9 on a Unix system
1294       in western Europe, and code 0x000e9 in Unicode.
1295
1296       As long as not all operating systems  and  applications  use  the  same
1297       character  set as the basis for filenames, it may be necessary to spec‐
1298       ify which character set your filenames use in and which  character  set
1299       the filenames should appear on the CD.
1300
1301       There are four options to specify the character sets you want to use:
1302
1303       -input-charset
1304              Defines  the  local  character  set  you  are using on your host
1305              machine.  Any character set conversions that take place will use
1306              this  character  set  as  the  starting point. The default input
1307              character sets are cp437 on MS-DOS-based systems  and  iso8859-1
1308              on  all  other systems.  If -J is given, the Unicode equivalents
1309              of the input character set will be used in the Joliet directory.
1310              -jcharset is the same as -input-charset -J.
1311
1312       -output-charset
1313              Defines  the  character  set that will be used with for the Rock
1314              Ridge names on the CD.  Defaults to the input character set.
1315
1316       -input-hfs-charset
1317              Defines the HFS character set used  for  HFS  filenames  decoded
1318              from  any  of  the  various Apple/Unix file formats. Only useful
1319              when used with -mac-name.  See the HFS MACINTOSH  FILENAMES  for
1320              more information. Defaults to cp10000 (Mac Roman).
1321
1322       -output-hfs-charset
1323              Defines  the HFS character set used to create HFS filenames from
1324              the input character set in use. In most cases this will be  from
1325              the  character  set  given with -input-charset.  Defaults to the
1326              input HFS character set.
1327
1328       There are a number of character sets built in to genisoimage.  To get a
1329       listing,  use  -input-charset  help.   This  list  doesn't  include the
1330       charset derived from the current locale, if genisoimage is  built  with
1331       iconv support.
1332
1333       Additional  character sets can be read from file for any of the charac‐
1334       ter set options by giving a filename as the argument  to  the  options.
1335       The  given file will only be read if its name does not match one of the
1336       built-in character sets.
1337
1338       The format of the character set files is the same as the mapping  files
1339       available from http://www.unicode.org/Public/MAPPINGS.  This format is:
1340
1341              Column #1 is the input byte code (in hex as 0xXX)
1342              Column #2 is the Unicode (in hex as 0xXXXX)
1343              The rest of the line is ignored.
1344
1345       Any  blank line, line without two (or more) columns in the above format
1346       or comments lines (starting with the # character) are  ignored  without
1347       any  warnings.  Any  missing  input code is mapped to Unicode character
1348       0x0000.
1349
1350       Note that, while UTF-8 is supported, other Unicode  encodings  such  as
1351       UCS-2/UTF-16  and UCS-4/UTF-32 are not, as POSIX operating systems can‐
1352       not handle them natively.
1353
1354       A 1:1 character set mapping can be defined by using the keyword default
1355       as the argument to any of the character set options. This is the behav‐
1356       iour of old versions of mkisofs.
1357
1358       The ISO9660 filenames generated from the input filenames are  not  con‐
1359       verted  from  the  input  character set. The ISO9660 character set is a
1360       very limited subset of the ASCII characters, so any conversion would be
1361       pointless.
1362
1363       Any  character  that genisoimage cannot convert will be replaced with a
1364       `_' character.
1365

HFS CREATOR/TYPE

1367       A Macintosh file has two properties associated  with  it  which  define
1368       which  application created the file, the CREATOR and what data the file
1369       contains, the TYPE.  Both are (exactly) 4 letter strings. Usually  this
1370       allows  a  Macintosh user to double-click on a file and launch the cor‐
1371       rect application etc. The CREATOR and TYPE of a particular file can  be
1372       found by using something like ResEdit (or similar) on a Macintosh.
1373
1374       The  CREATOR  and  TYPE  information  is  stored  in  all  the  various
1375       Apple/Unix encoded files.  For other files it is possible to  base  the
1376       CREATOR and TYPE on the filename's extension using a mapping file (with
1377       -map) and/or using the magic number (usually a signature in  the  first
1378       few  bytes)  of a file (with -magic).  If both these options are given,
1379       their order on the command line  is  significant.   If  -map  is  given
1380       first,  a  filename  extension match is attempted before a magic number
1381       match. However, if -magic is given  first,  a  magic  number  match  is
1382       attempted before a filename extension match.
1383
1384       If  a  mapping  or  magic  file  is not used, or no match is found, the
1385       default CREATOR and TYPE for all regular files  can  be  set  by  using
1386       entries  in  the  .genisoimagerc  file  or  using  -hfs-creator  and/or
1387       -hfs-type, otherwise the default CREATOR and TYPE are Unix and TEXT.
1388
1389       The format of the mapping file is the same afpfile format  as  used  by
1390       aufs.   This file has five columns for the extension, file translation,
1391       CREATOR, TYPE and Comment.  Lines starting with the `#'  character  are
1392       comment lines and are ignored. An example file would be like:
1393
1394       # Example filename mapping file
1395       #
1396       # EXTN   XLate   CREATOR   TYPE     Comment
1397       .tif     Raw     '8BIM'    'TIFF'   "Photoshop TIFF image"
1398       .hqx     Ascii   'BnHq'    'TEXT'   "BinHex file"
1399       .doc     Raw     'MSWD'    'WDBN'   "Word file"
1400       .mov     Raw     'TVOD'    'MooV'   "QuickTime Movie"
1401       *        Ascii   'ttxt'    'TEXT'   "Text file"
1402
1403       Where:
1404
1405              The  first column EXTN defines the Unix filename extension to be
1406              mapped. The default mapping  for  any  filename  extension  that
1407              doesn't match is defined with the `*' character.
1408
1409              The  Xlate  column  defines the type of text translation between
1410              the Unix and Macintosh file it is ignored by genisoimage, but is
1411              kept  to  be compatible with aufs(1).  Although genisoimage does
1412              not alter the contents of a file, if a binary file has its  TYPE
1413              set  as  TEXT, it may be read incorrectly on a Macintosh. There‐
1414              fore a better choice for the default TYPE may be ????.
1415
1416              The CREATOR and TYPE keywords must  be  4  characters  long  and
1417              enclosed in single quotes.
1418
1419              The  comment  field is enclosed in double quotes — it is ignored
1420              by genisoimage, but is kept to be compatible with aufs.
1421
1422       The format of the magic file is almost identical to the  magic(5)  file
1423       used by the file(1) command.
1424
1425       This  file  has  four  tab-separated columns for the byte offset, type,
1426       test and message.  Lines starting with the `#'  character  are  comment
1427       lines and are ignored. An example file would be like:
1428
1429       # Example magic file
1430       #
1431       # off   type      test       message
1432       0       string    GIF8       8BIM GIFf  GIF image
1433       0       beshort   0xffd8     8BIM JPEG  image data
1434       0       string    SIT!       SIT! SIT!  StuffIt Archive
1435       0       string    \037\235   LZIV ZIVU  standard Unix compress
1436       0       string    \037\213   GNUz ZIVU  gzip compressed data
1437       0       string    %!         ASPS TEXT  Postscript
1438       0       string    \004%!     ASPS TEXT  PC Postscript with a ^D to start
1439       4       string    moov       txtt MooV  QuickTime movie file (moov)
1440       4       string    mdat       txtt MooV  QuickTime movie file (mdat)
1441
1442       The  format  of the file is described in magic(5).  The only difference
1443       here is that for each entry in the magic file, the message for the ini‐
1444       tial offset must be be 4 characters for the CREATOR followed by 4 char‐
1445       acters for the TYPE — white space is optional between them.  Any  other
1446       characters on this line are ignored.  Continuation lines (starting with
1447       a `>') are also ignored, i.e., only the initial offset lines are used.
1448
1449       Using -magic may significantly increase processing time  as  each  file
1450       has to opened and read to find its magic number.
1451
1452       In  summary, for all files, the default CREATOR is Unix and the default
1453       TYPE is TEXT.  These can be changed by using entries in the  .genisoim‐
1454       agerc file or by using -hfs-creator and/or -hfs-type.
1455
1456       If the a file is in one of the known Apple/Unix formats (and the format
1457       has been selected), the CREATOR and TYPE  are  taken  from  the  values
1458       stored in the Apple/Unix file.
1459
1460       Other  files  can  have  their CREATOR and TYPE set from their filename
1461       extension (with -map), or their magic number  (with  -magic).   If  the
1462       default  match  is  used in the mapping file, these values override the
1463       default CREATOR and TYPE.
1464
1465       A    full     CREATOR/TYPE     database     can     be     found     at
1466       http://www.angelfire.com/il/szekely/.
1467

HFS MACINTOSH FILE FORMATS

1469       Macintosh  files  have  two  parts  called  the Data and Resource fork.
1470       Either may be empty. Unix (and many other OSs) can only cope with files
1471       having  one part (or fork). To add to this, Macintosh files have a num‐
1472       ber of attributes associated with them — probably  the  most  important
1473       are the TYPE and CREATOR.  Again, Unix has no concept of these types of
1474       attributes.
1475
1476       E.g., a Macintosh file may be a JPEG image where the image is stored in
1477       the  Data  fork and a desktop thumbnail stored in the Resource fork. It
1478       is usually the information in the data fork that is useful across plat‐
1479       forms.
1480
1481       Therefore  to store a Macintosh file on a Unix filesystem, a way has to
1482       be found to cope with the two forks and the extra attributes (which are
1483       referred  to  as  the Finder info).  Unfortunately, it seems that every
1484       software package that stores Macintosh files on Unix has chosen a  com‐
1485       pletely different storage method.
1486
1487       The Apple/Unix formats that genisoimage (partially) supports are:
1488
1489       CAP AUFS format
1490              Data  fork  stored  in  a  file.  Resource  fork in subdirectory
1491              .resource with same filename as data fork. Finder info in subdi‐
1492              rectory .finderinfo with same filename.
1493
1494       AppleDouble/Netatalk
1495              Data  fork stored in a file. Resource fork stored in a file with
1496              same name prefixed with `%'. Finder info also stored in same `%'
1497              file.   Netatalk   uses   the  same  format,  but  the  resource
1498              fork/Finder info stored in subdirectory .AppleDouble  with  same
1499              filename as data fork.
1500
1501       AppleSingle
1502              Data  structures  similar to above, except both forks and Finder
1503              info are stored in one file.
1504
1505       Helios EtherShare
1506              Data fork stored in a  file.   Resource  fork  and  Finder  info
1507              together in subdirectory .rsrc with same filename as data fork.
1508
1509       IPT UShare
1510              Like  the  EtherShare  format,  but  the  Finder  info is stored
1511              slightly differently.
1512
1513       MacBinary
1514              Both forks and Finder info stored in one file.
1515
1516       Apple PC Exchange
1517              Used by Macintoshes to store Apple files  on  DOS  (FAT)  disks.
1518              Data  fork  stored  in  a  file.  Resource  fork in subdirectory
1519              resource.frk (or RESOURCE.FRK).  Finder info as  one  record  in
1520              file  finder.dat  (or FINDER.DAT).  Separate finder.dat for each
1521              data fork directory.
1522
1523              Note: genisoimage needs to know the native FAT cluster  size  of
1524              the  disk that the PC Exchange files are on (or have been copied
1525              from). This size is given  by  -cluster-size.   The  cluster  or
1526              allocation size can be found by using the DOS utility chkdsk.
1527
1528              May  not  work  with PC Exchange v2.2 or higher files (available
1529              with MacOS 8.1).  DOS media containing PC Exchange files  should
1530              be mounted as type msdos (not vfat) when using Linux.
1531
1532       SGI/XINET
1533              Used by SGI machines when they mount HFS disks. Data fork stored
1534              in a file.  Resource fork in subdirectory .HSResource with  same
1535              filename.  Finder info as one record in file .HSancillary.  Sep‐
1536              arate .HSancillary for each data fork directory.
1537
1538       Thursby Software Systems DAVE
1539              Allows Macintoshes to store Apple files on  SMB  servers.   Data
1540              fork   stored   in   a   file.  Resource  fork  in  subdirectory
1541              resource.frk.  Uses the AppleDouble  format  to  store  resource
1542              fork.
1543
1544       Services for Macintosh
1545              Format  of  files stored by NT Servers on NTFS filesystems. Data
1546              fork is stored as filename.  Resource  fork  stored  as  a  NTFS
1547              stream  called filename:AFP_Resource.  The Finder info is stored
1548              as a NTFS stream called filename:Afp_AfpInfo.  NTFS streams  are
1549              normally invisible to the user.
1550
1551              Warning:  genisoimage only partially supports the SFM format. If
1552              an HFS file or folder stored on the NT server contains an  ille‐
1553              gal  NT  character  in its name, NT converts these characters to
1554              Private Use Unicode characters.  The characters are: " * / < > ?
1555              \  |  and  a  space or period if it is the last character of the
1556              filename, character codes 0x01 to 0x1f (control characters)  and
1557              Apple's apple logo.
1558
1559              Unfortunately, these private Unicode characters are not readable
1560              by the genisoimage NT executable. Therefore any file  or  direc‐
1561              tory  name containing these characters will be ignored — includ‐
1562              ing the contents of any such directory.
1563
1564       Mac OS X AppleDouble
1565              When HFS/HFS+ files are copied or saved by Mac OS X on to a non-
1566              HFS  filesystem  (e.g.  UFS,  NFS etc.), the files are stored in
1567              AppleDouble format.  Data fork stored in a file.  Resource  fork
1568              stored  in a file with same name prefixed with `._'. Finder info
1569              also stored in same `._' file.
1570
1571       Mac OS X HFS (Alpha)
1572              Not really an Apple/Unix encoding, but actual HFS/HFS+ files  on
1573              a  Mac OS X  system.  Data  fork stored in a file. Resource fork
1574              stored in a pseudo file with  the  same  name  with  the  suffix
1575              /rsrc.  The Finder info is only available via a Mac OS X library
1576              call.
1577
1578              See also README.macosx.
1579
1580              Only works when used on Mac OS X.
1581
1582              If a file is found with a zero length resource  fork  and  empty
1583              finderinfo,  it is assumed not to have any Apple/Unix encoding —
1584              therefore a TYPE and CREATOR can be set using other methods.
1585
1586       genisoimage will attempt to set the CREATOR, TYPE,  date  and  possibly
1587       other  flags from the finder info. Additionally, if it exists, the Mac‐
1588       intosh filename is set from the finder info,  otherwise  the  Macintosh
1589       name  is  based  on the Unix filename — see the HFS MACINTOSH FILENAMES
1590       section below.
1591
1592       When using -apple, the TYPE and CREATOR are stored in the optional Sys‐
1593       tem  Use  or  SUSP  field in the ISO9660 Directory Record — in much the
1594       same way as the Rock Ridge attributes are. In fact to make  life  easy,
1595       the  Apple  extensions  are added at the beginning of the existing Rock
1596       Ridge attributes (i.e., to get the Apple extensions you  get  the  Rock
1597       Ridge extensions as well).
1598
1599       The  Apple  extensions  require  the  resource  fork to be stored as an
1600       ISO9660 associated file. This is just like any normal  file  stored  in
1601       the  ISO9660  filesystem except that the associated file flag is set in
1602       the Directory Record (bit 2). This file has the same name as  the  data
1603       fork  (the  file seen by non-Apple machines). Associated files are nor‐
1604       mally ignored by other OSs
1605
1606       When using -hfs, the TYPE and  CREATOR  plus  other  finder  info,  are
1607       stored  in a separate HFS directory, not visible on the ISO9660 volume.
1608       The HFS directory references the same  data  and  resource  fork  files
1609       described above.
1610
1611       In  most cases, it is better to use -hfs instead of -apple, as the lat‐
1612       ter imposes the limited ISO9660 characters allowed in  filenames.  How‐
1613       ever,  the  Apple  extensions  do give the advantage that the files are
1614       packed on the disk more efficiently and it may be possible to fit  more
1615       files on a CD.
1616

HFS MACINTOSH FILENAMES

1618       Where possible, the HFS filename that is stored with an Apple/Unix file
1619       is used for the HFS part of the CD. However,  not  all  the  Apple/Unix
1620       encodings  store  the HFS filename with the finderinfo. In these cases,
1621       the Unix filename is used — with escaped  special  characters.  Special
1622       characters include `/' and characters with codes over 127.
1623
1624       AUFS  escapes  these  characters by using `:' followed by the character
1625       code as two hex digits. Netatalk and EtherShare have a similar  scheme,
1626       but uses `%' instead of a `:'.
1627
1628       If genisoimage cannot find an HFS filename, it uses the Unix name, with
1629       any %xx or :xx characters (xx are two hex digits) converted to a single
1630       character  code.  If xx are not hex digits ([0-9a-fA-F]), they are left
1631       alone — although any remaining `:' is converted to `%', as `:'  is  the
1632       HFS  directory  separator. Care must be taken, as an ordinary Unix file
1633       with %xx or :xx will also be converted. e.g.
1634
1635       This:2fFile   converted to This/File
1636
1637       This:File     converted to This%File
1638
1639       This:t7File   converted to This%t7File
1640
1641       Although HFS filenames appear to support uppercase and  lowercase  let‐
1642       ters,  the  filesystem is case-insensitive, i.e., the filenames aBc and
1643       AbC are the same. If a file is found in a directory with the  same  HFS
1644       name,  genisoimage  will  attempt  to  make a unique name by adding `_'
1645       characters to one of the filenames.
1646
1647       If an HFS filename exists for a file, genisoimage can use this name  as
1648       the  starting  point  for  the ISO9660, Joliet and Rock Ridge filenames
1649       using -mac-name.  Normal Unix files without an HFS name will still  use
1650       their Unix name.  e.g.
1651
1652       If  a MacBinary (or PC Exchange) file is stored as someimage.gif.bin on
1653       the Unix filesystem, but contains a HFS file called someimage.gif, this
1654       is  the  name  that would appear on the HFS part of the CD. However, as
1655       genisoimage uses the Unix name as the  starting  point  for  the  other
1656       names, the ISO9660 name generated will probably be SOMEIMAG.BIN and the
1657       Joliet/Rock Ridge would be someimage.gif.bin.  This option will use the
1658       HFS  filename  as the starting point and the ISO9660 name will probably
1659       be SOMEIMAG.GIF and the Joliet/Rock Ridge would be someimage.gif.
1660
1661       -mac-name will not currently work with -T — the Unix name will be  used
1662       in the TRANS.TBL file, not the Macintosh name.
1663
1664       The  character  set  used  to convert any HFS filename to a Joliet/Rock
1665       Ridge filename defaults to cp10000 (Mac Roman).  The character set used
1666       can  be specified using -input-hfs-charset.  Other built-in HFS charac‐
1667       ter  sets  are:  cp10006  (MacGreek),  cp10007  (MacCyrillic),  cp10029
1668       (MacLatin2), cp10079 (MacIcelandandic) and cp10081 (MacTurkish).
1669
1670       Note:  the character codes used by HFS filenames taken from the various
1671       Apple/Unix formats will not be converted as they are assumed to  be  in
1672       the  correct  Apple  character  set.  Only  the Joliet/Rock Ridge names
1673       derived from the HFS filenames will be converted.
1674
1675       The existing genisoimage code will filter out  any  illegal  characters
1676       for  the ISO9660 and Joliet filenames, but as genisoimage expects to be
1677       dealing directly with Unix names, it leaves the Rock Ridge names as is.
1678       But as `/' is a legal HFS filename character, -mac-name converts `/' to
1679       a `_' in Rock Ridge filenames.
1680
1681       If the Apple extensions are  used,  only  the  ISO9660  filenames  will
1682       appear  on the Macintosh. However, as the Macintosh ISO9660 drivers can
1683       use Level 2 filenames, you can use options like -allow-multidot without
1684       problems  on  a Macintosh — still take care over the names, for example
1685       this.file.name will be converted to THIS.FILE i.e. only have  one  `.',
1686       also  filename  abcdefgh will be seen as ABCDEFGH but abcdefghi will be
1687       seen as ABCDEFGHI.  i.e. with a `.' at the end — don't know if this  is
1688       a  Macintosh  problem  or a genisoimage/mkhybrid problem. All filenames
1689       will be in uppercase when viewed on a Macintosh. Of course,  DOS/Win3.X
1690       machines will not be able to see Level 2 filenames...
1691

HFS CUSTOM VOLUME/FOLDER ICONS

1693       To  give  a HFS CD a custom icon, make sure the root (top level) folder
1694       includes a standard Macintosh volume icon file. To give a volume a cus‐
1695       tom  icon  on  a  Macintosh, an icon has to be pasted over the volume's
1696       icon in the "Get Info" box of the volume.  This  creates  an  invisible
1697       file  called Icon\r (`\r' is the carriage return character) in the root
1698       folder.
1699
1700       A custom folder icon is very similar — an invisible file called  Icon\r
1701       exists in the folder itself.
1702
1703       Probably  the  easiest way to create a custom icon that genisoimage can
1704       use is to format a blank HFS floppy disk on a Mac and paste an icon  to
1705       its "Get Info" box. If using Linux with the HFS module installed, mount
1706       the floppy:
1707
1708              mount -t hfs /dev/fd0 /mnt/floppy
1709
1710       The floppy will be mounted as a CAP filesystem by  default.   Then  run
1711       genisoimage using something like:
1712
1713              genisoimage --cap -o output source_dir /mnt/floppy
1714
1715       If  you are not using Linux, you can use hfsutils to copy the icon file
1716       from the floppy.  However, care has to be taken, as the icon file  con‐
1717       tains a control character.  For example:
1718
1719              hmount /dev/fd0
1720              hdir -a
1721              hcopy -m Icon^V^M icon_dir/icon
1722
1723       Where  `^V^M'  is control-V followed by control-M. Then run genisoimage
1724       by using something like:
1725
1726              genisoimage --macbin -o output source_dir icon_dir
1727
1728       The procedure for creating/using custom folder icons is very similar  —
1729       paste  an  icon  to  folder's "Get Info" box and transfer the resulting
1730       Icon\r file to the relevant directory in the genisoimage source tree.
1731
1732       You may want to hide the icon files from the ISO9660 and Joliet trees.
1733
1734       To give a custom icon to a Joliet CD, follow the instructions found  at
1735       http://www.cdrfaq.org/faq03.html#S3-21-1.
1736

HFS BOOT DRIVER

1738       It may be possible to make the hybrid CD bootable on a Macintosh.
1739
1740       A  bootable  HFS  CD requires an Apple CD-ROM (or compatible) driver, a
1741       bootable HFS partition and the necessary System, Finder, etc. files.
1742
1743       A driver can be obtained from any other Macintosh bootable CD-ROM using
1744       the   apple_driver   utility.   This   file   can  then  be  used  with
1745       -boot-hfs-file.
1746
1747       The HFS partition (i.e. the hybrid disk in our  case)  must  contain  a
1748       suitable System Folder, again from another CD-ROM or disk.
1749
1750       For  a  partition  to be bootable, it must have its boot block set. The
1751       boot block is in the first two  blocks  of  a  partition.  For  a  non-
1752       bootable  partition  the  boot block is full of zeros. Normally, when a
1753       System file is copied to partition on a Macintosh disk, the boot  block
1754       is  filled  with  a number of required settings — unfortunately I don't
1755       know the full spec for the boot block, so I'm guessing that the follow‐
1756       ing will work.
1757
1758       Therefore,  the  utility apple_driver also extracts the boot block from
1759       the first HFS partition it finds on the given CD-ROM and this  is  used
1760       for the HFS partition created by genisoimage.
1761
1762       Please note: By using a driver from an Apple CD and copying Apple soft‐
1763       ware to your CD, you become liable to obey Apple Computer,  Inc.  Soft‐
1764       ware License Agreements.
1765

EL TORITO BOOT INFORMATION TABLE

1767       When  -boot-info-table  is given, genisoimage will modify the boot file
1768       specified by -b by inserting a 56-byte boot information table at offset
1769       8  in the file.  This modification is done in the source filesystem, so
1770       make sure you use a copy if this file is not  easily  recreated!   This
1771       file  contains pointers which may not be easily or reliably obtained at
1772       boot time.
1773
1774       The format of this table is as follows; all  integers  are  in  section
1775       7.3.1 ("little endian") format.
1776
1777         Offset    Name           Size      Meaning
1778          8        bi_pvd         4 bytes   LBA of primary volume descriptor
1779         12        bi_file        4 bytes   LBA of boot file
1780         16        bi_length      4 bytes   Boot file length in bytes
1781         20        bi_csum        4 bytes   32-bit checksum
1782         24        bi_reserved    40 bytes  Reserved
1783
1784              The  32-bit  checksum  is the sum of all the 32-bit words in the
1785              boot  file  starting  at  byte  offset  64.   All  linear  block
1786              addresses (LBAs) are given in CD sectors (normally 2048 bytes).
1787

HPPA NOTES

1789       To  make  a  bootable CD for HPPA, at the very least a boot loader file
1790       (-hppa-bootloader), a kernel  image  file  (32-bit,  64-bit,  or  both,
1791       depending  on hardware) and a boot command line (-hppa-cmdline) must be
1792       specified. Some systems can boot either a 32- or a 64-bit  kernel,  and
1793       the  firmware  will  choose  one  if  both  are present.  Optionally, a
1794       ramdisk can be used for the root filesystem using -hppa-cmdline.
1795

JIGDO NOTES

1797       Jigdo is a tool to help in the distribution of large files like CD  and
1798       DVD images; see http://atterer.org/jigdo/ for more details.  Debian CDs
1799       and DVD ISO images are published on the web in jigdo  format  to  allow
1800       end users to download them more efficiently.
1801
1802       To  create  jigdo  and  template  files  alongside  the  ISO image from
1803       genisoimage, you must first generate a list of the files that  will  be
1804       used, in the following format:
1805
1806         MD5sum   File size  Path
1807         32 chars 12 chars   to end of line
1808
1809       The  MD5sum  must be written in standard hexadecimal notation, the file
1810       size must list the size of the file in bytes, and the  path  must  list
1811       the absolute path to the file. For example:
1812
1813       00006dcd58ff0756c36d2efae21be376         14736  /mirror/debian/file1
1814       000635c69b254a1be8badcec3a8d05c1        211822  /mirror/debian/file2
1815       00083436a3899a09633fc1026ef1e66e         22762  /mirror/debian/file3
1816
1817       Once  you have this file, call genisoimage with all of your normal com‐
1818       mand-line parameters. Specify the output filenames for  the  jigdo  and
1819       template  files using -jigdo-jigdo and -jigdo-template, and pass in the
1820       location of your MD5 list with -md5-list.
1821
1822       If there are files that you do NOT want to be added into the jigdo file
1823       (e.g.  if  they  are  likely  to  change  often),  specify  them  using
1824       -jigdo-exclude. If you want to verify some of the  files  as  they  are
1825       written  into  the  image,  specify them using -jigdo-force-md5. If any
1826       files don't match, genisoimage will then abort.  Both of these  options
1827       take  regular  expressions as input. It is possible to restrict the set
1828       of  files  that  will  be  used  further  based  on  size  —  use   the
1829       -jigdo-min-file-size option.
1830
1831       Finally,  the jigdo code needs to know how to map the files it is given
1832       onto a mirror-style configuration.  Specify  how  to  map  paths  using
1833       -jigdo-map.   Using Debian=/mirror/debian will cause all paths starting
1834       with /mirror/debian to be mapped to Debian:<file> in the  output  jigdo
1835       file.
1836

EXAMPLES

1838       To  create a vanilla ISO9660 filesystem image in the file cd.iso, where
1839       the directory cd_dir will become the root directory of the CD, call:
1840
1841              % genisoimage -o cd.iso cd_dir
1842
1843       To create a CD with Rock  Ridge  extensions  of  the  source  directory
1844       cd_dir:
1845
1846              % genisoimage -o cd.iso -R cd_dir
1847
1848       To  create  a  CD  with  Rock  Ridge extensions of the source directory
1849       cd_dir where all files have at least read permission and all files  are
1850       owned by root, call:
1851
1852              % genisoimage -o cd.iso -r cd_dir
1853
1854       To  write a tar archive directly to a CD that will later contain a sim‐
1855       ple ISO9660 filesystem with the tar archive call:
1856
1857              % tar cf - . | genisoimage -stream-media-size 333000 | \
1858                   wodim dev=b,t,l -dao tsize=333000s -
1859
1860       To create a HFS hybrid CD with the Joliet and Rock Ridge extensions  of
1861       the source directory cd_dir:
1862
1863              % genisoimage -o cd.iso -R -J -hfs cd_dir
1864
1865       To  create  a  HFS hybrid CD from the source directory cd_dir that con‐
1866       tains Netatalk Apple/Unix files:
1867
1868              % genisoimage -o cd.iso --netatalk cd_dir
1869
1870       To create a HFS hybrid CD from the source directory cd_dir, giving  all
1871       files  CREATOR and TYPES based on just their filename extensions listed
1872       in the file "mapping".:
1873
1874              % genisoimage -o cd.iso -map mapping cd_dir
1875
1876       To create a CD with the Apple Extensions to ISO9660,  from  the  source
1877       directories  cd_dir and another_dir.  Files in all the known Apple/Unix
1878       format are decoded and any other files are given CREATOR and TYPE based
1879       on their magic number given in the file magic:
1880
1881              % genisoimage -o cd.iso -apple -magic magic -probe \
1882                      cd_dir another_dir
1883
1884       The  following example puts different files on the CD that all have the
1885       name README, but have different contents when seen  as  a  ISO9660/Rock
1886       Ridge, Joliet or HFS CD.
1887
1888       Current directory contains:
1889
1890              % ls -F
1891              README.hfs     README.joliet  README.Unix    cd_dir/
1892
1893       The  following command puts the contents of the directory cd_dir on the
1894       CD along with the three README files — but only one will be  seen  from
1895       each of the three filesystems:
1896
1897              % genisoimage -o cd.iso -hfs -J -r -graft-points \
1898                      -hide README.hfs -hide README.joliet \
1899                      -hide-joliet README.hfs -hide-joliet README.Unix \
1900                      -hide-hfs README.joliet -hide-hfs README.Unix \
1901                      README=README.hfs README=README.joliet \
1902                      README=README.Unix cd_dir
1903
1904       i.e.  the  file README.hfs will be seen as README on the HFS CD and the
1905       other two README files will be hidden. Similarly  for  the  Joliet  and
1906       ISO9660/Rock Ridge CD.
1907
1908       There  are probably all sorts of strange results possible with combina‐
1909       tions of the hide options ...
1910

NOTES

1912       genisoimage may safely be installed suid root. This may  be  needed  to
1913       allow  genisoimage  to read the previous session when creating a multi‐
1914       session image.
1915
1916       If  genisoimage  is  creating  a  filesystem  image  with  Rock   Ridge
1917       attributes and the directory nesting level of the source directory tree
1918       is too much for ISO9660, genisoimage will do deep directory relocation.
1919       This  results  in  a directory called RR_MOVED in the root directory of
1920       the CD. You cannot avoid this directory.
1921
1922       Many boot code options for different platforms  are  mutualy  exclusive
1923       because  the  boot blocks cannot coexist, ie. different platforms share
1924       the     same     data     locations     in     the      image.      See
1925       http://lists.debian.org/debian-cd/2006/12/msg00109.html for details.
1926

BUGS

1928       Any files that have hard links to files not in the tree being copied to
1929       the ISO9660 filesystem will have an incorrect file reference count.
1930
1931       Does not check for SUSP record(s) in `.' entry of the root directory to
1932       verify  the  existence  of  Rock  Ridge  enhancements.  This problem is
1933       present when reading old sessions while  adding  data  in  multisession
1934       mode.
1935
1936       Does  not properly read relocated directories in multisession mode when
1937       adding data.  Any relocated deep directory is lost if the  new  session
1938       does not include the deep directory.
1939
1940       Does not re-use RR_MOVED when doing multisession from TRANS.TBL.
1941
1942       Does not create whole_name entry for RR_MOVED in multisession mode.
1943
1944       There may be other bugs.  Please, report them to the maintainers.
1945

HFS PROBLEMS/LIMITATIONS

1947       I  have  had  to  make several assumptions on how I expect the modified
1948       libhfs routines to work, however there may be situations that either  I
1949       haven't thought of, or come across when these assumptions fail.  There‐
1950       fore I can't guarantee that genisoimage will work as expected (although
1951       I haven't had a major problem yet). Most of the HFS features work fine,
1952       but some are not fully tested. These are marked as Alpha above.
1953
1954       Although HFS filenames appear to support uppercase and  lowercase  let‐
1955       ters,  the  filesystem is case-insensitive, i.e., the filenames aBc and
1956       AbC are the same. If a file is found in a directory with the  same  HFS
1957       name,  genisoimage  will  attempt  to  make a unique name by adding `_'
1958       characters to one of the filenames.
1959
1960       HFS file/directory names that share the first 31 characters  have  `_N'
1961       (a  decimal number) substituted for the last few characters to generate
1962       unique names.
1963
1964       Care must be taken when "grafting" Apple/Unix files or directories (see
1965       above  for the method and syntax involved). It is not possible to use a
1966       new name for an Apple/Unix encoded file/directory. e.g. If a Apple/Unix
1967       encoded  file  called oldname is to added to the CD, you cannot use the
1968       command line:
1969
1970              genisoimage -o  output.raw  -hfs  -graft-points  newname=oldname
1971              cd_dir
1972
1973       genisoimage  will  be unable to decode oldname.  However, you can graft
1974       Apple/Unix encoded files or directories as long as you do  not  attempt
1975       to give them new names as above.
1976
1977       When  creating  an HFS volume with the multisession options, -M and -C,
1978       only files in the  last  session  will  be  in  the  HFS  volume.  i.e.
1979       genisoimage cannot add existing files from previous sessions to the HFS
1980       volume.
1981
1982       However, if each session is  created  with  -part,  each  session  will
1983       appear  as  separate volumes when mounted on a Mac. In this case, it is
1984       worth using -V or -hfs-volid to give each session a unique volume name,
1985       otherwise each "volume" will appear on the Desktop with the same name.
1986
1987       Symbolic  links  (as with all other non-regular files) are not added to
1988       the HFS directory.
1989
1990       Hybrid volumes may be larger than pure ISO9660 volumes  containing  the
1991       same data. In some cases (e.g. DVD sized volumes) the difference can be
1992       significant. As an HFS volume gets bigger, so does the allocation block
1993       size (the smallest amount of space a file can occupy).  For a 650MB CD,
1994       the allocation block is 10kB, for a 4.7GB DVD it will be about 70kB.
1995
1996       The maximum number of files in an HFS volume is about 65500 —  although
1997       the real limit will be somewhat less than this.
1998
1999       The  resulting hybrid volume can be accessed on a Unix machine by using
2000       the hfsutils routines. However, no changes can be made to the volume as
2001       it  is  set  as  locked.   The option -hfs-unlock will create an output
2002       image that is unlocked — however no changes should be made to the  con‐
2003       tents of the volume (unless you really know what you are doing) as it's
2004       not a "real" HFS volume.
2005
2006       -mac-name will not currently work with -T — the Unix name will be  used
2007       in the TRANS.TBL file, not the Macintosh name.
2008
2009       Although genisoimage does not alter the contents of a file, if a binary
2010       file has its TYPE set as TEXT, it may be read incorrectly on  a  Macin‐
2011       tosh. Therefore a better choice for the default TYPE may be ????.
2012
2013       -mac-boot-file may not work at all...
2014
2015       May not work with PC Exchange v2.2 or higher files (available with Mac‐
2016       OS 8.1).  DOS media containing PC Exchange files should be  mounted  as
2017       type msdos (not vfat) when using Linux.
2018
2019       The  SFM  format  is  only partially supported — see HFS MACINTOSH FILE
2020       FORMATS section above.
2021
2022       It  is  not  possible  to  use  -sparc-boot   or   -generic-boot   with
2023       -boot-hfs-file or -prep-boot.
2024
2025       genisoimage  should  be  able  to  create  HFS  hybrid images over 4Gb,
2026       although this has not been fully tested.
2027

SEE ALSO

2029       genisoimagerc(5), wodim(1), mkzftree(8), magic(5).
2030

AUTHORS

2032       genisoimage is derived from mkisofs from the cdrtools 2.01.01a08  pack‐
2033       age  from May 2006 (with few updates extracted from cdrtools 2.01.01a24
2034       from March 2007) from .IR http://cdrecord.berlios.de/ , but is now part
2035       of  the  cdrkit suite, maintained by Joerg Jaspert, Eduard Bloch, Steve
2036       McIntyre, Peter Samuelson, Christian Fromme, Ben Hutchings,  and  other
2037       contributors.    The   maintainers   can   be   contacted  at  debburn-
2038       devel@lists.alioth.debian.org, or see the cdrkit project  web  site  at
2039       http://www.cdrkit.org/.
2040
2041       Eric  Youngdale  wrote the first versions (1993–1998) of mkisofs.  Jörg
2042       Schilling wrote the SCSI transport library and its interface,  and  has
2043       maintained  mkisofs  since  1999.   James  Pearson wrote the HFS hybrid
2044       code, using libhfs by Robert Leslie.  Pearson, Schilling, Jungshik Shin
2045       and  Jaakko  Heinonen contributed to the character set conversion code.
2046       The cdrkit maintainers have maintained genisoimage since 2006.
2047
2048       Copyright 1993-1998 by Yggdrasil Computing, Inc.
2049       Copyright 1996-1997 by Robert Leslie
2050       Copyright 1997-2001 by James Pearson
2051       Copyright 1999-2006 by Jörg Schilling
2052       Copyright 2007 by Jörg Schilling (originating few updates)
2053       Copyright 2002-2003 by Jungshik Shin
2054       Copyright 2003 by Jaakko Heinonen
2055       Copyright 2006 by the Cdrkit maintainers
2056
2057       If you want to take part in the development  of  genisoimage,  you  may
2058       join the cdrkit developer mailing list by following the instructions on
2059       http://alioth.debian.org/mail/?group_id=31006.  The  email  address  of
2060       the  list  is  debburn-devel@lists.alioth.debian.org.  This is also the
2061       address for user support questions.  Note that cdrkit and cdrtools  are
2062       not affiliated.
2063

ACKNOWLEDGEMENTS

2065       UNIX  is  a  registered trademark of The Open Group in the US and other
2066       countries.
2067
2068
2069
2070                                  13 Dec 2006                   GENISOIMAGE(1)
Impressum