#
.\” -*- nroff -*-
.TH MKISOFS 8 “12 Oct 1997” “Version 1.11.3"
.SH NAME
mkisofs \- create a iso9660 filesystem with optional Rock Ridge attributes.
.SH SYNOPSIS
.B mkisofs
[
.B \-a
]
[
.B \-b
.I boot_image
]
[
.B \-c
.I boot_catalog
]
[
.B \-A
.I application_id
]
[
.B \-f
]
[
.B \-d
]
[
.B \-D
]
[
.B \-i
.I include-list
]
[
.B \-l
]
[
.B \-L
]
[
.B \-L
]
[
.B \-p
.I preparer
]
[
.B \-P
.I publisher
]
[
.B \-r
]
[
.B \-R
]
[
.B \-T
]
[
.B \-v
]
[
.B \-V
]
[
.B \-V
.I volid
]
[
.B \-x
.I path
]
[
.B \-z
]
[
.B \-m
.I glob
]
.B \-o
.I filename
.I path
.SH DESCRIPTION
.B mkisofs
is effectively a pre-mastering program to generate the iso9660 filesystem - it
takes a snapshot of a given directory tree, and generates a binary image which
will correspond to an iso9660 filesystem when written to a block device.
.PP
.B mkisofs
is also capable of generating the System Use Sharing Protocol records 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 longer filenames, uid/gid, posix permissions, and block and character
devices.
.PP
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 filenames in the same directory.
.B mkisofs
generally tries to form correct names by forcing the unix filename to upper
case and truncating as required, but often times this yields unsatisfactory
results when there are cases where the
truncated names are not all unique.
.B mkisofs
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 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~ would be written as FOO.000;1 and the file
foo.bar would be written as FOO.BAR;1
.PP
.B mkisofs
is not designed to communicate with the writer directly. Most writers
have proprietary command sets which vary from one manufacturer to
another, and you need a specialized tool to actually burn the disk.
.B cdwrite
utility is one such tool that runs under Linux and performs this task.
.B cdwrite
is capable of communicating with Phillips/IMS/Kodak, HP and Yamaha drives.
copy of an iso9660 image to the writer. The current version of
.B cdwrite
is available from sunsite.unc.edu: /utils/disk-management/cdwrite-2.0.tar.gz
.PP
are done, or you will end up with a corrupt disc. Thus it is critical
that you be able to maintain an uninterrupted data stream to the writer
for the entire time that the disc is being written.
.PP
.br
.B path
is the path of the directory tree to be copied into the iso9660 filesystem.
.SH OPTIONS
.TP
.I \-a
characters ‘~’ or ‘#’ will not be included (these are typically backup files
for editors under unix).
.TP
.I \-A application_id
is space on the disc for 128 characters of information. This parameter can
also be set in the file
.I \&.mkisofsrc
with APPI=id.
.TP
.I \-b boot_image
an “El Torito” bootable CD. The pathname must be relative to the source
path specified to
.B mkisofs.
meg floppy, and
.B 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 normal floppy drive).
.TP
.I \-c boot_catalog
an “El Torito” bootable CD. The pathname must be relative to the source
path specified to
.B mkisofs.
.B mkisofs
in the source filesystem, so be
sure the specified filename does not conflict with an existing file, as
it will be quietly overwritten! Usually a name like “boot.catalog” is
chosen.
.TP
.I \-d
.TP
.I \-D
way we see them. This violates the ISO9660 standard, but it works on many
systems. Use with caution.
.TP
.I \-f
in use, symbolic links will be entered using Rock Ridge if enabled, otherwise
the file will be ignored.
.TP
.I \-i include-list
in the ISO9660 file system where file should appear and path2 is the
where to find the file. NOTE: This option doesn’t work well, and
needs to be compltely redone so that integration with the rest of mkisofs
is handled in a cleaner fashion.
.TP
.I \-l
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 disc may
be difficult to use on a MS-DOS system, but this comes in handy on some other
systems (such as the Amiga). Use with caution.
.TP
.I \-L
replaced with an underscore in order to maintain MS-DOS compatibility.
.TP
.I \-m glob
.I glob
from being written to CDROM.
.I glob
is a shell wild-card-style pattern that must match part of the filename (not
the path as with option
.BR -x ).
.I glob
is matched against the
.I d->d_name
part of the directory entry.
mkisofs \-o rom \-m ‘*.o’ \-m core \-m foobar
would exclude all files ending in “.o", called “core” or “foobar” to be
copied to CDROM. Note that if you had a directory called “foobar” it too (and
of course all its descendants) would be excluded.
.TP
.I \-M path
of
.B 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 cdrom drive that you are attempting to write this
image to. Support for this is not yet 100% complete, because some handshaking
is required between mkisofs and cdwrite in order to determine the next
writable address on the cdrom.
.TP
.I \-N
standard, but no one really uses the version numbers anyway. Use with caution.
.TP
.I \-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 optical disc 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.
.TP
.I \-P publisher_id
mailing address and phone number. There is space on the disc for 128
characters of information. This parameter can also be set in the file
.I \&.mkisofsrc
with PUBL=.
.TP
.I \-p preparer_id
address and phone number. There is space on the disc for 128
characters of information. This parameter can also be set in the file
.I \&.mkisofsrc
with PREP=.
.TP
.I \-R
the files on the iso9660 filesystem.
.TP
.I \-r
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
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.
.TP
.I \-T
on non-Rock Ridge capable systems to help establish the correct file names.
minor numbers for block and character devices, and each symlink has the name of
the link file given.
.TP
.I \-V volid
parameter can also be set in the file
.I \&.mkisofsrc
with VOLI=id.
.TP
.I \-v
.TP
.I \-x path
.I path
from being written to CDROM.
.I path
must be the complete pathname that results from concatenating the pathname
given as command line argument and the path relative to this directory.
mkisofs \-o cd \-x /local/dir1 \-x /local/dir2 /local
.TP
.I \-z
only of use and interest for hosts that support transparent decompression.
are ALPHA patches for Linux that can make use of this feature.
.SH CONFIGURATION
.B mkisofs
looks for the
.IR \&.mkisofsrc
file,
first in the current working directory,
then in the user’s home directory,
and then in the directory in which the
.B 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.
are not settable on the command line, but can be altered through this
facility.
using lines which start with a hash (#) character.
.TP
should describe the application that will be on the disc.
.TP
often the name of a file on the disc containing the copyright notice.
.TP
often the name of a file on the disc containing an abstract.
.TP
often the name of a file on the disc containing a bibliography.
.TP
usually with a mailing address and phone number.
.TP
usually with a mailing address and phone number.
.TP
.TP
.TP
.PP
.B mkisofs
can also be configured at compile time with defaults for many of these fields.
.SH AUTHOR
.B mkisofs
is not based on the standard mk*fs tools for unix, because we must generate
a complete copy of an existing filesystem on a disk in the iso9660
filesystem. The name mkisofs is probably a bit of a misnomer, since it
not only creates the filesystem, but it also populates it as well.
.PP
.br
maintaining them. The copyright for the mkisofs utility is held by
.SH BUGS
iso9660 filessytem will have an incorrect file reference count.
.PP
.SH FUTURE IMPROVEMENTS
iso9660 filesystem. Can be tricky - directory entries in the root directory
need to be properly sorted.
.SH AVAILABILITY
.B mkisofs
is available for anonymous ftp from tsx-11.mit.edu in