SYNOPSIS

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


DESCRIPTION

       genisoimage is a pre-mastering program to  generate  ISO9660/Joliet/HFS
       hybrid filesystems.

       genisoimage  is  capable  of generating the System Use Sharing Protocol
       records (SUSP) specified by the Rock Ridge Interchange Protocol.   This
       is  used  to  further describe the files in the ISO9660 filesystem to a
       Unix host, and provides information such as  long  filenames,  UID/GID,
       POSIX  permissions,  symbolic  links,  and  block  and character device
       files.

       If Joliet or HFS hybrid command line options are specified, genisoimage
       will  create  the  additional  filesystem metadata needed for Joliet or
       HFS.  Otherwise genisoimage will generate a pure ISO9660 filesystem.

       genisoimage can generate a true (or shared) HFS hybrid filesystem.  The
       same  files are seen as HFS files when accessed from a Macintosh and as
       ISO9660 files when accessed from other machines. HFS stands for Hierar-
       chical  File System and is the native filesystem used on Macintosh com-
       puters.

       As an alternative, genisoimage can generate  the  Apple  Extensions  to
       ISO9660 for each file. These extensions provide each file with CREATOR,
       TYPE and certain Finder flags when accessed from a Macintosh.  See  the
       HFS MACINTOSH FILE FORMATS section below.

       genisoimage takes a snapshot of a given directory tree, and generates a
       binary image which will correspond to an ISO9660 and/or HFS  filesystem
       when written to a block device.

       Each file written to the ISO9660 filesystem must have a filename in the
       8.3 format (up to 8 characters, period, up to 3 characters, all  upper-
       case),  even if Rock Ridge is in use.  This filename is used on systems
       that are not able to make use of the Rock Ridge extensions (such as MS-
       DOS),  and  each  filename in each directory must be different from the
       other filenames in the same directory.  genisoimage generally tries  to
       form  correct names by forcing the Unix filename to uppercase and trun-
       cating as required, but often this yields unsatisfactory  results  when
       the truncated names are not all unique.  genisoimage assigns weightings
       to each filename, and if two names that  are  otherwise  the  same  are
       found, the name with the lower priority is renamed to include a 3-digit
       number (guaranteed to be unique).  For example, the two  files  foo.bar
       and foo.bar.~1~ could be rendered as FOO.BAR;1 and FOO000.BAR;1.

       When  used with various HFS options, genisoimage will attempt to recog-
       nise files stored in a number of Apple/Unix file formats and will  copy
       the data and resource forks as well as any relevant Finder information.
       See the HFS MACINTOSH FILE FORMATS section below for more about formats
       the  paths  at points other than the root directory, and it is possible
       to graft files or directories onto the cdrom image with names different
       than  what  they  have  in  the  source filesystem.  This is easiest to
       illustrate with a couple of examples.  Let's start by assuming  that  a
       local  file  ../old.lis exists, and you wish to include it in the cdrom
       image.

              foo/bar/=../old.lis

       will include old.lis in the cdrom image at /foo/bar/old.lis, while

              foo/bar/xxx=../old.lis

       will include old.lis in the cdrom image at /foo/bar/xxx.  The same sort
       of  syntax can be used with directories as well.  genisoimage will cre-
       ate any directories required such that the graft points  exist  on  the
       cdrom  image  --  the  directories  do not need to appear in one of the
       paths.  By default, any directories that are created on  the  fly  like
       this  will  have  permissions 0555 and appear to be owned by the person
       running genisoimage.  If you wish other permissions or  owners  of  the
       intermediate  directories,  see  -uid,  -gid, -dir-mode, -file-mode and
       -new-dir-mode.

       genisoimage will also  run  on  Windows  machines  when  compiled  with
       Cygnus' cygwin (available from http://www.cygwin.com/).  Therefore most
       references in this man page to Unix can be replaced with Win32.


OPTIONS

       Several options can be specified as defaults in a  .genisoimagerc  con-
       figuration  file,  as  well  as on the command line.  If a parameter is
       specified in both places, the setting from the command  line  is  used.
       For  details  on  the  format  and possible locations of this file, see
       genisoimagerc(5).

       -abstract file
              Specifies the abstract filename.  There is space for 37  charac-
              ters.  Equivalent to ABST in the .genisoimagerc file.

       -A application_id
              Specifies  a  text  string  that will be written into the volume
              header.  This should describe the application that  will  be  on
              the  disc.   There  is  space for 128 characters.  Equivalent to
              APPI in the .genisoimagerc file.

       -allow-limited-size
              When processing files larger than 2GiB which  cannot  be  easily
              represented in ISO9660, add them with a shrunk visible file size
              to ISO9660 and with the correct visible file  size  to  the  UDF
              system.  The result is an inconsistent filesystem and users need
              to make sure that they really use UDF rather than ISO9660 driver
              to read a such disk. Implies enabling -udf.

       -allow-multidot
              This options allows more than one dot to appear in ISO9660 file-
              names.   A leading dot is not affected by this option, it may be
              allowed separately using -allow-leading-dots.
              This violates the ISO9660 standard, but it happens  to  work  on
              many systems.  Use with caution.

       -biblio file
              Specifies  the  bibliographic  filename.   There is space for 37
              characters.  Equivalent to BIBL in the .genisoimagerc file.

       -cache-inodes

       -no-cache-inodes
              Enable or disable caching inode and device numbers to find  hard
              links  to  files.  If genisoimage finds a hard link (a file with
              multiple names), the file will also be hard-linked on the CD, so
              the  file  contents only appear once.  This helps to save space.
              -cache-inodes is default on  Unix-like  operating  systems,  but
              -no-cache-inodes  is  default on some other systems such as Cyg-
              win, because it is not safe to assume  that  inode  numbers  are
              unique  on  those systems.  (Some versions of Cygwin create fake
              inode numbers using a weak hashing algorithm, which may  produce
              duplicates.)   If  two  files have the same inode number but are
              not hard links to the same file, genisoimage -cache-inodes  will
              not  behave  correctly.   -no-cache-inodes is safe in all situa-
              tions, but in that case genisoimage cannot detect hard links, so
              the resulting CD image may be larger than necessary.

       -alpha-boot alpha_boot_image
              Specifies  the  path  and  filename of the boot image to be used
              when making an Alpha/SRM bootable CD. The pathname must be rela-
              tive to the source path specified to genisoimage.

       -hppa-bootloader hppa_bootloader_image
              Specifies  the  path  and  filename of the boot image to be used
              when making an HPPA bootable CD. The pathname must  be  relative
              to  the source path specified to genisoimage.  Other options are
              required, at the very least a kernel filename and a boot command
              line.  See the HPPA NOTES section below for more information.

       -hppa-cmdline hppa_boot_command_line
              Specifies  the command line to be passed to the HPPA boot loader
              when making a bootable CD. Separate the parameters  with  spaces
              or  commas.  More  options must be passed to genisoimage, at the
              very least a kernel filename and the boot loader filename.   See
              the HPPA NOTES section below for more information.

       -hppa-kernel-32 hppa_kernel_32

       -hppa-kernel-64 hppa_kernel_64
              Specifies the path and filename of the 32-bit and/or 64-bit ker-

       -mips-boot mips_boot_image
              Specifies  the  path  and  filename of the boot image to be used
              when making an SGI/big-endian MIPS  bootable  CD.  The  pathname
              must  be  relative  to the source path specified to genisoimage.
              This option may be specified several times, to store  up  to  15
              boot images.

       -mipsel-boot mipsel_boot_image
              Specifies  the  path  and  filename of the boot image to be used
              when making an DEC/little-endian MIPS bootable CD. The  pathname
              must be relative to the source path specified to genisoimage.

       -B img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e

       -sparc-boot img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
              Specifies  a comma-separated list of boot images that are needed
              to make a bootable CD for SPARC systems.  Partition  0  is  used
              for  the ISO9660 image, the first image file is mapped to parti-
              tion 1.  The comma-separated list  may  have  up  to  7  fields,
              including  empty  fields.   This  option  is  required to make a
              bootable CD for Sun SPARC systems.  If  -B  or  -sparc-boot  has
              been  specified,  the  first  sector of the resulting image will
              contain a Sun disk label. This disk label specifies slice 0  for
              the  ISO9660  image  and  slices 1 to 7 for the boot images that
              have been specified with this option. Byte offsets 512  to  8191
              within each of the additional boot images must contain a primary
              boot that works for the appropriate SPARC architecture. The rest
              of each of the images usually contains a UFS filesystem used for
              the primary kernel boot stage.

              The implemented boot method is the one found with SunOS 4.x  and
              SunOS  5.x.   However, it does not depend on SunOS internals but
              only on properties of the Open Boot prom, so it should be usable
              for any OS for SPARC systems.  For more information also see the
              NOTES section below.

              If the special filename ...  is used, the actual and all follow-
              ing  boot  partitions  are  mapped to the previous partition. If
              genisoimage is called with -G image -B ...  all boot  partitions
              are mapped to the partition that contains the ISO9660 filesystem
              image and the generic boot image that is located in the first 16
              sectors of the disc is used for all architectures.

       -G generic_boot_image
              Specifies  the path and filename of the generic boot image to be
              used when making a generic bootable CD.  The boot image will  be
              placed  on  the  first  16 sectors of the CD, before the ISO9660
              primary volume descriptor.  If this option is used together with
              -sparc-boot, the Sun disk label will overlay the first 512 bytes
              of the generic boot image.

       -b eltorito_boot_image

              If -sort has not been specified, the boot images are sorted with
              low priority (+2) to the beginning of the medium.  If you  don't
              like  this,  you need to specify a sort weight of 0 for the boot
              images.

       -eltorito-alt-boot
              Start with a new set of El Torito boot parameters.  Up to 63  El
              Torito boot entries may be stored on a single CD.

       -hard-disk-boot
              Specifies  that the boot image used to create El Torito bootable
              CDs is a hard disk image. The image must  begin  with  a  master
              boot record that contains a single partition.

       -no-emul-boot
              Specifies  that the boot image used to create El Torito bootable
              CDs is a "no emulation" image. The system will load and  execute
              this image without performing any disk emulation.

       -no-boot
              Specifies  that the created El Torito CD should be marked as not
              bootable. The system will provide  an  emulated  drive  for  the
              image, but will boot off a standard boot device.

       -boot-load-seg segment_address
              Specifies the load segment address of the boot image for no-emu-
              lation El Torito CDs.

       -boot-load-size load_sectors
              Specifies the number of "virtual" (512-byte) sectors to load  in
              no-emulation mode.  The default is to load the entire boot file.
              Some BIOSes may have problems if this is not a multiple of 4.

       -boot-info-table
              Specifies that a 56-byte table with information  of  the  CD-ROM
              layout will be patched in at offset 8 in the boot file.  If this
              option is given,  the  boot  file  is  modified  in  the  source
              filesystem,  so  make a copy of this file if it cannot be easily
              regenerated!  See the EL TORITO BOOT INFO TABLE  section  for  a
              description of this table.

       -C last_sess_start,next_sess_start
              This  option  is  needed  to create a CD Extra or the image of a
              second session or a  higher-level  session  for  a  multisession
              disc.   -C  takes two numbers separated by a comma. The first is
              the first sector in the last session of the disc that should  be
              appended to.  The second number is the starting sector number of
              the new session.  The correct numbers may be retrieved by  call-
              ing  wodim  -msinfo  ...   If -C is used in conjunction with -M,
              genisoimage will create a filesystem image that is  intended  to
              be  a continuation of the previous session.  If -C is used with-
              If  -sort  has  not been specified, the boot catalog sorted with
              low priority (+1) to the beginning of the medium.  If you  don't
              like  this,  you need to specify a sort weight of 0 for the boot
              catalog.

       -check-oldnames
              Check all filenames imported from the old session for compliance
              with  the  ISO9660 file naming rules.  Without this option, only
              names longer than 31 characters are checked, as these files  are
              a serious violation of the ISO9660 standard.

       -check-session file
              Check  all  old  sessions for compliance with actual genisoimage
              ISO9660 file naming rules.  This is  a  high-level  option  that
              combines  -M  file  -C  0,0  -check-oldnames.  For the parameter
              file, see the description of -M.

       -copyright file
              Specifies copyright information, typically  a  filename  on  the
              disc.   There is space for 37 characters.  Equivalent to COPY in
              the .genisoimagerc file.

       -d     Do not append a period to files that do not have one.
              This violates the ISO9660 standard, but it happens  to  work  on
              many systems.  Use with caution.

       -D     Do not use deep directory relocation, and instead just pack them
              in the way we see them.
              If ISO9660:1999 has not been selected, this violates the ISO9660
              standard, but it happens to work on many systems.  Use with cau-
              tion.

       -dir-mode mode
              Overrides the mode of directories used to create  the  image  to
              mode,  specified  as 4 digits of permission bits as in chmod(1).
              This option automatically enables Rock Ridge extensions.

       -dvd-video
              Generate a DVD-Video compliant UDF filesystem. This is  done  by
              sorting the order of the content of the appropriate files and by
              adding padding between the files if needed.  Note that the sort-
              ing  only  works  if  the  DVD-Video filenames include uppercase
              characters only.

              Note that in order  to  get  a  DVD-Video  compliant  filesystem
              image, you need to prepare a DVD-Video compliant directory tree.
              This requires a directory VIDEO_TS (all caps) in the root direc-
              tory  of  the  resulting  DVD,  and  usually  another  directory
              AUDIO_TS.  VIDEO_TS needs to include all needed files (filenames
              must be all caps) for a compliant DVD-Video filesystem.

       -f     Follow symbolic links when generating the filesystem.  When this
              more verbose but may have other effects in the future.

       -graft-points
              Allow use of graft points for filenames. If this option is used,
              all  filenames  are  checked  for  graft points. The filename is
              divided at the first unescaped equal sign.  All  occurrences  of
              `\' and `=' characters must be escaped with `\' if -graft-points
              has been specified.

       -hide glob
              Hide any files matching glob, a  shell  wildcard  pattern,  from
              being  seen  in  the  ISO9660 or Rock Ridge directory.  glob may
              match any part of the filename  or  path.   If  glob  matches  a
              directory,  the  contents  of that directory will be hidden.  In
              order to match a directory name, make sure the pathname does not
              include  a  trailing  `/'  character.  All the hidden files will
              still be  written  to  the  output  CD  image  file.   See  also
              -hide-joliet, and README.hide.  This option may be used multiple
              times.

       -hide-list file
              A file containing a list of shell wildcards to be  hidden.   See
              -hide.

       -hidden glob
              Add the hidden (existence) ISO9660 directory attribute for files
              and directories matching glob, a shell wildcard  pattern.   This
              attribute will prevent the files from being shown by some MS-DOS
              and Windows commands.  glob may match any part of  the  filename
              or  path.   In  order  to  match a directory name, make sure the
              pathname does not include a trailing `/' character.  This option
              may be used multiple times.

       -hidden-list file
              A  file  containing  a list of shell wildcards to get the hidden
              attribute.  See -hidden.

       -hide-joliet glob
              Hide files and directories matching glob, a shell wildcard  pat-
              tern,  from  being seen in the Joliet directory.  glob may match
              any part of the filename or path.  If glob matches a  directory,
              the  contents  of  that  directory  will be hidden.  In order to
              match a directory name, make sure the pathname does not  include
              a  trailing  `/'  character.  All the hidden files will still be
              written to the output CD image file.   This  option  is  usually
              used with -hide.  See also README.hide.  This option may be used
              multiple times.

       -hide-joliet-list file
              A file containing a list of shell wildcards to  be  hidden  from
              the Joliet tree.  See -hide-joliet.

              not be readable on MS-DOS.  See also the NOTES section.

       -input-charset charset
              Input  charset  that  defines the characters used in local file-
              names.  To get a list of valid charset names,  call  genisoimage
              -input-charset  help.  To get a 1:1 mapping, you may use default
              as charset name. The default initial values are  cp437  on  DOS-
              based systems and iso8859-1 on all other systems.  See the CHAR-
              ACTER SETS section below for more details.

       -output-charset charset
              Output charset that defines the characters that will be used  in
              Rock Ridge filenames.  Defaults to the input charset.  See CHAR-
              ACTER SETS section below for more details.

       -iso-level level
              Set the ISO9660 conformance level. Valid numbers are 1 to 4.

              With level 1, files may only consist of one  section  and  file-
              names are restricted to 8.3 characters.

              With level 2, files may only consist of one section.

              With  level  3,  no  restrictions  (other than ISO-9660:1988) do
              apply.

              With  all  ISO9660  levels  from  1  to  3,  all  filenames  are
              restricted  to  uppercase  letters, numbers and underscores (_).
              Filenames are limited to 31  characters,  directory  nesting  is
              limited  to  8  levels, and pathnames are limited to 255 charac-
              ters.

              Level 4 officially does not exist but  genisoimage  maps  it  to
              ISO-9660:1999, which is ISO9660 version 2.

              With  level 4, an enhanced volume descriptor with version number
              and file structure version number set to 2 is  emitted.   Direc-
              tory  nesting is not limited to 8 levels, there is no need for a
              file to contain a dot and the dot has no special meaning,  file-
              names  do  not  have version numbers, and filenames can be up to
              207 characters long, or 197 characters if Rock Ridge is used.

              When creating Version 2 images, genisoimage  emits  an  enhanced
              volume descriptor, similar but not identical to a primary volume
              descriptor. Be careful  not  to  use  broken  software  to  make
              ISO9660 images bootable by assuming a second PVD copy and patch-
              ing this putative PVD copy into an El Torito VD.

       -J     Generate Joliet directory records in addition to regular ISO9660
              filenames.   This  is  primarily useful when the discs are to be
              used on Windows machines.  Joliet  filenames  are  specified  in
              Unicode  and each path component can be up to 64 Unicode charac-

       -l     Allow full 31-character filenames.  Normally the  ISO9660  file-
              name  will  be in an 8.3 format which is compatible with MS-DOS,
              even though the ISO9660 standard allows filenames of  up  to  31
              characters.   If  you use this option, the disc may be difficult
              to use on a MS-DOS system, but will work on most other  systems.
              Use with caution.

       -L     Outdated option; use -allow-leading-dots instead.

       -jigdo-jigdo jigdo_file
              Produce  a  jigdo .jigdo metadata file as well as the filesystem
              image.  See the JIGDO NOTES section below for more  information.

       -jigdo-template template_file
              Produce  a jigdo .template file as well as the filesystem image.
              See the JIGDO NOTES section below for more information.

       -jigdo-min-file-size size
              Specify the minimum size for a file to be listed in  the  .jigdo
              file.  Default (and minimum allowed) is 1KB. See the JIGDO NOTES
              section below for more information.

       -jigdo-force-md5 path
              Specify a file pattern where files  must  be  contained  in  the
              externally-supplied  MD5 list as supplied by -md5-list.  See the
              JIGDO NOTES section below for more information.

       -jigdo-exclude path
              Specify a file pattern where files will not  be  listed  in  the
              .jigdo file. See the JIGDO NOTES section below for more informa-
              tion.

       -jigdo-map path
              Specify a pattern mapping for the jigdo file (e.g.  Debian=/mir-
              ror/debian).   See the JIGDO NOTES section below for more infor-
              mation.

       -md5-list md5_file
              Specify a file containing the MD5sums, sizes  and  pathnames  of
              the files to be included in the .jigdo file. See the JIGDO NOTES
              section below for more information.

       -log-file log_file
              Redirect  all  error,  warning  and  informational  messages  to
              log_file instead of the standard error.

       -m glob
              Exclude  files  matching  glob,  a  shell wildcard pattern, from
              being written to CD-ROM.  glob may  match  either  the  filename
              component  or the full pathname.  This option may be used multi-
              ple times.  For example:

              This  violates  the  ISO9660 standard, but it happens to work on
              many systems.  Although a conforming application needs  to  pro-
              vide  a  buffer  space  of at least 37 characters, discs created
              with this option may cause a  buffer  overflow  in  the  reading
              operating system. Use with extreme care.

       -M path

       -M device

       -dev device
              Specifies  path  to  existing  ISO9660  image  to be merged. The
              alternate form takes a SCSI device specifier that uses the  same
              syntax  as the dev= parameter of wodim.  The output of genisoim-
              age will be a new session which should get written to the end of
              the image specified in -M.  Typically this requires multisession
              capability for the CD recorder used to write  the  image.   This
              option may only be used in conjunction with -C.

       -N     Omit version numbers from ISO9660 filenames.
              This  violates  the ISO9660 standard, but no one really uses the
              version numbers anyway.  Use with caution.

       -new-dir-mode mode
              Specify the mode, a 4-digit number as used in chmod(1),  to  use
              when  creating  new  directories  in  the filesystem image.  The
              default is 0555.

       -nobak

       -no-bak
              Exclude backup files files on the ISO9660 filesystem;  that  is,
              filenames that contain the characters `~' or `#' or end in .bak.
              These are typically backup files for Unix text editors.

       -force-rr
              Do not use the automatic Rock Ridge attributes  recognition  for
              previous  sessions.   This  can work around problems with images
              created by, e.g., NERO Burning ROM.

       -no-rr Do not use the Rock Ridge  attributes  from  previous  sessions.
              This  may  help to avoid problems when genisoimage finds illegal
              Rock Ridge signatures on an old session.

       -no-split-symlink-components
              Don't split the symlink components, but begin a new Continuation
              Area  (CE)  instead.  This  may  waste some space, but the SunOS
              4.1.4 cdrom driver has a bug in  reading  split  symlink  compo-
              nents.

              It is questionable whether this option is useful nowadays.

              ISO9660 filesystem can be mounted normally to verify that it was
              generated correctly.

       -pad   Pad the end of the whole image by 150 sectors  (300  kB).   This
              option  is  enabled by default.  If used in combination with -B,
              padding is inserted between the ISO9660 partition and  the  boot
              partitions,  such that the first boot partition starts on a sec-
              tor number that is a multiple of 16.

              The padding is needed as many  operating  systems  (e.g.  Linux)
              implement  read-ahead  bugs  in their filesystem I/O. These bugs
              result in read errors on files that are located near the end  of
              a  track,  particularly  if the disc is written in Track At Once
              mode, or where a CD audio track follows the data track.

       -no-pad
              Do not pad the end by 150 sectors (300 kB) and do not  make  the
              the boot partitions start on a multiple of 16 sectors.

       -path-list file
              A  file  containing a list of pathspec directories and filenames
              to be added to the ISO9660 filesystem. This  list  of  pathspecs
              are  processed after any that appear on the command line. If the
              argument is -, the list is read from the standard input.

       -P     Outdated option; use -publisher instead.

       -publisher publisher_id
              Specifies a text string that will be  written  into  the  volume
              header.   This should describe the publisher of the CD-ROM, usu-
              ally with a mailing address and phone number.   There  is  space
              for  128  characters.   Equivalent to PUBL in the .genisoimagerc
              file.

       -p preparer_id
              Specifies a text string that will be  written  into  the  volume
              header.   This  should describe the preparer of the CD-ROM, usu-
              ally with a mailing address and phone number.   There  is  space
              for  128  characters.   Equivalent to PREP in the .genisoimagerc
              file.

       -print-size
              Print estimated filesystem size in multiples of the sector  size
              (2048  bytes)  and  exit. This option is needed for Disk At Once
              mode and with some CD-R drives when piping directly into  wodim,
              cases where wodim needs to know the size of the filesystem image
              in advance.  Old versions  of  mkisofs  wrote  this  information
              (among  other  information)  to stderr.  As this turns out to be
              hard to parse, the number without any other information  is  now
              printed  on  stdout  too.   If  you like to write a simple shell
              script, redirect stderr and catch the number from stdout.   This
              may be done with:
              that  files and directories are globally readable on the client.
              If any execute bit is set for a file, set  all  of  the  execute
              bits, so that executables are globally executable on the client.
              If any search bit is set for a directory, set all of the  search
              bits, so that directories are globally searchable on the client.
              All write bits are  cleared,  because  the  filesystem  will  be
              mounted  read-only in any case.  If any of the special mode bits
              are set, clear them, because file locks  are  not  useful  on  a
              read-only  filesystem, and set-id bits are not desirable for uid
              0 or gid 0.  When used on Win32, the execute bit is set  on  all
              files. This is a result of the lack of file permissions on Win32
              and the Cygwin POSIX emulation  layer.   See  also  -uid,  -gid,
              -dir-mode, -file-mode and -new-dir-mode.

       -relaxed-filenames
              Allows  ISO9660  filenames to include all 7-bit ASCII characters
              except lowercase letters.
              This violates the ISO9660 standard, but it happens  to  work  on
              many systems.  Use with caution.

       -root dir
              Moves  all  files and directories into dir in the image. This is
              essentially the same as using -graft-points and  adding  dir  in
              front of every pathspec, but is easier to use.  dir may actually
              be several levels deep. It is created with the same  permissions
              as other graft points.

       -old-root dir
              This  option  is necessary when writing a multisession image and
              the previous (or even older) session was written with -root dir.
              Using  a directory name not found in the previous session causes
              genisoimage to  abort  with  an  error.   Without  this  option,
              genisoimage would not be able to find unmodified files and would
              be forced to write their data into the image once  more.   -root
              and  -old-root  are  meant to be used together to do incremental
              backups.  The initial session would e.g. use: genisoimage  -root
              backup_1  dirs.   The  next  incremental backup with genisoimage
              -root backup_2 -old-root backup_1 dirs would take another  snap-
              shot  of these directories. The first snapshot would be found in
              backup_1, the second one in backup_2, but only modified  or  new
              files need to be written into the second session.  Without these
              options, new files would be added and old  ones  would  be  pre-
              served.  But old ones would be overwritten if the file was modi-
              fied. Recovering the files by copying the whole  directory  back
              from  CD  would  also restore files that were deleted intention-
              ally. Accessing several older versions of a file  requires  sup-
              port  by the operating system to choose which sessions are to be
              mounted.

       -sort sort_file
              Sort file locations on the media. Sorting  is  controlled  by  a
              file that contains pairs of filenames and sorting offset weight-

       -sparc-boot img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
              See -B above.

       -sparc-label label
              Set the Sun disk label name for the Sun disk label that is  cre-
              ated with -sparc-boot.

       -split-output
              Split  the output image into several files of approximately 1 GB
              each.  This helps to create DVD-sized ISO9660 images on  operat-
              ing  systems without large file support.  wodim will concatenate
              more than one file into a single track if writing to a DVD.   To
              make  -split-output  work,  -o  filename  must be specified. The
              resulting output images will be named: filename_00, filename_01,
              filename_02....

       -stream-media-size #
              Select  streaming operation and set the media size to # sectors.
              This allows you to pipe the output of the  tar(1)  program  into
              genisoimage and to create an ISO9660 filesystem without the need
              of an intermediate tar archive file.  If this  option  has  been
              specified,  genisoimage reads from stdin and creates a file with
              the name STREAM.IMG.  The maximum size of the  file  (with  pad-
              ding)  is  200  sectors  less  than the specified media size. If
              -no-pad has been specified, the file size  is  50  sectors  less
              than  the  specified  media  size.   If  the  file  is  smaller,
              genisoimage will write padding. This may take awhile.

              The option -stream-media-size creates simple ISO9660 filesystems
              only  and  may  not  used  together  with multisession or hybrid
              filesystem options.

       -stream-file-name name
              Reserved for future use.

       -sunx86-boot UFS_img,,,AUX1_img
              Specifies a comma-separated list of filesystem images  that  are
              needed to make a bootable CD for Solaris x86 systems.

              Note  that  partition  1  is used for the ISO9660 image and that
              partition 2 is the whole disk, so partition 1 and 2 may  not  be
              used by external partition data.  The first image file is mapped
              to partition 0.  There may be empty fields  in  the  comma-sepa-
              rated  list,  and  list  entries  for  partition 1 and 2 must be
              empty.   The  maximum  number  of  supported  partitions  is   8
              (although the Solaris x86 partition table could support up to 16
              partitions), so it is impossible to specify more than  6  parti-
              tion  images.  This option is required to make a bootable CD for
              Solaris x86 systems.

              If -sunx86-boot has been specified,  the  first  sector  of  the
              resulting  image  will  contain  a PC fdisk label with a Solaris

       -sunx86-label label
              Set the SVr4 disk label name for the SVr4  disk  label  that  is
              created with -sunx86-boot.

       -sysid ID
              Specifies  the  system  ID.   There  is space for 32 characters.
              Equivalent to SYSI in the .genisoimagerc file.

       -T     Generate a file TRANS.TBL in each directory on the CD-ROM, which
              can  be used on non-Rock Ridge-capable systems to help establish
              the correct filenames.  There is also information present in the
              file  that  indicates  the major and minor numbers for block and
              character devices, and each symlink has the  name  of  the  link
              file given.

       -table-name table_name
              Alternative  translation table filename (see above). Implies -T.
              If you are creating a multisession image you must use  the  same
              name as in the previous session.

       -ucs-level level
              Set  Unicode  conformance  level  in the Joliet SVD. The default
              level is 3.  It may be set to 1..3 using this option.

       -udf   Include UDF  filesystem  support  in  the  generated  filesystem
              image.   UDF  support  is currently in alpha status and for this
              reason, it is not possible to create UDF-only images.  UDF  data
              structures  are  currently  coupled to the Joliet structures, so
              there are many pitfalls with the current  implementation.  There
              is  no  UID/GID  support,  there is no POSIX permission support,
              there is no support for symlinks.   Note  that  UDF  wastes  the
              space from sector ~20 to sector 256 at the beginning of the disc
              in addition to the space needed for real UDF data structures.

       -uid uid
              Overrides the uid read from the source files  to  the  value  of
              uid.   Specifying  this  option automatically enables Rock Ridge
              extensions.

       -use-fileversion
              The option -use-fileversion allows genisoimage to use file  ver-
              sion  numbers  from the filesystem.  If the option is not speci-
              fied, genisoimage creates a version number of 1 for  all  files.
              File  versions are strings in the range ;1 to ;32767 This option
              is the default on VMS.

       -U     Allows  "untranslated"  filenames,  completely   violating   the
              ISO9660 standards described above.  Enables the following flags:
              -d -l -N -allow-leading-dots -relaxed-filenames -allow-lowercase
              -allow-multidot  -no-iso-translate.   Allows  more  than one `.'
              character in the filename,  as  well  as  mixed-case  filenames.
              This is useful on HP-UX, where the built-in cdfs filesystem does
              label assigned to a disc on various other platforms such as Win-
              dows and Apple Mac OS.

       -volset ID
              Specifies the volume set ID.  There is space for 128 characters.
              Equivalent to VOLS in the .genisoimagerc file.

       -volset-size #
              Sets  the volume set size to #.  The volume set size is the num-
              ber of CDs that are in a CD volume set.  A volume set is a  col-
              lection  of  one  or  more  volumes,  on which a set of files is
              recorded.

              Volume Sets are not intended to be used to create a set numbered
              CDs that are part of e.g. a Operation System installation set of
              CDs.  Volume Sets are rather used to record a big directory tree
              that  would not fit on a single volume.  Each volume of a Volume
              Set contains a description of all the directories and files that
              are  recorded on the volumes where the sequence numbers are less
              than, or equal to, the assigned Volume Set Size of  the  current
              volume.

              genisoimage  currently  does  not support a -volset-size that is
              larger than 1.

              The option -volset-size must be specified  before  -volset-seqno
              on each command line.

       -volset-seqno #
              Sets  the  volume  set  sequence  number  to  #.  The volume set
              sequence number is the index number of the current CD  in  a  CD
              set.    The   option   -volset-size  must  be  specified  before
              -volset-seqno on each command line.

       -v     Verbose execution. If given twice on  the  command  line,  extra
              debug information will be printed.

       -x glob
              Identical to -m glob.

       -z     Generate  special  RRIP  records  for  transparently  compressed
              files.  This is only of use and interest for hosts that  support
              transparent  decompression,  such as Linux 2.4.14 or later.  You
              must specify -R or -r to enable Rock Ridge,  and  generate  com-
              pressed   files   using  the  mkzftree  utility  before  running
              genisoimage.  Note that transparent compression is a nonstandard
              Rock  Ridge  extension.   The resulting disks are only transpar-
              ently readable if used on Linux.  On other operating systems you
              will need to call mkzftree by hand to decompress the files.


HFS OPTIONS

       -hfs   Create  an  ISO9660/HFS hybrid CD. This option should be used in
              only  if  it is not one of the know Apple/Unix file formats. See
              the HFS CREATOR/TYPE section below.

       -magic magic_file
              The CREATOR and TYPE information is set by using a file's  magic
              number  (usually  the first few bytes of a file). The magic_file
              is only used if a file is not one of the known  Apple/Unix  file
              formats,  or  the  filename  extension has not been mapped using
              -map.  See the HFS CREATOR/TYPE section below for more  details.

       -hfs-creator creator
              Set the default CREATOR for all files. Must be exactly 4 charac-
              ters. See the HFS CREATOR/TYPE section below for more details.

       -hfs-type type
              Set the default TYPE for all files. Must be  exactly  4  charac-
              ters. See the HFS CREATOR/TYPE section below for more details.

       -probe Search  the  contents of files for all the known Apple/Unix file
              formats.  See the HFS MACINTOSH FILE FORMATS section  below  for
              more  about  these  formats.  However, the only way to check for
              MacBinary and AppleSingle files is to open  and  read  them,  so
              this  option  may  increase processing time. It is better to use
              one or more double dash options given below  if  the  Apple/Unix
              formats in use are known.

       -no-desktop
              Do  not create (empty) Desktop files. New HFS Desktop files will
              be created when the CD is used on a Macintosh (and stored in the
              System  Folder).   By  default, empty Desktop files are added to
              the HFS volume.

       -mac-name
              Use the HFS filename as the  starting  point  for  the  ISO9660,
              Joliet and Rock Ridge filenames. See the HFS MACINTOSH FILENAMES
              section below for more information.

       -boot-hfs-file driver_file
              Installs the driver_file that may make the CD bootable on a Mac-
              intosh. See the HFS BOOT DRIVER section below. (Alpha).

       -part  Generate  an HFS partition table. By default, no partition table
              is generated, but some older Macintosh CD-ROM  drivers  need  an
              HFS  partition  table  on  the  CD-ROM to be able to recognize a
              hybrid CD-ROM.

       -auto AutoStart_file
              Make the HFS CD use  the  QuickTime  2.0  Autostart  feature  to
              launch  an  application  or document. The given filename must be
              the name of a document or application located at the  top  level
              of  the  CD.  The  filename  must  be  less  than 12 characters.
              (Alpha).
              would exclude all files ending in `.o' or called foobar from the
              HFS volume. Note that if you had a directory called  foobar,  it
              too  (and of course all its descendants) would be excluded.  The
              glob can also be a path name relative to the source  directories
              given on the command line. Example:

                   genisoimage -o rom -hfs -hide-hfs src/html src

              would  exclude  just  the file or directory called html from the
              src directory.  Any other file or directory called html  in  the
              tree  will  not  be  excluded.  Should be used with -hide and/or
              -hide-joliet.  In order to match a directory name, make sure the
              pattern   does   not  include  a  trailing  `/'  character.  See
              README.hide for more details.

       -hide-hfs-list file
              Specify a file containing a list of wildcard patterns to be hid-
              den as in -hide-hfs.

       -hfs-volid hfs_volid
              Volume  name  for  the  HFS  partition. This is the name that is
              assigned to the disc on a Macintosh and replaces the volid  used
              with -V.

       -icon-position
              Use  the  icon  position  information,  if  it  exists, from the
              Apple/Unix file.  The icons will appear in the same position  as
              they  would  on a Macintosh desktop. Folder location and size on
              screen, its scroll positions, folder View (view as Icons,  Small
              Icons, etc.) are also preserved.  (Alpha).

       -root-info file
              Set  the location, size on screen, scroll positions, folder View
              etc. for the root folder of an HFS volume.  See  README.rootinfo
              for more information.  (Alpha)

       -prep-boot file
              PReP  boot image file. Up to 4 are allowed. See README.prep_boot
              for more information.  (Alpha)

       -input-hfs-charset charset
              Input charset that defines the characters used in HFS  filenames
              when  used  with -mac-name.  The default charset is cp10000 (Mac
              Roman).  See the CHARACTER SETS and HFS MACINTOSH FILENAMES sec-
              tions below for more details.

       -output-hfs-charset charset
              Output  charset that defines the characters that will be used in
              the HFS filenames. Defaults to the input charset. See the  CHAR-
              ACTER SETS section below for more details.

       -hfs-unlock
       -hfs-parms parameters
              Override certain parameters used to create the  HFS  filesystem.
              Unlikely  to  be  used  in  normal  circumstances.  See the lib-
              hfs_iso/hybrid.h source file for details.

       --cap  Look for AUFS CAP Macintosh files.  Search  for  CAP  Apple/Unix
              file  formats  only. Searching for the other possible Apple/Unix
              file formats is disabled, unless other double dash  options  are
              given.

       --netatalk
              Look for NETATALK Macintosh files

       --double
              Look for AppleDouble Macintosh files

       --ethershare
              Look for Helios EtherShare Macintosh files

       --ushare
              Look for IPT UShare Macintosh files

       --exchange
              Look for PC Exchange Macintosh files

       --sgi  Look for SGI Macintosh files

       --xinet
              Look for XINET Macintosh files

       --macbin
              Look for MacBinary Macintosh files

       --single
              Look for AppleSingle Macintosh files

       --dave Look for Thursby Software Systems DAVE Macintosh files

       --sfm  Look  for  Microsoft's  Services  for  Macintosh files (NT only)
              (Alpha)

       --osx-double
              Look for Mac OS X AppleDouble Macintosh files

       --osx-hfs
              Look for Mac OS X HFS Macintosh files


CHARACTER SETS

       genisoimage processes filenames in a POSIX-compliant way as strings  of
       8-bit  characters.   To  represent all codings for all languages, 8-bit
       characters are not sufficient.  Unicode or ISO-10646  define  character
       codings  that  need  at least 21 bits to represent all known languages.

       If  all  operating  systems  used  UTF-8, genisoimage would not need to
       recode characters in filenames.  Unfortunately, Apple  uses  completely
       nonstandard  codings  and  Microsoft  uses a Unicode coding that is not
       compatible with the POSIX filename interface.

       For all non-UTF-8-coded operating systems, the  actual  character  that
       each byte represents depends on the character set or codepage (the name
       used by Microsoft) used by the local operating system -- the characters
       in  a  character set will reflect the region or natural language set by
       the user.

       Usually  character  codes  0x00-0x1f  are  control  characters,   codes
       0x20-0x7f  are  the  7-bit  ASCII  characters  and  (on  PCs  and Macs)
       0x80-0xff are used for other characters.

       As there are a lot more than 256  characters/symbols  in  use,  only  a
       small  subset  are  represented  in a character set. Therefore the same
       character code may represent a different character in different charac-
       ter  sets. So a filename generated, say in central Europe, may not dis-
       play the same character when  viewed  on  a  machine  in,  say  eastern
       Europe.

       To  make matters more complicated, different operating systems use dif-
       ferent character sets for the region  or  language.  For  example,  the
       character code for `' (small e with acute accent) may be character code
       0x82 on a PC, code 0x8e on a Macintosh, code 0xe9 on a Unix  system  in
       western Europe, and code 0x000e9 in Unicode.

       As  long  as  not  all  operating systems and applications use the same
       character set as the basis for filenames, it may be necessary to  spec-
       ify  which  character set your filenames use in and which character set
       the filenames should appear on the CD.

       There are four options to specify the character sets you want to use:

       -input-charset
              Defines the local character set  you  are  using  on  your  host
              machine.  Any character set conversions that take place will use
              this character set as the  starting  point.  The  default  input
              character  sets  are cp437 on MS-DOS-based systems and iso8859-1
              on all other systems.  If -J is given, the  Unicode  equivalents
              of the input character set will be used in the Joliet directory.
              -jcharset is the same as -input-charset -J.

       -output-charset
              Defines the character set that will be used with  for  the  Rock
              Ridge names on the CD.  Defaults to the input character set.

       -input-hfs-charset
              Defines  the  HFS  character  set used for HFS filenames decoded
              from any of the various Apple/Unix  file  formats.  Only  useful

       Additional character sets can be read from file for any of the  charac-
       ter  set  options  by giving a filename as the argument to the options.
       The given file will only be read if its name does not match one of  the
       built-in character sets.

       The  format of the character set files is the same as the mapping files
       available from http://www.unicode.org/Public/MAPPINGS.  This format is:

              Column #1 is the input byte code (in hex as 0xXX)
              Column #2 is the Unicode (in hex as 0xXXXX)
              The rest of the line is ignored.

       Any  blank line, line without two (or more) columns in the above format
       or comments lines (starting with the # character) are  ignored  without
       any  warnings.  Any  missing  input code is mapped to Unicode character
       0x0000.

       Note that, while UTF-8 is supported, other Unicode  encodings  such  as
       UCS-2/UTF-16  and UCS-4/UTF-32 are not, as POSIX operating systems can-
       not handle them natively.

       A 1:1 character set mapping can be defined by using the keyword default
       as the argument to any of the character set options. This is the behav-
       iour of old versions of mkisofs.

       The ISO9660 filenames generated from the input filenames are  not  con-
       verted  from  the  input  character set. The ISO9660 character set is a
       very limited subset of the ASCII characters, so any conversion would be
       pointless.

       Any  character  that genisoimage cannot convert will be replaced with a
       `_' character.


HFS CREATOR/TYPE

       A Macintosh file has two properties associated  with  it  which  define
       which  application created the file, the CREATOR and what data the file
       contains, the TYPE.  Both are (exactly) 4 letter strings. Usually  this
       allows  a  Macintosh user to double-click on a file and launch the cor-
       rect application etc. The CREATOR and TYPE of a particular file can  be
       found by using something like ResEdit (or similar) on a Macintosh.

       The  CREATOR  and  TYPE  information  is  stored  in  all  the  various
       Apple/Unix encoded files.  For other files it is possible to  base  the
       CREATOR and TYPE on the filename's extension using a mapping file (with
       -map) and/or using the magic number (usually a signature in  the  first
       few  bytes)  of a file (with -magic).  If both these options are given,
       their order on the command line  is  significant.   If  -map  is  given
       first,  a  filename  extension match is attempted before a magic number
       match. However, if -magic is given  first,  a  magic  number  match  is
       attempted before a filename extension match.

       If  a  mapping  or  magic  file  is not used, or no match is found, the
       Movie" */Ascii/'ttxt'/'TEXT'/"Text file"

       Where:

              The  first column EXTN defines the Unix filename extension to be
              mapped. The default mapping  for  any  filename  extension  that
              doesn't match is defined with the `*' character.

              The  Xlate  column  defines the type of text translation between
              the Unix and Macintosh file it is ignored by genisoimage, but is
              kept  to  be compatible with aufs(1).  Although genisoimage does
              not alter the contents of a file, if a binary file has its  TYPE
              set  as  TEXT, it may be read incorrectly on a Macintosh. There-
              fore a better choice for the default TYPE may be ????.

              The CREATOR and TYPE keywords must  be  4  characters  long  and
              enclosed in single quotes.

              The  comment field is enclosed in double quotes -- it is ignored
              by genisoimage, but is kept to be compatible with aufs.

       The format of the magic file is almost identical to the  magic(5)  file
       used by the file(1) command.

       This  file  has  four  tab-separated columns for the byte offset, type,
       test and message.  Lines starting with the `#'  character  are  comment
       lines and are ignored. An example file would be like:


       tab  (/);  l  s  s  s  l  s  s  s  l  l l l .  # Example magic file # #
       off/type/test/message    0/string/GIF8/8BIM     GIFf      GIF     image
       0/beshort/0xffd8/8BIM JPEG  image data 0/string/SIT!/SIT! SIT!  StuffIt
       Archive   0/string/\037\235/LZIV   ZIVU    standard    Unix    compress
       0/string/\037\213/GNUz ZIVU  gzip compressed data 0/string/%!/ASPS TEXT
       Postscript 0/string/\004%!/ASPS TEXT  PC Postscript with a ^D to  start
       4/string/moov/txtt MooV  QuickTime movie file (moov) 4/string/mdat/txtt
       MooV  QuickTime movie file (mdat)

       The format of the file is described in magic(5).  The  only  difference
       here is that for each entry in the magic file, the message for the ini-
       tial offset must be be 4 characters for the CREATOR followed by 4 char-
       acters  for the TYPE -- white space is optional between them. Any other
       characters on this line are ignored.  Continuation lines (starting with
       a  `>') are also ignored, i.e., only the initial offset lines are used.

       Using -magic may significantly increase processing time  as  each  file
       has to opened and read to find its magic number.

       In  summary, for all files, the default CREATOR is Unix and the default
       TYPE is TEXT.  These can be changed by using entries in the  .genisoim-
       agerc file or by using -hfs-creator and/or -hfs-type.

       Either may be empty. Unix (and many other OSs) can only cope with files
       having  one part (or fork). To add to this, Macintosh files have a num-
       ber of attributes associated with them -- probably the  most  important
       are the TYPE and CREATOR.  Again, Unix has no concept of these types of
       attributes.

       E.g., a Macintosh file may be a JPEG image where the image is stored in
       the  Data  fork and a desktop thumbnail stored in the Resource fork. It
       is usually the information in the data fork that is useful across plat-
       forms.

       Therefore  to store a Macintosh file on a Unix filesystem, a way has to
       be found to cope with the two forks and the extra attributes (which are
       referred  to  as  the Finder info).  Unfortunately, it seems that every
       software package that stores Macintosh files on Unix has chosen a  com-
       pletely different storage method.

       The Apple/Unix formats that genisoimage (partially) supports are:

       CAP AUFS format
              Data  fork  stored  in  a  file.  Resource  fork in subdirectory
              .resource with same filename as data fork. Finder info in subdi-
              rectory .finderinfo with same filename.

       AppleDouble/Netatalk
              Data  fork stored in a file. Resource fork stored in a file with
              same name prefixed with `%'. Finder info also stored in same `%'
              file.   Netatalk   uses   the  same  format,  but  the  resource
              fork/Finder info stored in subdirectory .AppleDouble  with  same
              filename as data fork.

       AppleSingle
              Data  structures  similar to above, except both forks and Finder
              info are stored in one file.

       Helios EtherShare
              Data fork stored in a  file.   Resource  fork  and  Finder  info
              together  in subdirectory .rsrc with same filename as data fork.

       IPT UShare
              Like the EtherShare  format,  but  the  Finder  info  is  stored
              slightly differently.

       MacBinary
              Both forks and Finder info stored in one file.

       Apple PC Exchange
              Used  by  Macintoshes  to  store Apple files on DOS (FAT) disks.
              Data fork stored  in  a  file.  Resource  fork  in  subdirectory
              resource.frk  (or  RESOURCE.FRK).   Finder info as one record in
              file finder.dat (or FINDER.DAT).  Separate finder.dat  for  each
              data fork directory.
              arate .HSancillary for each data fork directory.

       Thursby Software Systems DAVE
              Allows  Macintoshes  to  store Apple files on SMB servers.  Data
              fork  stored  in  a  file.   Resource   fork   in   subdirectory
              resource.frk.   Uses  the  AppleDouble  format to store resource
              fork.

       Services for Macintosh
              Format of files stored by NT Servers on NTFS  filesystems.  Data
              fork  is  stored  as  filename.   Resource fork stored as a NTFS
              stream called filename:AFP_Resource.  The Finder info is  stored
              as  a NTFS stream called filename:Afp_AfpInfo.  NTFS streams are
              normally invisible to the user.

              Warning: genisoimage only partially supports the SFM format.  If
              an  HFS file or folder stored on the NT server contains an ille-
              gal NT character in its name, NT converts  these  characters  to
              Private Use Unicode characters.  The characters are: " * / < > ?
              \ | and a space or period if it is the  last  character  of  the
              filename,  character codes 0x01 to 0x1f (control characters) and
              Apple's apple logo.

              Unfortunately, these private Unicode characters are not readable
              by  the  genisoimage NT executable. Therefore any file or direc-
              tory name containing these characters will be ignored -- includ-
              ing the contents of any such directory.

       Mac OS X AppleDouble
              When HFS/HFS+ files are copied or saved by Mac OS X on to a non-
              HFS filesystem (e.g. UFS, NFS etc.), the  files  are  stored  in
              AppleDouble  format.   Data fork stored in a file. Resource fork
              stored in a file with same name prefixed with `._'. Finder  info
              also stored in same `._' file.

       Mac OS X HFS (Alpha)
              Not  really an Apple/Unix encoding, but actual HFS/HFS+ files on
              a Mac OS X system. Data fork stored in  a  file.  Resource  fork
              stored  in  a  pseudo  file  with  the same name with the suffix
              /rsrc.  The Finder info is only available via a Mac OS X library
              call.

              See also README.macosx.

              Only works when used on Mac OS X.

              If  a  file  is found with a zero length resource fork and empty
              finderinfo, it is assumed not to have any Apple/Unix encoding --
              therefore a TYPE and CREATOR can be set using other methods.

       genisoimage  will  attempt  to set the CREATOR, TYPE, date and possibly
       other flags from the finder info. Additionally, if it exists, the  Mac-
       the  Directory  Record (bit 2). This file has the same name as the data
       fork (the file seen by non-Apple machines). Associated files  are  nor-
       mally ignored by other OSs

       When  using  -hfs,  the  TYPE  and  CREATOR plus other finder info, are
       stored in a separate HFS directory, not visible on the ISO9660  volume.
       The  HFS  directory  references  the  same data and resource fork files
       described above.

       In most cases, it is better to use -hfs instead of -apple, as the  lat-
       ter  imposes  the limited ISO9660 characters allowed in filenames. How-
       ever, the Apple extensions do give the advantage  that  the  files  are
       packed  on the disk more efficiently and it may be possible to fit more
       files on a CD.


HFS MACINTOSH FILENAMES

       Where possible, the HFS filename that is stored with an Apple/Unix file
       is  used  for  the  HFS part of the CD. However, not all the Apple/Unix
       encodings store the HFS filename with the finderinfo. In  these  cases,
       the  Unix  filename is used -- with escaped special characters. Special
       characters include `/' and characters with codes over 127.

       AUFS escapes these characters by using `:' followed  by  the  character
       code  as two hex digits. Netatalk and EtherShare have a similar scheme,
       but uses `%' instead of a `:'.

       If genisoimage cannot find an HFS filename, it uses the Unix name, with
       any %xx or :xx characters (xx are two hex digits) converted to a single
       character code.  If xx are not hex digits ([0-9a-fA-F]), they are  left
       alone  -- although any remaining `:' is converted to `%', as `:' is the
       HFS directory separator. Care must be taken, as an ordinary  Unix  file
       with %xx or :xx will also be converted. e.g.


       l  l  l  s  l  l l s l l .  This:2fFile    converted to This/File
       This:File converted  to  This%File         This:t7File    converted  to
       This%t7File

       Although  HFS  filenames appear to support uppercase and lowercase let-
       ters, the filesystem is case-insensitive, i.e., the filenames  aBc  and
       AbC  are  the same. If a file is found in a directory with the same HFS
       name, genisoimage will attempt to make a  unique  name  by  adding  `_'
       characters to one of the filenames.

       If  an HFS filename exists for a file, genisoimage can use this name as
       the starting point for the ISO9660, Joliet  and  Rock  Ridge  filenames
       using  -mac-name.  Normal Unix files without an HFS name will still use
       their Unix name.  e.g.

       If a MacBinary (or PC Exchange) file is stored as someimage.gif.bin  on
       the Unix filesystem, but contains a HFS file called someimage.gif, this
       is the name that would appear on the HFS part of the  CD.  However,  as

       Note: the character codes used by HFS filenames taken from the  various
       Apple/Unix  formats  will not be converted as they are assumed to be in
       the correct Apple character  set.  Only  the  Joliet/Rock  Ridge  names
       derived from the HFS filenames will be converted.

       The  existing  genisoimage  code will filter out any illegal characters
       for the ISO9660 and Joliet filenames, but as genisoimage expects to  be
       dealing directly with Unix names, it leaves the Rock Ridge names as is.
       But as `/' is a legal HFS filename character, -mac-name converts `/' to
       a `_' in Rock Ridge filenames.

       If  the  Apple  extensions  are  used,  only the ISO9660 filenames will
       appear on the Macintosh. However, as the Macintosh ISO9660 drivers  can
       use Level 2 filenames, you can use options like -allow-multidot without
       problems on a Macintosh -- still take care over the names, for  example
       this.file.name  will  be converted to THIS.FILE i.e. only have one `.',
       also filename abcdefgh will be seen as ABCDEFGH but abcdefghi  will  be
       seen as ABCDEFGHI.  i.e. with a `.' at the end -- don't know if this is
       a Macintosh problem or a genisoimage/mkhybrid  problem.  All  filenames
       will  be in uppercase when viewed on a Macintosh. Of course, DOS/Win3.X
       machines will not be able to see Level 2 filenames...


HFS CUSTOM VOLUME/FOLDER ICONS

       To give a HFS CD a custom icon, make sure the root (top  level)  folder
       includes a standard Macintosh volume icon file. To give a volume a cus-
       tom icon on a Macintosh, an icon has to be  pasted  over  the  volume's
       icon  in  the  "Get  Info" box of the volume. This creates an invisible
       file called Icon\r (`\r' is the carriage return character) in the  root
       folder.

       A custom folder icon is very similar -- an invisible file called Icon\r
       exists in the folder itself.

       Probably the easiest way to create a custom icon that  genisoimage  can
       use  is to format a blank HFS floppy disk on a Mac and paste an icon to
       its "Get Info" box. If using Linux with the HFS module installed, mount
       the floppy:

              mount -t hfs /dev/fd0 /mnt/floppy

       The  floppy  will  be mounted as a CAP filesystem by default.  Then run
       genisoimage using something like:

              genisoimage --cap -o output source_dir /mnt/floppy

       If you are not using Linux, you can use hfsutils to copy the icon  file
       from  the floppy.  However, care has to be taken, as the icon file con-
       tains a control character.  For example:

              hmount /dev/fd0
              hdir -a

       http://www.cdrfaq.org/faq03.html#S3-21-1.


HFS BOOT DRIVER

       It may be possible to make the hybrid CD bootable on a Macintosh.

       A  bootable  HFS  CD requires an Apple CD-ROM (or compatible) driver, a
       bootable HFS partition and the necessary System, Finder, etc. files.

       A driver can be obtained from any other Macintosh bootable CD-ROM using
       the   apple_driver   utility.   This   file   can  then  be  used  with
       -boot-hfs-file.

       The HFS partition (i.e. the hybrid disk in our  case)  must  contain  a
       suitable System Folder, again from another CD-ROM or disk.

       For  a  partition  to be bootable, it must have its boot block set. The
       boot block is in the first two  blocks  of  a  partition.  For  a  non-
       bootable  partition  the  boot block is full of zeros. Normally, when a
       System file is copied to partition on a Macintosh disk, the boot  block
       is  filled  with a number of required settings -- unfortunately I don't
       know the full spec for the boot block, so I'm guessing that the follow-
       ing will work.

       Therefore,  the  utility apple_driver also extracts the boot block from
       the first HFS partition it finds on the given CD-ROM and this  is  used
       for the HFS partition created by genisoimage.

       Please note: By using a driver from an Apple CD and copying Apple soft-
       ware to your CD, you become liable to obey Apple Computer,  Inc.  Soft-
       ware License Agreements.


EL TORITO BOOT INFORMATION TABLE

       When  -boot-info-table  is given, genisoimage will modify the boot file
       specified by -b by inserting a 56-byte boot information table at offset
       8  in the file.  This modification is done in the source filesystem, so
       make sure you use a copy if this file is not  easily  recreated!   This
       file  contains pointers which may not be easily or reliably obtained at
       boot time.

       The format of this table is as follows; all  integers  are  in  section
       7.3.1 ("little endian") format.

         Offset    Name           Size      Meaning
          8        bi_pvd         4 bytes   LBA of primary volume descriptor
         12        bi_file        4 bytes   LBA of boot file
         16        bi_length      4 bytes   Boot file length in bytes
         20        bi_csum        4 bytes   32-bit checksum
         24        bi_reserved    40 bytes  Reserved

              The  32-bit  checksum  is the sum of all the 32-bit words in the
              boot  file  starting  at  byte  offset  64.   All  linear  block
              addresses  (LBAs) are given in CD sectors (normally 2048 bytes).

       To create jigdo  and  template  files  alongside  the  ISO  image  from
       genisoimage,  you  must first generate a list of the files that will be
       used, in the following format:

         MD5sum   File size  Path
         32 chars 12 chars   to end of line

              The MD5sum should be written in  jigdo's  pseudo-base64  format.
              The  file  size  should  be in decimal, and the path to the file
              must be absolute.

       Once you have this file, call genisoimage with all of your normal  com-
       mand-line  parameters.  Specify  the output filenames for the jigdo and
       template files using -jigdo-jigdo and -jigdo-template, and pass in  the
       location of your MD5 list with -md5-list.

       If there are files that you do NOT want to be added into the jigdo file
       (e.g.  if  they  are  likely  to  change  often),  specify  them  using
       -jigdo-ignore.  If  you  want  to  verify some of the files as they are
       written into the image, specify them  using  -jigdo-force-md5.  If  any
       files  don't match, genisoimage will then abort.  Both of these options
       take regular expressions as input. It is possible to restrict  the  set
       of  files  that  will  be  used  further  based  on  size  --  use  the
       -jigdo-min-file-size option.

       Finally, the jigdo code needs to know how to map the files it is  given
       onto  a  mirror-style  configuration.  Specify  how  to map paths using
       -jigdo-map.  Using Debian=/mirror/debian will cause all paths  starting
       with  /mirror/debian  to be mapped to Debian:<file> in the output jigdo
       file.


EXAMPLES

       To create a vanilla ISO9660 filesystem image in the file cd.iso,  where
       the directory cd_dir will become the root directory if the CD, call:

              % genisoimage -o cd.iso cd_dir

       To  create  a  CD  with  Rock  Ridge extensions of the source directory
       cd_dir:

              % genisoimage -o cd.iso -R cd_dir

       To create a CD with Rock  Ridge  extensions  of  the  source  directory
       cd_dir  where all files have at least read permission and all files are
       owned by root, call:

              % genisoimage -o cd.iso -r cd_dir

       To write a tar archive directly to a CD that will later contain a  sim-
       ple ISO9660 filesystem with the tar archive call:

       files CREATOR and TYPES based on just their filename extensions  listed
       in the file "mapping".:

              % genisoimage -o cd.iso -map mapping cd_dir

       To  create  a  CD with the Apple Extensions to ISO9660, from the source
       directories cd_dir and another_dir.  Files in all the known  Apple/Unix
       format are decoded and any other files are given CREATOR and TYPE based
       on their magic number given in the file magic:

              % genisoimage -o cd.iso -apple -magic magic -probe \
                      cd_dir another_dir

       The following example puts different files on the CD that all have  the
       name  README,  but  have different contents when seen as a ISO9660/Rock
       Ridge, Joliet or HFS CD.

       Current directory contains:

              % ls -F
              README.hfs     README.joliet  README.Unix    cd_dir/

       The following command puts the contents of the directory cd_dir on  the
       CD  along with the three README files -- but only one will be seen from
       each of the three filesystems:

              % genisoimage -o cd.iso -hfs -J -r -graft-points \
                      -hide README.hfs -hide README.joliet \
                      -hide-joliet README.hfs -hide-joliet README.Unix \
                      -hide-hfs README.joliet -hide-hfs README.Unix \
                      README=README.hfs README=README.joliet \
                      README=README.Unix cd_dir

       i.e. the file README.hfs will be seen as README on the HFS CD  and  the
       other  two  README  files  will be hidden. Similarly for the Joliet and
       ISO9660/Rock Ridge CD.

       There are probably all sorts of strange results possible with  combina-
       tions of the hide options ...


NOTES

       genisoimage  may  safely  be installed suid root. This may be needed to
       allow genisoimage to read the previous session when creating  a  multi-
       session image.

       If   genisoimage  is  creating  a  filesystem  image  with  Rock  Ridge
       attributes and the directory nesting level of the source directory tree
       is too much for ISO9660, genisoimage will do deep directory relocation.
       This results in a directory called RR_MOVED in the  root  directory  of
       the CD. You cannot avoid this directory.

       Many  boot  code  options for different platforms are mutualy exclusive
       adding  data.   Any relocated deep directory is lost if the new session
       does not include the deep directory.

       Does not re-use RR_MOVED when doing multisession from TRANS.TBL.

       Does not create whole_name entry for RR_MOVED in multisession mode.

       There may be other bugs.  Please, report them to the maintainers.


HFS PROBLEMS/LIMITATIONS

       I have had to make several assumptions on how  I  expect  the  modified
       libhfs  routines to work, however there may be situations that either I
       haven't thought of, or come across when these assumptions fail.  There-
       fore I can't guarantee that genisoimage will work as expected (although
       I haven't had a major problem yet). Most of the HFS features work fine,
       but some are not fully tested. These are marked as Alpha above.

       Although  HFS  filenames appear to support uppercase and lowercase let-
       ters, the filesystem is case-insensitive, i.e., the filenames  aBc  and
       AbC  are  the same. If a file is found in a directory with the same HFS
       name, genisoimage will attempt to make a  unique  name  by  adding  `_'
       characters to one of the filenames.

       HFS  file/directory  names that share the first 31 characters have `_N'
       (a decimal number) substituted for the last few characters to  generate
       unique names.

       Care must be taken when "grafting" Apple/Unix files or directories (see
       above for the method and syntax involved). It is not possible to use  a
       new name for an Apple/Unix encoded file/directory. e.g. If a Apple/Unix
       encoded file called oldname is to added to the CD, you cannot  use  the
       command line:

              genisoimage  -o  output.raw  -hfs  -graft-points newname=oldname
              cd_dir

       genisoimage will be unable to decode oldname.  However, you  can  graft
       Apple/Unix  encoded  files or directories as long as you do not attempt
       to give them new names as above.

       When creating an HFS volume with the multisession options, -M  and  -C,
       only  files  in  the  last  session  will  be  in  the HFS volume. i.e.
       genisoimage cannot add existing files from previous sessions to the HFS
       volume.

       However,  if  each  session  is  created  with -part, each session will
       appear as separate volumes when mounted on a Mac. In this case,  it  is
       worth using -V or -hfs-volid to give each session a unique volume name,
       otherwise each "volume" will appear on the Desktop with the same  name.

       Symbolic  links  (as with all other non-regular files) are not added to
       the HFS directory.
       tents of the volume (unless you really know what you are doing) as it's
       not a "real" HFS volume.

       -mac-name will not currently work with -T -- the Unix name will be used
       in the TRANS.TBL file, not the Macintosh name.

       Although genisoimage does not alter the contents of a file, if a binary
       file has its TYPE set as TEXT, it may be read incorrectly on  a  Macin-
       tosh. Therefore a better choice for the default TYPE may be ????.

       -mac-boot-file may not work at all...

       May  not  work  with  PC  Exchange v2.2 or higher files (available with
       MacOS 8.1).  DOS media containing PC Exchange files should  be  mounted
       as type msdos (not vfat) when using Linux.

       The  SFM  format  is only partially supported -- see HFS MACINTOSH FILE
       FORMATS section above.

       It  is  not  possible  to  use  -sparc-boot   or   -generic-boot   with
       -boot-hfs-file or -prep-boot.

       genisoimage  should  be  able  to  create  HFS  hybrid images over 4Gb,
       although this has not been fully tested.


SEE ALSO

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


AUTHORS

       genisoimage is derived from mkisofs from the cdrtools 2.01.01a08  pack-
       age  from May 2006 (with few updates extracted from cdrtools 2.01.01a24
       from March 2007) from .IR http://cdrecord.berlios.de/ , but is now part
       of  the  cdrkit suite, maintained by Joerg Jaspert, Eduard Bloch, Steve
       McIntyre, Peter Samuelson, Christian Fromme, Ben Hutchings,  and  other
       contributors.    The   maintainers   can   be   contacted  at  debburn-
       devel@lists.alioth.debian.org, or see the cdrkit project  web  site  at
       http://www.cdrkit.org/.

       Eric  Youngdale  wrote  the first versions (1993-1998) of mkisofs.  Jrg
       Schilling wrote the SCSI transport library and its interface,  and  has
       maintained  mkisofs  since  1999.   James  Pearson wrote the HFS hybrid
       code, using libhfs by Robert Leslie.  Pearson, Schilling, Jungshik Shin
       and  Jaakko  Heinonen contributed to the character set conversion code.
       The cdrkit maintainers have maintained genisoimage since 2006.

       Copyright 1993-1998 by Yggdrasil Computing, Inc.
       Copyright 1996-1997 by Robert Leslie
       Copyright 1997-2001 by James Pearson
       Copyright 1999-2006 by Jrg Schilling
       Copyright 2007 by Jrg Schilling (originating few updates)
       Copyright 2002-2003 by Jungshik Shin
       Copyright 2003 by Jaakko Heinonen


                                  13 Dec 2006                   GENISOIMAGE(1)

Man(1) output converted with man2html