prep, format - prepare hard and floppy diskettes
disk/prep [ -ra ] special [ type ]
disk/format [ -t type ] [ -f ] [ -d ] [ -b bfile ] [ -c csize ] [ -l label ] drive [ files
A partition table is stored on a hard disk to specify the division of the physical disk
into a set of logical units. On Plan 9 the partition table is a list of triples: name,
starting sector, and ending sector. The kernel fabricates the first two partitions, disk
and partition; the disk partition records the starting and ending sectors for the whole
disk, and the partition partition, typically the last sector on the disk, holds the parti-
tion table itself.
Special is the maximal prefix of names of the logical units on the disk, for example
#w/hd0. Prep reads and prints the associated partition table and then enters a simple
interactive mode to control editing the table.
The options are:
-r (read only) prohibits writing the table on disk.
-a automatically create default partitions if no partition table already exists.
These include partitions for DOS, a boot kernel, an NVRAM substitute, a kfs(4) file
system, and, if room remains, a swap partition.
Format prepares for use the floppy diskette in the disk file named drive, for example
/dev/fd0disk. The options are:
-f Do not physically format the disc. Used to install an MS-DOS filesystem on a previ-
ously formatted disc. With this option, drive can be a plain file.
-t specify a density and type of disk to be prepared. The possible types are:
31/2DD 31/2" double density, 737280 bytes
31/2HD 31/2" high density, 1474560 bytes
51/4DD 51/4" double density, 368640 bytes
51/4HD 51/4" high density, 1146880 bytes
The default is the highest possible on the device, unless -f is used, in which case
the default is 31/2HD.
-d add MS-DOS parameter block, file access table (FAT), and root directory to the
start of the floppy.
The remaining options have effect only when -d is specified:
-b use the contents of bfile as the bootstrap block installed in sector 0.
-c use a DOS cluster size of csize sectors when creating the DOS FAT.
-l add a label when creating the DOS parameter block.
Again under -d, any files listed are added, in order, to the root directory of the MS-DOS
filesytem. The files are contiguously allocated and created with the READONLY attribute
The file /sys/src/boot/pc/bb is an example of a suitable bfile to make the disk a boot
disk. It gets loaded by the BIOS at 0x7C00, reads the root directory into address 0x7E00,
and looks at the first root directory entry. If that file is called B.COM, it uses single
sector reads to load the file into address 0x10000 and then jumps to the loaded file
Create a Plan 9 boot floppy on a previously formatted diskette:
disk/format -f -b bb -d /dev/fd0disk /386/b.com
floppy(3), wren(3), b.com(8)