mkisofs(8) System Manager's Manual mkisofs(8)
NAME
mkisofs - Create a ISO9660 filesystem with optional Rock Ridge attrib-
utes.
SYNOPSIS
/usr/sbin/mkisofs [ -a ] [ -b boot_image ] [ -c boot_catalog ] [ -A ap-
plication_id ] [ -f ] [ -d ] [ -D ] [ -i include-list ] [ -l ] [ -L ] [
-L ] [ -p preparer ] [ -P publisher ] [ -r ] [ -R ] [ -T ] [ -v ] [ -V
] [ -V volid ] [ -x path ] [ -z ] [ -m glob ] -o filename path
FLAGS
-a Include all files on the ISO9660 filesystem. Normally files that
contain the characters '~' or '#' will not be included (these are typi-
cally backup files for editors under UNIX).
-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 CD-ROM. There is space on the CD-ROM for 128 characters of
information. This parameter can also be set in the file .mk-
isofsrc with APPI=id. If specified in both places, the command
line version is used.
-b boot_image
Specifies the path and filename of the boot image to be used
when making an "El Torito" bootable CD-ROM. The pathname must be
relative to the source path specified to mkisofs. This option
is required to make a bootable CD-ROM. The boot image must be
exactly the size of either a 1.2, 1.44, or a 2.88 meg floppy,
and mkisofs will use this size when creating the output ISO9660
filesystem. It is assumed that the first 512 byte sector should
be read from the boot image (it is essentially emulating a nor-
mal floppy drive). This will work, for example, if the boot im-
age is a LILO based boot floppy.
-c boot_catalog
Specifies the path and filename of the boot catalog to be used
when making an "El Torito" bootable CD-ROM. The pathname must be
relative to the source path specified to mkisofs. This option
is required to make a bootable CD-ROM. This file will be cre-
ated by mkisofs in the source filesystem. Ensure that the spec-
ified filename does not conflict with an existing file, as it
will be quietly overwritten. Select a unique and descriptive
name such as boot.catalog.
-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 the way we see them. This violates the ISO9660 standard, but
it works on many systems. Use with caution.
-f Follow symbolic links when generating the filesystem. When this
option is not in use, symbolic links will be entered using Rock
Ridge if enabled, otherwise the file will be ignored.
-i include-list
Use the specified file as a list of files to add to the direc-
tory tree. This is useful for quickly repacking a CD-ROM while
adding files to it. The format of this file is path1/file=path2
where path1 is the directory in the ISO9660 file system where
file should appear and path2 is the where to find the file.
This option is not recommended
-l Allow full 32 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 32
characters. If you use this option, the CD-ROM may be difficult
to use on a MS-DOS system.
-L Allow filenames to begin with a period. Usually, a leading dot
is replaced with an underscore in order to maintain MS-DOS com-
patibility.
-m glob
Exclude glob from being written to CD-ROM. glob is a shell
wild-card-style pattern that must match part of the filename
(not the path as with option -x ). Technically glob is matched
against the d->d_name part of the directory entry. Multiple
globs may be excluded (up to 1000). For example: mkisofs -o rom
-m '*.o' -m core -m foobar would exclude all files ending in
".o", called "core" or "foobar" to be copied to CD-ROM. Note
that if you had a directory called "foobar" it too (and of
course all its descendants) would be excluded.
-M path
Specifies path to existing ISO9660 image to be merged. The out-
put of mkisofs will be a new session which should get written to
the end of the image specified in -M. Typically this requires
multi-session capability for the recorder and CD-ROM drive that
you are attempting to write this image to. Support for this op-
tion is not yet complete.
-N Omit version numbers from ISO9660 file names. This may violate
the ISO9660 standard, but no one really uses the version numbers
anyway. Use with caution.
-o filename
is the name of the file to which the ISO9660 filesystem image
should be written. This can be a disk file, a tape drive, or it
can correspond directly to the device name of the CD-ROM writer.
If not specified, stdout is used. Note that the output can also
be a block special device for a regular disk drive, in which
case the disk partition can be mounted and examined to ensure
that the premastering was done correctly.
-P 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 on
the CD-ROM for 128 characters of information. This parameter
can also be set in the file .mkisofsrc with 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 CD-ROM, usu-
ally with a mailing address and phone number. There is space on
the CD-ROM for 128 characters of information. This parameter
can also be set in the file .mkisofsrc with PREP=. If specified
in both places, the command line version is used.
-R Generate SUSP and RR records using the Rock Ridge protocol to
further describe the files on the ISO9660 filesystem.
-r This is similar to the -R option, but file ownership and modes
are set to more useful values. The UID and GID are set to zero,
because they are usually only useful on the author's system, and
not useful to the client. All the file read bits are set true,
so 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 CD-Rom 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 file system, and set-id bits are not desirable for UID
0 or GID 0.
-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 file names. 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.
-V volid
Specifies the volume ID to be written into the master block.
This parameter can also be set in the file .mkisofsrc with
VOLI=id. If specified in both places, the command line version
is used.
-v Verbose execution.
-x path
Exclude path from being written to CD-ROM. path must be the
complete pathname that results from concatenating the pathname
given as command line argument and the path relative to this di-
rectory. Multiple paths may be excluded (up to 1000). For ex-
ample: mkisofs -o cd -x /local/dir1 -x /local/dir2 /local
-z Generate special SUSP records for transparently compressed
files. This is only of use and interest for hosts that support
transparent decompression. This is an experimental feature, and
no hosts yet support this, but there are ALPHA patches for Linux
that can make use of this feature.
DESCRIPTION
The mkisofs utility is a pre-mastering program to generate the ISO9660
filesystem. It takes a snapshot of a given directory tree, and gener-
ates a binary image corresponding to an ISO9660 filesystem when written
to a block device.
mkisofs is also capable of generating the System Use Sharing Protocol
records specified by the Rock Ridge Interchange Protocol. This is used
to describe the files in the ISO9660 filesystem to a UNIX host, and
provides information such as longer filenames, UID and GID, POSIX per-
missions, and block and character devices.
Each file written to the ISO9660 filesystem must have a filename in the
8.3 format (8 characters, period, 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 file-
names in the same directory. mkisofs generally tries to form correct
names by forcing the UNIX filename to upper case and truncating as re-
quired, but often times this yields unsatisfactory results when there
are cases where the truncated names are not all unique. mkisofs as-
signs weightings to each filename, and if two names that are otherwise
the same are found the name with the lower priority is renamed to have
a 3 digit number as an extension (where the number is guaranteed to be
unique). An example of this would be the files foo.bar and
foo.bar.~1~: The file foo.bar.~1~ will be written as FOO.000;1 The file
foo.bar would be written as FOO.BAR;1
Note that mkisofs is not designed to communicate with the CD-ROM writer
directly. Most CD-ROM writers have proprietary command sets which vary
from one manufacturer to another, and you need a specialized tool to
actually burn the disk. The cdwrite utility is one such tool that runs
under Linux and performs this task. The latest version of cdwrite is
capable of communicating with Phillips/IMS/Kodak, HP and Yamaha drives.
Most writers come with some version of DOS software that allows a di-
rect image copy of an ISO9660 image to the writer. The current version
of cdwrite is available from sunsite.unc.edu: /utils/disk-manage-
ment/cdwrite-2.0.tar.gz
Most CD-ROM writers are very particular about timing. Once a CD-ROM
write session is started, the buffer must not empty before completion,
or the CD-ROM will be corrupted. It is critical to maintain an uninter-
rupted data stream to the CD-ROM writer for the entire time that the
CD-ROM is being written.
path is the path of the directory tree to be copied into the ISO9660
filesystem.
CONFIGURATION
The mkisofs utility looks for the .mkisofsrc file, first in the current
working directory, then in the user's home directory, and then in the
directory in which the mkisofs binary is stored. This file is assumed
to contain a series of lines of the form TAG=value, and in this way you
can specify certain options. The case of the tag is not significant.
Some fields in the volume header are not settable on the command line,
but can be altered through this facility. Comments may be placed in
this file, using lines which start with a # character.
APPI The application identifier should describe the application that
will be on the CD-ROM. There is space on the CD-ROM for 128
characters of information. May be overridden using the -A com-
mand line option.
COPY The copyright information, often the name of a file on the CD-
ROM containing the copyright notice. There is space in the CD-
ROM for 37 characters of information.
ABST The abstract information, often the name of a file on the CD-ROM
containing an abstract. There is space in the CD-ROM for 37
characters of information.
BIBL The bibliographic information, often the name of a file on the
CD-ROM containing a bibliography. There is space in the CD-ROM
for 37 characters of information.
PREP This should describe the preparer of the CD-ROM, usually with a
mailing address and phone number. There is space on the CD-ROM
for 128 characters of information. May be overridden using the
-p command line option.
PUBL This should describe the publisher of the CD-ROM, usually with a
mailing address and phone number. There is space on the CD-ROM
for 128 characters of information. May be overridden using the
-P command line option.
SYSI The System Identifier. There is space on the CD-ROM for 32
characters of information.
VOLI The Volume Identifier. There is space on the CD-ROM for 32
characters of information. May be overridden using the -V com-
mand line option.
VOLS The Volume Set Name. There is space on the CD-ROM for 278 char-
acters of information.
mkisofs can also be configured at compile time with defaults for many
of these fields. See the file defaults.h.
RESTRICTIONS
Any files that have hard links to files not in the tree being copied to
the ISO9660 filessytem will have an incorrect file reference count.
EXAMPLES
The following example shows a typical build instruction using
/build_disk as the target location for the image: # mkisofs -D -R -a -d
-o /build_disk/dunix.cdfs /cdimage
FILES
The executable image. The configuration file
AUTHOR
Eric Youngdale <
[email protected]> or <
[email protected]> wrote
both the Linux isofs9660 filesystem and the mkisofs utility, and is
currently maintaining them. The copyright for the mkisofs utility is
held by Yggdrasil Computing, Incorporated.
The mkisofs utility is available for anonymous ftp from tsx-11.mit.edu
in /pub/linux/packages/mkisofs.. delim off
mkisofs(8)