.TH MK9660 8
.SH NAME
dump9660, mk9660 \- create an ISO-9660 CD image
.SH SYNOPSIS
.B disk/mk9660
[
.B -:D
]
[
.B -9cjr
]
[
.B -b
.I bootfile
]
[
.B -p
.I proto
]
[
.B -s
src
]
[
.B -v
volume
]
.I image
.PP
.B disk/dump9660
[
.B -:D
]
[
.B -9cjr
]
[
.B -p
.I proto
]
[
.B -s
src
]
[
.B -v
volume
]
[
.B -m
.I maxsize
]
[
.B -n
.I now
]
.I image
.SH DESCRIPTION
.I Mk9660
writes to the random access file
.I image
an ISO-9660 CD image containing the
files named in
.I proto
(by default,
.BR /sys/lib/sysconfig/proto/allproto )
from the file tree
.I src
(by default,
the current directory).
The
.I proto
file is formatted as described in
.IR proto (3).
.PP
The created CD image will be in ISO-9660
format, but by default the file names will
be stored in UTF-8 with no imposed length 
or character restrictions.
The
.B -c
flag causes
.I mk9660
to use only file names in ``8.3'' form
that use digits, letters, and underscore.
File names that do not conform are changed
to 
.BI D nnnnnn
(for directories)
or
.BI F nnnnnn
(for files);
a key file
.B _CONFORM.MAP
is created in the root
directory to ease the reverse process.
.PP
If the
.B -9
flag is given, the system use fields at the end of
each directory entry will be populated with
Plan directory information (owner, group, mode,
full name); this is interpreted by
.IR 9660srv .
.PP
If the
.B -j
flag is given, the usual directory tree is written,
but an additional tree in Microsoft Joliet format is
also added.
This second tree can contain long Unicode file names,
and can be read by
.I 9660srv
as well as most versions of Windows
and many Unix clones.
The characters
.BR * ,
.BR : ,
.BR ; ,
.BR ? ,
and
.B \e
are allowed in Plan 9 file names but not in Joliet file names;
non-conforming file names are translated
and a 
.B _CONFORM.MAP
file written
as in the case of the
.B -c
option.
.PP
If the
.B -r
flag is given, Rock Ridge extensions are written in the
format of the system use sharing protocol;
this format provides Posix-style file metadata and is 
common on Unix platforms.
.PP
The options
.BR -c ,
.BR -9 ,
.BR -j ,
and
.B -r
may be mixed freely with the exception that
.B -9
and
.B -r
are mutually exclusive.
.PP
The
.B -v
flag sets the volume title;
if unspecified, the base name of
.I proto
is used.
.PP
The 
.B -:
flag causes 
.B mk9660
to replace colons in scanned file names with spaces;
this is the inverse of the map applied by Plan 9's
\fIdossrv\fR(4)
and is useful for writing Joliet CDs containing data
from FAT file systems.
.PP
The
.B -b
option creates a bootable CD.
Bootable CDs contain pointers to floppy images which are
loaded and booted by the BIOS.
.I Bootfile
should be the name of the floppy image to use;
it is a path relative to the root of the created CD.
That is, the boot floppy image must be listed in the
.I proto
file already:
the
.B -b
flag just creates a pointer to it.
.PP
The
.B -D
flag creates immense amounts of debugging output
on standard error.
.PP
.I Dump9660
is similar in specification to
.I mk9660
but creates and updates backup CD images in the style of
the 
.I dump
file system
(see Plan 9's \fIfs\fR(4)).
The dump is file-based rather than block-based:
if a file's contents have not changed since the last
backup, only its directory entry will be rewritten.
.PP
The
.B -n
option specifies a time (in seconds since January 1, 1970)
to be used for naming the dump directory.
.PP
The 
.B -m
option specifies a maximum size for the image;
if a backup would cause the image to grow larger than
.IR maxsize ,
it will not be written, and
.I dump9660
will exit with a non-empty status.
.SH EXAMPLE
.PP
Create an image of the Plan 9 source tree, 
including a conformant ISO-9660 directory tree,
Plan 9 extensions in the system use fields, and
a Joliet directory tree.
.IP
.EX
disk/mk9660 -9cj -s /n/bootes \e
	-p /sys/lib/sysconfig/srcproto cdimage
.EE
.SH SOURCE
/usr/local/plan9/src/cmd/9660
.SH "SEE ALSO
.IR proto (3)
.\" .SH "SEE ALSO"
.\" .I 9660srv
.\" (in
.\" .IR dossrv (4)),
.\" .IR cdfs (4),
.\" .IR proto (3)
