but amusingly this did not include Block size, or Sectors per cluster.
Allow for all numeric parameters (If I want to specify the number
of drive heads as '1K', then why not?)
of track-size units: 2) the FAT metadata areas may not be a multiple of a
"track", 1) the partition may not be track-aligned to begin with, 0) what's
a "track"? is it something a robot rover leaves on Mars?
types. These values come from a publically-avaliable document of an
infallible source that must not be named due to a violation of the document's
license restrictions. This is justified by interoperability concerns.
afterwards. Fixes newfs_msdos at least on sparc. Incidentally,
the msdosfs tests also start working on sparc, which about halves
the number of test failures on that platform.
necessary geometry when creating a file system directly to a file.
In addition, when creating, do not complain about the file not
being char special and do not try to execute device ioctl's on it.
count on "large" (>=32MB) file systems when fetching the geometry from
the medium. This confuses some software (which is to say Windows)
when a device newfs(8)ed under NetBSD is transported to another
system. (Note: The rest of the code uses 'bsec', and DTRT for smaller
file systems.)
contributed anonymously.
and a number of sectors per track.
According to sys/fs/msdosfs/msdosfs_vfsops.c:msdosfs_mountfs(),
the kernel doesn't accept BPB with spt (sector per track) > 63
or hds (drive heads) > 255, so if values taken from disklabel
don't match these restrictions, use popular BIOS default values
(255/63) instead.
- KNF
- cleaned up a few typos.
- use the msdosfs header files.
- separated Makefile and Makefile.boot, since we cannot build
bootcode.h (yet)
ToDo:
- Make it work on hard disks; only works on floppies
- Make it accept an msdos.sys io.sys and a command.com, to make
a real dos bootable disk.