dump9660, mk9660 – create an ISO–9660 CD image

disk/mk9660 [ –:D ] [ –9cjr ] [ –b bootfile ] [ –B bootfile ] [ –E bootfile ] [ –p proto ] [ –s src ] [ –v volume ] image

disk/dump9660 [ –:D ] [ –9cjr ] [ –p proto ] [ –s src ] [ –v volume ] [ –m maxsize ] [ –n now ] image

Mk9660 writes to the random access file image an ISO–9660 CD image containing the files named in proto (by default, /sys/lib/sysconfig/proto/portproto) from the file tree src (by default, the current directory). The proto file is formatted as described in mkfs(8).

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 –c flag causes 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 Dnnnnnn (for directories) or Fnnnnnn (for files); a key file _CONFORM.MAP is created in the root directory to ease the reverse process.

If the –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 9660srv.

If the –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 9660srv as well as most versions of Windows and many Unix clones. The characters *, :, ;, ?, and \ are allowed in Plan 9 file names but not in Joliet file names; non–conforming file names are translated and a _CONFORM.MAP file written as in the case of the –c option.

If the –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.

The options –c, –9, –j, and –r may be mixed freely with the exception that –9 and –r are mutually exclusive.

The –v flag sets the volume title; if unspecified, the base name of proto is used.

The –: flag causes mk9660 to replace colons in scanned file names with spaces; this is the inverse of the map applied by dossrv(4) and is useful for writing Joliet CDs containing data from FAT file systems.

The –b option creates a bootable CD. Bootable CDs contain pointers to floppy images which are loaded and booted by the BIOS. 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 proto file already: the –b option just creates a pointer to it.

The –B option is similar to –b but the created CD image is marked as having a non–floppy–emulation boot block. This gives the program in the boot block full (ATA) LBA access to the CD filesystem, not just the initial blocks that would fit on a floppy.

In addition to –b and –B a boot entry for UEFI systems can be created with the –E option and with bootfile pointing to a FAT image containing the contents of the efi system partition.

The –D flag creates immense amounts of debugging output on standard error.

Dump9660 is similar in specification to mk9660 but creates and updates backup CD images in the style of the dump file system (see fs(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.

The –n option specifies a time (in seconds since January 1, 1970) to be used for naming the dump directory.

The –m option specifies a maximum size for the image; if a backup would cause the image to grow larger than maxsize, it will not be written, and dump9660 will exit with a non–empty status.


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.
disk/mk9660 –9cj –s /sys/src \
p /sys/lib/sysconfig/proto/allproto cdimage


9660srv (in dossrv(4)), cdfs(4), mkfs(8)