SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

BotDetect - Real-Time Bot Detection API
 
 

MAN page from Old RedHat 6.X cdrecord-1.9-1.i386.rpm

MKISOFS

Section: Maintenance Commands (8)
Updated: 1 May 2000
Index 

NAME

mkisofs - create an hybrid ISO9660/JOLIET/HFS filesystem with optional Rock Ridge attributes. 

SYNOPSIS

mkisofs[-abstractFILE][-allow-lowercase][-allow-multidot][-biblioFILE][-beltorito_boot_image][-eltorito-alt-boot][-Bsparc_boot_image_list][-Ggeneric_boot_image][-gui][-C#,#][-hard-disk-boot][-no-emul-boot][-no-boot][-boot-load-seg][-boot-load-size][-boot-info-table][-cboot_catalog][-check-oldnames][-copyrightFILE][-Aapplication_id][-f][-d][-D][-hideglob][-hide-listfile][-hiddenglob][-hidden-listfile][-hide-jolietglob][-hide-joliet-listfile][-hide-joliet-trans-tbl][-hide-rr-moved][-iso-levellevel][-J][-jcharsetcharset][-l][-L][-log-filelog_file][-max-iso9660-filenames][-Mpath | device][-nobak][-no-bak][-no-split-symlink-components][-no-split-symlink-fields][-pad][-path-listfile][-ppreparer][-print-size][-Ppublisher][-quiet][-r][-R][-relaxed-filenames][-sortsort file][-sysidID][-T|-table-nameTABLE_NAME][-ucs-levellevel][-use-fileversion][-U][-no-iso-translate][-v][-Vvolid][-volsetID][-volset-size#][-volset-seqno#][-xpath][-exclude-listfile][-z][-mglob][-hfs|-apple][-mapmapping_file][-magicmagic_file][-probe][-no-desktop][-mac-name][-boot-hfs-filedriver_file[-part][-autoAutoStart_file][-cluster-sizesize][-hide-hfsglob][-hide-hfs-listfile][-hfs-volidhfs_volid][-icon-position][-root-infoFILE[-prep-bootFILE][-hfs-creatorCREATOR][-hfs-typeTYPE][--cap][--netatalk][--double][--ethershare][--ushare][--exchange][--sgi][--xinet][--macbin][--single][--dave][--sfm]-ofilenamepathspec [pathspec] 

DESCRIPTION

mkisofsis effectively a pre-mastering program to generate an ISO9660/JOLIET/HFS hybridfilesystem.

mkisofsis capable of generating the System Use Sharing Protocol records (SUSP)specifiedby the Rock Ridge Interchange Protocol.This is used to further describe thefiles in the iso9660 filesystem to a unix host, and provides information suchas longer filenames, uid/gid, posix permissions, symbolic links,block and character devices.

If Joliet or HFS hybrid command line options are specified, mkisofswill create additional filesystem meta data for Joliet or HFS.The file content in this case refers to the same data blocks on the media.Itwill generate a pure ISO9660 filesystem unless the Joliet or HFS hybrid commandline options are given.

mkisofscan generate a true(orshared)HFS hybrid filesystem. The same files are seen as HFS files whenaccessed from a Macintosh and as ISO9660 files when accessed from other machines. HFS stands forHierarchical File Systemand is the native file system used on Macintosh computers.

As an alternative,mkisofscan generate theApple Entensions to ISO9660for each file. These extensions provide each file with CREATOR, TYPE andcertain Finder Flags when accessed from a Macintosh. See theHFS MACINTOSH FILE FORMATSsection below.

mkisofstakes a snapshot of a given directory tree, and generates abinary image which will correspond to an ISO9660 or HFS filesystem whenwritten to a block device.

Each file written to the iso9660 filesystem must have a filename in the 8.3format (8 characters, period, 3 characters, all upper case), even if Rock Ridgeis in use. This filename is used on systems that are not able to make use ofthe Rock Ridge extensions (such as MS-DOS), and each filename in each directorymust be different from the other filenames in the same directory.mkisofsgenerally tries to form correct names by forcing the unix filename to uppercase and truncating as required, but often times this yields unsatisfactoryresults when there are cases where thetruncated names are not all unique.mkisofsassigns weightings to each filename, and if two names that are otherwise thesame are found the name with the lower priority is renamed to have a 3 digitnumber as an extension (where the number is guaranteed to be unique). Anexample of this would be the files foo.bar andfoo.bar.~1~ - the file foo.bar.~1~ would be written as FOO000.BAR;1 and the filefoo.bar would be written as FOO.BAR;1

When used with various HFS options,mkisofswill attempt to recognise files stored in a number of Apple/Unix file formatsand will copy the data and resource forks as well as anyrelevant finder information. See theHFS MACINTOSH FILE FORMATSsection below for more about formatsmkisofssupports.

Note thatmkisofsis not designed to communicate with the writer directly. Most writershave proprietary command sets which vary from one manufacturer toanother, and you need a specialized tool to actually burn the disk.

Thecdrecordutility is a utility capable of burning an actual disc. The latest versionofcdrecordis available fromftp://ftp.fokus.gmd.de/pub/unix/cdrecord

Also you should know that most cd writers are very particular about timing.Once you start to burn a disc, you cannot let their buffer empty before youare done, or you will end up with a corrupt disc. Thus it is criticalthat you be able to maintain an uninterrupted data stream to the writerfor the entire time that the disc is being written.

pathspecis the path of the directory tree to be copied into the iso9660 filesystem.Multiple paths can be specified, andmkisofswill merge the files found in all of the specified path components to form the cdromimage.

If the option-graft-pointshas been specified, it is possible to graft the paths at points other than the rootdirectory, and it is possible to graft files or directories onto thecdrom image with names different than what they have in the source filesystem. This iseasiest to illustrate with a couple of examples. Let's start by assuming that a localfile ../old.lis exists, and you wish to include it in the cdrom image.

        foo/bar/=../old.lis

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

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

will include the file old.lis in the cdrom image at /foo/bar/xxx. Thesame sort of syntax can be used with directories as well.mkisofswill create any directories required such that the graftpoints exist on the cdrom image - the directories do not need toappear in one of the paths. Any directories that are created on thefly like this will have permissions 0555 and appear to be owned by theperson running mkisofs. If you wish other permissions or owners ofthe intermediate directories, the easiest solution is to create realdirectories in the path such that mkisofs doesn't have to invent them.

mkisofswill also run on Win9X/NT4 machines when compiled with Cygnus' cygwin(available from http://sourceware.cygnus.com/cygwin/). Therefore mostreferences in this man page toUnixcan be replaced withWin32.

 

OPTIONS

-abstract FILE
Specifies the abstract file name.This parameter can also be set in the file.mkisofsrcwith ABST=filename.If specified in both places, the command line version is used.
-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. Thereis space on the disc for 128 characters of information. This parameter canalso be set in the file.mkisofsrcwith APPI=id.If specified in both places, the command line version is used.
-allow-lowercase
This options allows lower case characters to appear in iso9660 filenames.
This violates the ISO9660 standard, but it happens to work on some systems.Use with caution.
-allow-multidot
This options allows more than one dot to appear in iso9660 filenames.A leading dot is not affected by this option, itmay be allowed separately using the-Loption.
This violates the ISO9660 standard, but it happens to work on many systems.Use with caution.
-biblio FILE
Specifies the bibliographic file name.This parameter can also be set in the file.mkisofsrcwith BIBLO=filename.If specified in both places, the command line version is used.
-b eltorito_boot_image
Specifies the path and filename of the boot image to be used when makingan "El Torito" bootable CD. The pathname must be relative to the sourcepath specified tomkisofs.This option is required to make an "El Torito" bootable CD.The boot image must be exactly the size of either a 1.2, 1.44, or a 2.88meg floppy, andmkisofswill use this size when creating the output iso9660filesystem. It is assumed that the first 512 byte sector should be readfrom the boot image (it is essentially emulating a normal floppy drive).This will work, for example, if the boot image is a LILO based boot floppy.
-eltorito-alt-boot
Start with a new set of "El Torito" boot parameters.This allows to have more than one El Torito boot on a CD.A maximum of 63 El Torito boot entries may be put on a single CD.
-B img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
Specifies a comma separated list of boot images that are needed to makea bootable CD for sparc systems.There may be empty fields in the comma separated list.This option is required to make a bootable CD for Sun sparc systems.If the-Bor-sparc-bootoption has been specified, the first sector of the resulting image willcontain a Sun disk label. This disk label specifies slice 0 for theiso9660 image and slice 1 ... slice 7 for the boot images thathave been specified with this option. Byte offset 512 ... 8191within each of the additional boot images must contain a primary bootthat works for the appropriate sparc architecture. The rest of eachof the images usually contains an ufs filesystem that is used primarykernel boot stage.

The implemented boot method is the boot method found with SunOS 4.x and SunOS 5.x.However, it does not depend on SunOS internals but only on properties ofthe Open Boot prom. For this reason, it should be usable for any OSthat boots off a sparc system.

If the special filename...is used, the actual and all following boot partitions are mapped to theprevious partition. Ifmkisofsis called with-G image -B ...all boot partitions are mapped to the partition that contains the iso9660filesystem image and the generic boot image that is located in the first16 sectors of the disk is used for all architectures.

-G generic_boot_image
Specifies the path and filename of the generic boot image to be used when makinga generic bootable CD.Thegeneric_boot_imagewill be placed on the first 16 sectors of the CD. The first 16 sectorsare the sectors that are located before the iso9660 primary volume descriptor.If this option is used together with the-sparc-bootoption, the Sun disk label will overlay the first 512 bytes of the genericboot image.
-hard-disk-boot
Specifies that the boot image used to create "El Torito" bootable CDs isa hard disk image. The hard disk image must begin with a master bootrecord that contains a single partition.
-no-emul-boot
Specifies that the boot image used to create "El Torito" bootable CDs isa 'no emulation' image. The system will load and execute this image withoutperforming any disk emulation.
-no-boot
Specifies that the created "El Torito" CD should be marked as not bootable. Thesystem will provide an emulated drive for the image, but will boot offa standard boot device.
-boot-load-seg segment_address
Specifies the load segment address of the boot image for no-emulation"El Torito" CDs.
-boot-load-size load_sectors
Specifies the number of "virtual" (512-byte) sectors to load inno-emulation mode. The default is to load the entire boot file. SomeBIOSes 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 layoutwill be patched in at offset 8 in the boot file. If this option isgiven, the boot file is modified in the source filesystem, so makesure to make a copy if this file cannot be easily regenerated! SeetheEL TORITO BOOT INFO TABLEsection for a description of this table.
-C last_sess_start,next_sess_start
This option is needed whenmkisofsis used to create the image of a second session or a higher level sessionfor a multi session disk.The option-Ctakes a pair of two numbers separated by a comma. The first number is thesector number of the first sector in the last session of the diskthat should be appended to.The second number is the starting sector number of the new session.The expected pair of numbers may be retrieved by callingcdrecord -msinfo ...the-Coption may only be uses in conjunction with the-Moption.
-c boot_catalog
Specifies the path and filename of the boot catalog to be used when makingan "El Torito" bootable CD. The pathname must be relative to the sourcepath specified tomkisofs.This option is required to make a bootable CD.This file will be inserted into the output tree and not createdin the source filesystem, so besure the specified filename does not conflict with an existing file, asit will be excluded. Usually a name like "boot.catalog" ischosen.
-check-oldnames
Check all filenames imported from old session for compliance withactual mkisofs iso9660 file naming rules.It his option is not present, only names with a length > 31 are checkedas these files are a hard violation of the iso9660 standard.
-copyright FILE
Specifies the Copyright file name.This parameter can also be set in the file.mkisofsrcwith COPY=filename.If specified in both places, the command line version is used.
-d
Omit trailing period from files that do not have a period.
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 theway we see them.
This violates the ISO9660 standard, but it happens to work on many systems.Use with caution.
-f
Follow symbolic links when generating the filesystem. When this option is notin use, symbolic links will be entered using Rock Ridge if enabled, otherwisethe file will be ignored.
-gui
Switch the behaviour for a GUI. This currently makes the output more verbosebut may have other effects in future.
-graft-points
Allow to use graft points for filenames. If this option is used, all filenamesare checked for graft points. The filename is divided at the first unescapedequal sign. All occurrences of '\\' and '=' characters must be escaped with '\\'if -graft-pointshas been specified.
-hide glob
Hideglobfrom being seen on the ISO9660 or Rock Ridge directory.globis a shell wild-card-style pattern that must match any part of the filename or path.Multiple globs may be hidden.Ifglobmatches a directory, then the contents of that directory will be hidden.All the hidden files will still be written to the output CD image file.Should be used with the-hide-jolietoption.
-hide-list file
A file containing a list ofglobsto be hidden as above.
-hidden glob
Add the hidden (existence) ISO9660 directory attribute forglob.This attribute will prevent globfrom being listed on DOS based systems if the /A flag is not used for the listing.globis a shell wild-card-style pattern that must match any part of the filename or path.Multiple globs may be hidden.
-hidden-list file
A file containing a list ofglobsto get the hidden attribute as above.
-hide-joliet glob
Hideglobfrom being seen on the Joliet directory.globis a shell wild-card-style pattern that must match any part of the filename or path.Multiple globs may be hidden.Ifglobmatches a directory, then the contents of that directory will be hidden.All the hidden files will still be written to the output CD image file.Should be used with the-hideoption.
-hide-joliet-list file
A file containing a list ofglobsto be hidden as above.
-hide-joliet-trans-tbl
Hide theTRANS.TBLfiles from the Joliet tree.These files usually don't make sense in the Joliet World as they listthe real name and the ISO9660 name which may both be different from theJoliet name.
-hide-rr-moved
Rename the directoryRR_MOVEDto.rr_movedin the Rock Ridge tree.It seems to be impossible to completely hide theRR_MOVEDdirectory from the Rock Ridge tree.This option only makes the visible tree better to understand forpeople who don't know what this directory is for.If you need to have noRR_MOVEDdirectory at all, you should use the-Doption. Note that in case that the-Doption has been specified, the resulting filesystem is not ISO9660level-1 compliant and will not be readable on MS-DOS.
-l
Allow full 31 character filenames. Normally the ISO9660 filename will be in an8.3 format which is compatible with MS-DOS, even though the ISO9660 standardallows filenames of up to 31 characters. If you use this option, the disc maybe difficult to use on a MS-DOS system, but this comes in handy on some othersystems (such as the Amiga).Use with caution.
-iso-level level
Set the iso9660 conformance level. Valid numbers are 1..3.

With level 1, files may only consist of one section and filenames arerestricted to 8.3 characters.

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

With level 3, no restrictions apply.

With all iso9660 levels all filenames are restricted to uppercase letters, numbers and the underscore (_). The maximum filenamelength is restricted to 31 characters, the directory nesting levelis restricted to 8 and the maximum path length is limited to 255 characters.

-J
Generate Joliet directory records in addition to regular iso9660 filenames. This is primarily useful when the discs are to be used on Windows-NTor Windows-95 machines. The Joliet filenames are specified in Unicode andeach path component can be up to 64 Unicode characters long.
-jcharset charset
Local charset that should be used for translating local file names intoJoliet Unicode directory records.To get a list of valid charset names, callmkisofs -jcharset help.To get a 1:1 mapping, you may usedefaultas charset name. The default initial values arecp437on DOS based systems andiso8859-1on all other systems.If the-jcharsetoption is specified, the-Joption is implied.
-L
Allow ISO9660 filenames to begin with a period. Usually, a leading dot isreplaced with an underscore in order to maintain MS-DOS compatibility.
This violates the ISO9660 standard, but it happens to work on many systems.Use with caution.
-log-file log_file
Redirect all error, warning and informational messages tolog_fileinstead of the standard error.
-m glob
Excludeglobfrom being written to CDROM.globis a shell wild-card-style pattern that must match part of the filename (not the path as with option-x).Technicallyglobis matched against thed->d_namepart of the directory entry.Multiple globs may be excluded.Example:

mkisofs -o rom -m '*.o' -m core -m foobar

would exclude all files ending in ".o", called "core" or "foobar" to becopied to CDROM. Note that if you had a directory called "foobar" it too (andof course all its descendants) would be excluded.

NOTE: The -m and -x option description should both be updated, they are wrong.Both now work identical and use filename globbing. A file is excluded if eitherthe last component matches or the whole path matches.

-exclude-list file
A file containing a list ofglobsto be exclude as above.
-max-iso9660-filenames
Allow 37 chars in iso9660 filenames.This option forces the-Noption as the extra name space is taken from the space reserved forISO-9660 version numbers.
This violates the ISO9660 standard, but it happens to work on many systems.Although a conforming application needs to provide a buffer space of atleast 37 characters, disks created with this option may cause a bufferoverflow in the reading operating system. Use with extreme care.
-M path
or
-M device
Specifies path to existing iso9660 image to be merged. The alternate formtakes a SCSI device specifier that uses the same syntax as thedev=parameter ofcdrecord.The output of mkisofswill be a new session which should get written to the end of theimage specified in -M. Typically this requires multi-session capabilityfor the recorder and cdrom drive that you are attempting to write thisimage to.This option may only be used in conjunction with the-Coption.
-N
Omit version numbers from ISO9660 file names.
This violates the ISO9660 standard, but no one really uses theversion numbers anyway.Use with caution.
-nobak
-no-bak
Do not include backup files files on the iso9660 filesystem.If the-no-bakoption is specified, files that contain the characters '~' or '#'or end in '.bak' will not be included (these are typically backup filesfor editors under unix).
-no-rr
Do not use the Rock Ridge attributes from previous sessions.This may help to avoid getting into trouble whenmkisofsfinds illegal Rock Ridge signatures on an old session.
-no-split-symlink-components
Don't split the SL components, but begin a new Continuation Area (CE)instead. This may waste some space, but the SunOS 4.1.4 cdrom driverhas a bug in reading split SL components (link_size = component_size instead of link_size += component_size).
-no-split-symlink-fields
Don't split the SL fields, but begin a new Continuation Area (CE)instead. This may waste some space, but the SunOS 4.1.4 andSolaris 2.5.1 cdrom driver have a bug in reading split SL fields(a `/' can be dropped).
-o filename
is the name of the file to which the iso9660 filesystem image should bewritten. This can be a disk file, a tape drive, or it can correspond directlyto the device name of the optical disc writer. If not specified, stdout isused. Note that the output can also be a block special device for a regulardisk drive, in which case the disk partition can be mounted and examined toensure that the premastering was done correctly.
-pad
Pad the end of the ISO9660 by 16 sectors (32kB). If the total size thenis not a multiple of 16 sectors, the needed number of sectors is added.If the option-Bis used, then there is a second padding at the end of the boot partitions.

The padding is needed as many operating systems (e.g. Linux)implement read ahead bugs in their filesystem I/O. These bugs result in readerrors on one or more files that are located at the end of a track. They areusually present when the CD is written in Track at Once mode or whenthe disk is written as mixed mode CD where an audio track follows thedata track.

-path-list file
A file containing a list ofpathspecdirectories and filenames to be added to the ISO9660 filesystem. This listof pathspecs are processed after any that appear on the command line. If theargument is-,then the list is read from the standard input. There must be at least onepathspecgiven on the command line as well.
-P publisher_id
Specifies a text string that will be written into the volume header.This should describe the publisher of the CDROM, usually with amailing address and phone number. There is space on the disc for 128characters of information. This parameter can also be set in the file.mkisofsrcwith PUBL=.If specified in both places, the command line version is used.
-p preparer_id
Specifies a text string that will be written into the volume header.This should describe the preparer of the CDROM, usually with a mailingaddress and phone number. There is space on the disc for 128characters of information. This parameter can also be set in the file.mkisofsrcwith PREP=.If specified in both places, the command line version is used.
-print-size
Print estimated filesystem size and exit. This option is needed forDisk At Once mode and with some CD-R drives when piping directly intocdrecord.In this case it is needed to know the size of the filesystem before theactual CD-creation is done.The option -print-size allows to get this size from a "dry-run" beforethe CD is actually written.
-quiet
This makesmkisofseven less verbose. No progress output will be provided.
-R
Generate SUSP and RR records using the Rock Ridge protocol to further describethe files on the iso9660 filesystem.
-r
This is like the -R option, but file ownership and modes are set tomore useful values. The uid and gid are set to zero, because they areusually only useful on the author's system, and not useful to theclient. All the file read bits are set true, so that files anddirectories are globally readable on the client. If any execute bit isset for a file, set all of the execute bits, so that executables areglobally executable on the client. If any search bit is set for adirectory, set all of the search bits, so that directories are globallysearchable on the client. All write bits are cleared, because theCD-Rom will be mounted read-only in any case. If any of the specialmode bits are set, clear them, because file locks are not useful on aread-only file system, and set-id bits are not desirable for uid 0 orgid 0.When used on Win32, the execute bit is set onallfiles. This is a result of the lack of file permissions on Win32 and theCygwin POSIX emulation layer.
-relaxed-filenames
The option-relaxed-filenamesallows ISO9660 filenames to include digits, uppercase charactersand all other 7 bit ASCII characters (resp. anything except lowercasecharacters).
This violates the ISO9660 standard, but it happens to work on many systems.Use with caution.
-sort sort file
Sort file locations on the media. Sorting is controlled by a file thatcontains pairs of filenames and sorting offset weighting.If the weighting is higher, the file will be located closer to thebeginning of the media, if the weighting is lower, the file will be locatedcloser to the end of the media. There must be only one space or tabscharacter between the filename and theweight and the weight must be the last characters on a line. The filenameis taken to include all the characters up to, but not including the lastspace or tab character on a line. This is to allow for space characters tobe in, or at the end of a filename. See README.sort for more details.
-sysid ID
Specifies the system ID.This parameter can also be set in the file.mkisofsrcwith SYSI=system_id.If specified in both places, the command line version is used.
-T
Generate a file TRANS.TBL in each directory on the CDROM, which can be usedon non-Rock Ridge capable systems to help establish the correct file names.There is also information present in the file that indicates the major andminor numbers for block and character devices, and each symlink has the name ofthe link file given.
-table-name TABLE_NAME
Alternative translation table file name (see above). Implies the-Toption.If you are creating a multi-session image you must use the same nameas 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.
-use-fileversion
The option -use-fileversionallows mkisofs to use file version numbers from the filesystem.If the option is not specified, mkisofscreates a version if 1 for all files.File versions are strings in the range ;1to;32767This option is the default on VMS.
-U
Allows "Untranslated" filenames, completely violating the iso9660 standardsdescribed above. Forces on the -d, -l, -L, -N, -relaxed-filenames,-allow-lowercase, -allow-multidot and -no-iso-translateflags. It allows morethan one '.' character in the filename, as well as mixed case filenames.This is useful on HP-UX system, where the built-in CDFS filesystem doesnot recognize ANY extensions. Use with extreme caution.
-no-iso-translate
Do not translate the characters '#' and '~' which are invalid for iso9660 filenames.These characters are though invalid often used by Microsoft systems.
This violates the ISO9660 standard, but it happens to work on many systems.Use with caution.
-V volid
Specifies the volume ID (volume name or label) to be written into themaster block. This parameter can also be set in the file.mkisofsrcwith VOLI=id.If specified in both places, the command line version is used. Note thatif you assign a volume ID, this is the name that will be used as the mountpoint used by the Solaris volume management system and the name that isassigned to the disc on a Windows or Mac platform.
-volset ID
Specifies the volset ID.This parameter can also be set in the file.mkisofsrcwith VOLS=volset_id.If specified in both places, the command line version is used.
-volset-size #
Sets the volume set size to #.The volume set size is the number of CD's that are in a CD set.The-volset-sizeoption may be used to create CD's that are part of e.g. a OperationSystem installation set of CD's.The option-volset-sizemust be specified before-volset-seqnoon each command line.
-volset-seqno #
Sets the volume set sequence number to #.The volume set sequence number is the index number of the currentCD in a CD set.The option-volset-sizemust be specified before-volset-seqnoon each command line.
-v
Verbose execution. If given twice on the command line, extra debug informationwill be printed.
-x path
Excludepathfrom being written to CDROM.pathmust be the complete pathname that results from concatenating the pathnamegiven as command line argument and the path relative to this directory.Multiple paths may be excluded.Example:

mkisofs -o cd -x /local/dir1 -x /local/dir2 /local

NOTE: The -m and -x option description should both be updated, they are wrong.Both now work identical and use filename globbing. A file is excluded if eitherthe last component matches or the whole path matches.

-z
Generate special SUSP records for transparently compressed files. This isonly of use and interest for hosts that support transparent decompression.This is an experimental feature, and no hosts yet support this, but thereare ALPHA patches for Linux that can make use of this feature.

 

HFS OPTIONS

-hfs
Create an ISO9660/HFS hybrid CD. This option should be used in conjunctionwith the-map,and/or the variousdouble dashoptions given below.
-apple
Create an ISO9660 CD with Apple's extensions. Similar to the-hfsoption, except that the Apple Extensions to ISO9660 are added instead ofcreating an HFS hybrid volume.
-map mapping_file
Use themapping_fileto set the CREATOR and TYPE information for a file based on thefilename's extension. A filename is mapped only if it is not one of the know Apple/Unix file formats. See theHFS CREATOR/TYPEsection below.
-magic magic_file
The CREATOR and TYPE information is set by using a file'smagic number(usually the first few bytes of a file). Themagic_fileis only used if a file is not one of the known Apple/Unix file formats, orthe filename extension has not been mapped using the-mapoption. See the HFS CREATOR/TYPEsection below for more details.
-hfs-creator CREATOR
Set the default CREATOR for all files. Must be exactly 4 characters. See theHFS CREATOR/TYPEsection below for more details.
-hfs-type TYPE
Set the default TYPE for all files. Must be exactly 4 characters. See theHFS CREATOR/TYPEsection below for more details.
-probe
Search the contents of files for all the known Apple/Unix file formats.See theHFS MACINTOSH FILE FORMATSsection below for more about these formats.However, the only way to check forMacBinaryandAppleSinglefiles is to open and read them. Therefore this optionmayincrease processing time. It is better to use one or moredouble dashoptions 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 createdwhen 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 andRock Ridge file names. See theHFS MACINTOSH FILE NAMESsection below for more information.
-boot-hfs-file driver_file
Installs thedriver_filethatmaymake the CD bootable on a Macintosh. See theHFS BOOT DRIVERsection below. (Alpha).
-part
Generate an HFS partition table. By default, no partition table is generated,but some older Macintosh CDROM drivers need an HFS partition table on theCDROM to be able to recognize a hybrid CDROM.
-auto AutoStart_file
Make the HFS CD use the QuickTime 2.0 Autostart feature to launch anapplication or document. The given filename must be the name of a document orapplication located at the top level of the CD. The filename must be lessthan 12 characters. (Alpha).
-cluster-size size
Set the size in bytes of the cluster or allocation units of PC Exchangefiles. Implies the--exchangeoption. See theHFS MACINTOSH FILE FORMATSsection below.
-hide-hfs glob
Hideglobfrom the HFS volume. The file or directory will still exist in theISO9660 and/or Joliet directory.globis a shell wild-card-style pattern that must match any part of the filenameMultiple globs may be excluded.Example:

mkisofs -o rom -hfs -hide-hfs '*.o' -hide-hfs foobar

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.Theglobcan also be a path name relative to the source directories given on thecommand line. Example:

mkisofs -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 willnot be excluded.Should be used with the-hideand/or-hide-jolietoptions.

-hide-hfs-list file
A file containing a list ofglobsto be hidden as above.
-hfs-volid hfs_volid
Volume name for the HFS partition. This is the name that isassigned to the disc on a Macintosh and replaces thevolidused with the -Voption
-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 Macintoshdesktop. Folder location and size on screen, its scroll positions, folderView (view as Icons, Small Icons, etc.) are also preserved.This option may become set by default in the future.(Alpha).
-root-info file
Set the location, size on screen, scroll positions, folder View etc. for theroot 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 (Alpha)
--cap
Look for AUFS CAP Macintosh files. Search for CAP Apple/Unix file formatsonly. Searching for the other possible Apple/Unix file formats is disabled,unless otherdouble dashoptions 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)

 

HFS CREATOR/TYPE

A Macintosh file has two properties associated with it which definewhich application created the file, theCREATORand what data the file contains, theTYPE.Both are (exactly) 4 letter strings. Usually thisallows a Macintosh user to double-click on a file and launch the correctapplication etc. The CREATOR and TYPE of a particular file can be found byusing something like ResEdit (or similar) on a Macintosh.

The CREATOR and TYPE information is stored in all the various Apple/Unixencoded files.For other files it is possible to base the CREATOR and TYPE on thefilename's extension using amappingfile (the-mapoption) and/or using themagic number(usually asignaturein the first few bytes)of a file (the-magicoption). If both these options are given, then their order on the commandline is important. If the-mapoption is given first, then a filename extension match is attemptedbefore a magic number match. However, if the-magicoption is given first, then a magic number match is attempted before afilename extension match.

If a mapping or magic file is not used, or no match is found then the defaultCREATOR and TYPE for all regular files can be set by using entries in the .mkisofsrcfile or using the -hfs-creatorand/or-hfs-typeoptions, otherwise the default CREATOR and TYPE are 'unix' and 'TEXT'.

The format of themappingfile is the sameafpfileformat as used byaufs.This file has five columns for theextension,filetranslation,CREATOR,TYPEandComment.Lines starting with the '#' character arecomment lines and are ignored. An example file would be like:

# Example filename mapping file
#
# EXTNXLateCREATORTYPEComment
.tifRaw'8BIM''TIFF'"Photoshop TIFF image"
.hqxAscii'BnHq''TEXT'"BinHex file"
.docRaw'MSWD''WDBN'"Word file"
.movRaw'TVOD''MooV'"QuickTime Movie"
*Ascii'ttxt''TEXT'"Text file"

Where:

The first columnEXTNdefines the Unix filename extension to bemapped. The default mapping for any filename extension that doesn'tmatch is defined with the "*" character.
TheXlatecolumn defines the type of text translation between the Unix andMacintosh file it is ignored bymkisofs,but is kept to be compatible withaufs(1).Although mkisofsdoes not alter the contents of a file, if a binary file has it's TYPEset as 'TEXT', itmaybe read incorrectly on a Macintosh. Therefore a better choice for thedefault TYPE may be '????'
TheCREATORandTYPEkeywords must be 4 characters long and enclosed in single quotes.
The comment field is enclosed in double quotes - it is ignored bymkisofs,but is kept to be compatible with aufs.

The format of themagicfile is almost identical to themagic(4)file used by the Linuxfile(1)command - the routines for reading and decoding themagicfile are based on the Linuxfile(1)command.

This file has four tab separated columns for the byteoffset,type,testandmessage.Lines starting with the '#' character arecomment lines and are ignored. An example file would be like:

# Example magic file
#
# offtypetestmessage
0stringGIF88BIM GIFf GIF image
0beshort0xffd88BIM JPEG image data
0stringSIT!SIT! SIT! StuffIt Archive
0string\037\235LZIV ZIVU standard unix compress
0string\037\213GNUz ZIVU gzip compressed data
0string%!ASPS TEXT Postscript
0string\004%!ASPS TEXT PC Postscript with a ^D to start
4stringmoovtxtt MooV QuickTime movie file (moov)
4stringmdattxtt MooV QuickTime movie file (mdat)

The format of the file is described in themagic(4)man page. The only difference here is that for each entry in the magic file, themessagefor the initial offsetmustbe 4 characters for the CREATOR followed by 4 characters for the TYPE -white space isoptional between them. Any other characters on this line are ignored.Continuation lines (starting with a '>') are also ignored i.e. only the initialoffset lines are used.

Using the-magicoption may significantly increase processing time as each file has to openedand read to find it's magic number.

In summary, for all files, the default CREATOR is 'unix' and the defaultTYPE is 'TEXT'. These can be changed by using entries in the .mkisofsrc file or by using the-hfs-creatorand/or-hfs-typeoptions.

If the a file is in one of the known Apple/Unix formats (and the formathas been selected), then the CREATOR and TYPE are taken from the valuesstored in the Apple/Unix file.

Other files can have their CREATOR and TYPE set from their file nameextension (the-mapoption), or their magic number (the-magicoption). If the default match is used in themappingfile, then these values override the default CREATOR and TYPE.

A full CREATOR/TYPE database can be found at http://www.angelfire.com/il/szekely/index.html

 

HFS MACINTOSH FILE FORMATS

Macintosh files have two parts called theDataandResourcefork. Either may be empty. Unix (and many other OSs) can onlycope with files having one part (or fork). To add to this, Macintosh fileshave a number of attributes associated with them - probably the mostimportant are the TYPE and CREATOR. Again Unix has no concept of thesetypes of attributes.

e.g. a Macintosh file may be a JPEG image where the image is stored in theData fork and a desktop thumbnail stored in the Resource fork. It is usuallythe information in the data fork that is useful across platforms.

Therefore to store a Macintosh file on a Unix filesystem, a way has to befound to cope with the two forks and the extra attributes (which arereferred to as thefinderinfo).Unfortunately, it seems that every software package that stores Macintoshfiles on Unix has chosen a completely different storage method.

The Apple/Unix formats thatmkisofs(partially) supports are:

CAP AUFS format
Data fork stored in a file. Resource fork in subdirectory .resourcewith same filename as data fork. Finder infoin .finderinfo subdirectory with same filename.
AppleDouble/Netatalk
Data fork stored in a file. Resource fork stored in a file withsame name prefixed with "%". Finder info also stored in same"%" file. Netatalk uses the same format, but the resourcefork/finderinfo stored in subdirectory .AppleDouble with samename as data fork.
AppleSingle
Data structures similar to above, except both forks and finderinfo are stored in one file.
Helios EtherShare
Data fork stored in a file. Resource fork and finder info together insubdirectory .rsrc with same filename as data fork.
IPT UShare
Very similar to the EtherShare format, but the finder infois 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 subdirectoryresource.frk (or RESOURCE.FRK). Finder info as one recordin file finder.dat (or FINDER.DAT). Separate finder.dat foreach data fork directory.
Note: mkisofsneeds to know the native FAT cluster size of the disk that the PC Exchangefiles are on (or have been copied from). This size is given by the-cluster-sizeoption.The cluster or allocation size can be found by using the DOS utilityCHKDSK.
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 typemsdos(notvfat)when using Linux.
SGI/XINET
Used by SGI machines when they mount HFS disks. Data fork storedin a file. Resource fork in subdirectory .HSResource with samename. Finder info as one record in file .HSancillary. Separate .HSancillaryfor 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 subdirectoryresource.frk. Uses the AppleDouble format to store resource fork.
Services for Macintosh
Format of files stored by NT Servers on NTFS filesystems. Data fork isstored as "filename". Resource fork stored as a NTFSstreamcalled "filename:AFP_Resource". The finder info is stored as a NTFSstreamcalled "filename:Afp_AfpInfo". These streams are normally invisible to theuser.
Warning: mkisofs only partially supports the SFM format. If an HFS fileor folder stored on the NT server contains anillegalNT character in its name, then NT converts these characters toPrivate Use Unicodecharacters. The characters are: " * / < > ?  | also a space orperiod if it is the last character of the file name, character codes 0x01to 0x1f (control characters) and Apple' apple logo.
Unfortunately, these private Unicode characters are notreadable by the mkisofs NT executable. Therefore any file or directoryname containing these characters will be ignored - including the contents ofany such directory.

mkisofswill attempt to set the CREATOR, TYPE, date and possibly other flags fromthe finder info. Additionally, if it exists, the Macintosh filename is setfrom the finder info, otherwise the Macintosh name is based on the Unixfilename - see theHFS MACINTOSH FILE NAMESsection below.

When using the-appleoption, the TYPE and CREATOR are stored in the optional System Use or SUSP fieldin the ISO9660 Directory Record - in much the same way as the Rock Ridgeattributes are. In fact to make life easy, the Apple extensions are addedat the beginning of the existing Rock Ridge attributes (i.e. to get the Appleextensions you get the Rock Ridge extensions as well).

The Apple extensions require the resource fork to be stored as an ISO9660associatedfile. This is just like any normal file stored in the ISO9660 filesystemexcept that the associated file flag is set in the Directory Record (bit2). This file has the same name as the data fork (the file seen bynon-Apple machines). Associated files are normally ignored by other OSs

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

In most cases, it is better to use the-hfsoption instead of the-appleoption, as the latter imposes the limited ISO9660 characters allowed infilenames. However, the Apple extensions do give the advantage that thefiles are packed on the disk more efficiently and it may be possible to fit more files on a CD - important when the total size of the source files isapproaching 650MB.

 

HFS MACINTOSH FILE NAMES

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

Aufs escapes these characters by using ":" followed by the character codeas two hex digits. Netatalk and EtherShare have a similar scheme, but uses"%" instead of a ":".

If mkisofs can't find an HFS filename, then it uses the Unix name, withany %xx or :xx characters (xx == two hex digits) converted to a singlecharacter code. If "xx" are not hex digits ([0-9a-fA-F]), then they areleft alone - although any remaining ":" is converted to "%" as colonis the HFS directory separator. Care must be taken, as an ordinary Unixfile with %xx or :xx will also be converted. e.g.

This:2fFileconverted to This/File

This:Fileconverted to This%File

This:t7Fileconverted to This%t7File

Although HFS filenames appear to support upper and lower case letters,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,thenmkisofswill attempt, where possible, to make a unique name by adding '_' charactersto one of the filenames.

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

If aMacBinary(orPCExchange)file is stored as someimage.gif.binon the Unix filesystem, but contains a HFS file calledsomeimage.gif,then this is the name that would appear on the HFS part of the CD. However, asmkisofs uses the Unix name as the starting point for the other names, thenthe ISO9660 name generated will probably be SOMEIMAG.BINand the Joliet/Rock Ridge would besomeimage.gif.bin.Although the actual data (in this case) is a GIF image. This option will usethe HFS filename as the starting point and the ISO9660 name will probably beSOMEIMAG.GIFand the Joliet/Rock Ridge would besomeimage.gif.

Using the-mac-nameoption will not currently work with the-Toption - the Unixname will be used in the TRANS.TBL file, not the Macintosh name.

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

If the Apple extensions are used, then only the ISO9660 filenames willappear on the Macintosh. However, as the Macintosh ISO9660 drivers can useLevel 2filenames, then you can use options like-allow-multidotwithout problems ona Macintosh - still take care over the names, for examplethis.file.namewill be converted toTHIS.FILEi.e. only have one '.', also filenameabcdefghwill be seen asABCDEFGHbutabcdefghiwill be seen asABCDEFGHI.i.e. with a '.' at the end - don't know if this is a Macintoshproblem or mkisofs/mkhybrid problem. All filenames will be in uppercasewhen viewed on a Macintosh. Of course, DOS/Win3.X machines will not be ableto see Level 2 filenames...

 

HFS CUSTOM VOLUME/FOLDER ICONS

To give a HFS CD a custom icon, make sure the root (top level) folder includesa standard Macintosh volume icon file. To give a volume a custom icon ona 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' isthe 'carriage return' character) in the root folder.A custom folder icon is very similar - an invisible file called 'Icon\r'exits in the folder itself.Probably the easiest way to create a custom icon that mkisofs can use, is toformat a blank HFS floppy disk on a Mac, paste an icon to its "Get Info"box. If using Linux with the HFS module installed, mount the floppy usingsomething like:

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

The floppy will be mounted as a CAP file system by default. Then run mkisofsusing something like:

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

If you are not using Linux, then you can use the hfsutils to copy the iconfile from the floppy. However, care has to be taken, as the icon filecontains a control character. e.g.

        hmount /dev/fd0

       hdir -a

       hcopy -m Icon^V^M icon_dir/icon

Where '^V^M' is control-V followed by control-M. Then run mkisofsby using something like:

        mkisofs --macbin -o output source_dir icon_dir

The procedure for creating/using custom folder icons is very similar - pastean icon to folder's "Get Info" box and transfer the resulting 'Icon\r'file to the relevant directory in the mkisofs source tree.

You may want to hide the icon files from the ISO9660 and Joliet trees.

To give a custom icon to a Joliet CD, follow the instructions found at:http://www.fadden.com/cdrfaq/faq03.html#[3-21]

 

HFS BOOT DRIVER

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

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

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

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

For a partition to be bootable, it must have it's boot blockset. The bootblock is in the first two blocks of a partition. For a non-bootable partitionthe boot block is full of zeros. Normally, when a System file is copied topartition on a Macintosh disk, the boot block is filled with a number ofrequired settings - unfortunately I don't know the full spec for the bootblock, so I'm guessing that the following will work OK.

Therefore, the utilityapple_driveralso extracts the boot block from thefirst HFS partition it finds on the given CD-ROM and this is used for theHFS partition created bymkisofs.

PLEASE NOTE
By using a driver from an Apple CD and copying Apple software to your CD,you become liable to obey Apple Computer, Inc. Software License Agreements.
 

EL TORITO BOOT INFORMATION TABLE

When the-boot-info-tableoption is given,mkisofswill modify the boot file specified by the-boption by inserting a 56-byte "boot information table" at offset 8 inthe file. This modification is done in the source filesystem, so makesure you use a copy if this file is not easily recreated! This filecontains pointers which may not be easily or reliably obtained at boottime.

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

Offset    Name           Size      Meaning 8        bi_pvd         4 bytes   LBA of primary volume descriptor12        bi_file        4 bytes   LBA of boot file16        bi_length      4 bytes   Boot file length in bytes20        bi_csum        4 bytes   32-bit checksum24        bi_reserved    40 bytes  Reserved

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

CONFIGURATION

mkisofslooks for the.mkisofsrcfile,first in the current working directory,then in the user's home directory,and then in the directory in which themkisofsbinary is stored. This file is assumed to contain a series of linesof the formTAG=value,and in this way you can specify certain options.The case of the tag is not significant.Some fields in the volume headerare not settable on the command line, but can be altered through thisfacility.Comments may be placed in this file,using lines which start with a hash (#) character.
APPI
The application identifiershould describe the application that will be on the disc.There is space on the disc for 128 characters of information.May be overridden using the-Acommand line option.
COPY
The copyright information,often the name of a file on the disc containing the copyright notice.There is space in the disc for 37 characters of information.May be overridden using the-copyrightcommand line option.
ABST
The abstract information,often the name of a file on the disc containing an abstract.There is space in the disc for 37 characters of information.May be overridden using the-abstractcommand line option.
BIBL
The bibliographic information,often the name of a file on the disc containing a bibliography.There is space in the disc for 37 characters of information.May be overridden using the-biliocommand line option.
PREP
This should describe the preparer of the CDROM,usually with a mailing address and phone number.There is space on the disc for 128 characters of information.May be overridden using the-pcommand line option.
PUBL
This should describe the publisher of the CDROM,usually with a mailing address and phone number.There is space on the disc for 128 characters of information.May be overridden using the-Pcommand line option.
SYSI
The System Identifier.There is space on the disc for 32 characters of information.May be overridden using the-sysidcommand line option.
VOLI
The Volume Identifier.There is space on the disc for 32 characters of information.May be overridden using the-Vcommand line option.
VOLS
The Volume Set Name.There is space on the disc for 128 characters of information.May be overridden using the-volsetcommand line option.
HFS_TYPE
The default TYPE for Macintosh files. Must be exactly 4 characters.May be overridden using the-hfs-typecommand line option.
HFS_CREATOR
The default CREATOR for Macintosh files. Must be exactly 4 characters.May be overridden using the-hfs-creatorcommand line option.

mkisofscan also be configured at compile time with defaults for many of these fields.See the file defaults.h.

 

EXAMPLES

To create a vanill

 
ICM Bot detect detector