General Introduction
Fdutils is a collection of utilities for configuring and using the
Linux floppy driver. With fdutils, you can:
-
Format disks with a higher capacity than usual (up to 1992KB on a 3 1/2
HD disk).
-
Reconfigure the autodetection sequence to automatically detect some of
these extended formats.
-
Access various internal driver structures and drive configuration using
the floppycontrol program.
This manual describes these utilities, and also the floppy driver
itself.
1. Where to get fdutils and its documentation
Fdutils can be found at the following places (+ mirrors):
| | ftp://www.tux.org/pub/knaff/fdutils/fdutils-5.5.tar.gz
ftp://metalab.unc.edu/pub/Linux/utils/disk-management/fdutils-5.5.tar.gz
ftp://tsx-11.mit.edu/pub/linux/sources/sbin/fdutils-5.5.tar.gz
|
The FAQ included in this package is also available separately at:
| | http://alain.knaff.linux.lu/floppy/FAQ.html
http://www.tux.org/pub/knaff/floppy/FAQ.html
|
The FAQ at fdutils.linux.lu and www.tux.org is usually more up to date
than versions found elsewhere. Thus, if you don’t find an answer in the
copy of the FAQ you have, please check this one for more recent info.
Before reporting a bug, make sure that it has not yet been fixed in the
Alpha patches which can be found at:
| | http://fdutils.linux.lu
ftp://www.tux.org/pub/knaff/fdutils
|
These patches are named
fdutils-version-ddmm.taz, where version
stands for the base version, dd for the day and mm for the
month. Due to a lack of space, I usually leave only the most recent
patch.
There is an fdutils mailing list at fdutils @ www.tux.org . Please
send all bug reports to this list. You may subscribe to the list by
sending a message with ’subscribe fdutils @ www.tux.org’ in its
body to majordomo @ www.tux.org . (N.B. Please remove the spaces
around the "@" both times. I left them there in order to fool
spambots.) Announcements of new fdutils versions will also be sent to
the list, in addition to the linux announce newsgroups. The mailing
list is archived at http://www.tux.org/hypermail/fdutils/latest
2. Basic usage
This chapter describes basic usage of floppies, and gives a few simple
tips for using floppies under Linux.
2.1 How disks are organized
All floppies have two levels of formatting, both of which must be
known in order to read them. The first is the binary or
sector level format, which is how raw data is stored on the disk.
The second is a higher level organization, often called a file
system, which allows multiple files to be conveniently stored on the
disk.
For example, a typical 1.44MB disk contains a low-level format, with 18
sectors per track, 80 tracks, and two sides (or heads); each sector can
hold 512 bytes of data for a total of 1474560 bytes (or 1440 KB). When
used under MS-DOS, this floppy would have a small portion of the disk
used to keep track of files on the disk (including a bootsector, file
allocation tables, directories, etc.).
The floppy driver generally takes care of reading the binary, or
low-level format. It can often "guess" the low-level disk geometry
needed to read the disk. This is called autodetection
(see section How autodetection works). If the driver can’t autodetect the disk
(e.g. if it is in an unusual format) you can tell the driver what the
geometry is either by using the setfdprm (see section setfdprm)
utility or by using a fixed geometry device device
(e.g. ‘/dev/fd0H1440’).
Under Linux, many different file systems from many sources can be used.
Some of these file systems are interpreted via a utility program (for
example mtools for using disks with an MS-DOS file system). Many
file systems can alternatively be "mounted" to appear in the UNIX
directory structure until subsequently being unmounted; this is usually
implemented by having the kernel itself interpret the file system on the
disk.
2.2 File systems supported by Linux
The following file systems are supported:
- OS/2 HPFS:
read-only support (mount/kernel)
- Mac HPFS 1.44MB:
read-only (xhfs utility)
- MS-DOS:
read, write, format (mtools utility and mount/kernel)
- tar, cpio:
compatible with many variations of UNIX (tar, cpio utilities)
- System V, minix, xia, ext, ext2:
(mount/kernel)
- pure binary disk access:
no file system (any program, usually dd, cat, and cp)
2.3 What’s in a name
The following figure shows the meaning of the different parts of the
name of a floppy device:
| | +--------------- /dev: directory for devices
| +------------- fd: floppy disk device prefix
| | +------------ 0: floppy drive #0 (A:) (0-1 typical, 0-7
| | | possible)
| | |+-- 3.5" drive: (use d for 5.25" double density drives, and
| | || h for 5.25" high density drives,
| | || u for 3.5" drive of any density)
| | || +---- 1440: Capacity (in KB) of format (usually between
| | || | 360 and 3920)
/dev/fd0u1440
|
2.4 What to do if you get an unidentified floppy disk
| | dd if=/dev/fd0 of=/tmp/foo count=1
# If it works:
getfdprm # This will report what geometry the disk has
file /tmp/foo # This may indicate the type of file system
mdir a: # Check for an MS-DOS file system
tar tvf /dev/fd0 # Check for a tar archive
cpio -itv < /dev/fd0 # Check for a cpio archive
e2fsck /dev/fd0 # Check for an "ext2" file system
# If it doesn't work:
# Try the above dd command using various /dev/fd0* devices
|
2.5 Nickel tours
2.5.1 mtools
| | mdir a: # Read directory of MS-DOS disk in drive A:
mcopy /tmp/foo\* a: # Copy files beginning with foo in /tmp to A:
mcopy a:\* . # Copy all files from A: to current directory
mformat a: # Add MS-DOS file system to formatted disk
|
2.5.2 Tar (Tape ARchive)
| | tar tvf /dev/fd0 # Read directory of tar archive in
# drive A:
tar cvf /dev/fd0 foo1 foo2 # Write foo1 and foo2 to A: in tar
# format foo1/foo2 can be entire
# directory trees
tar xvfp /dev/fd0 # extract entire tar archive in
# drive A:
|
Tar is not a file system. Only low-level format (superformat,
see section superformat) are needed to prepare a disk to accept a tar
archive.
2.5.3 CPIO (CoPy In/Out)
| | cpio -itv < /dev/fd0 # Read directory of cpio archive in A:
find foo1 foo2 -print | cpio -ov < /dev/fd0
# Write foo1/foo2 to A:
# foo1/foo2 can be entire directory trees
cpio -idumv < /dev/fd0 # extract entire CPIO archive in drive A:
|
Note: blocks reported are in 512-byte units (due to UNIX System V
heritage). Cpio is not a file system. Only low-level format (fdformat
or superformat (see section superformat) needed.
2.6 Ext2 (Second Extended File System)
| | mke2fs /dev/fd0 1440 # Makes an ext2 filesystem of 1440
# block on A:
mke2fs -c /dev/fd0 1440 # Same as above, but tests floppy first
e2fsck /dev/fd0 # Tests filesystem integrity. (like
# chkdsk in Dos)
e2fsck -p /dev/fd0 # Repairs filesystem. (like chkdsk /f
# in Dos)
mount -t ext2 /dev/fd0 /mnt # Mounts the disk in A: on /mnt.
# The directory /mnt must already exist
umount /mnt # Unmounts /mnt. No process should
# have its working directory in /mnt
# No process should have open files in
# /mnt
|
Note: don’t use ext2 on 2m disks
On some systems mke2fs is also called mkfs.ext2, and e2fsck is also
called fsck.ext2
2.7 New Features of 1.2+ kernels
2.7.1 New features of 1.2+ kernels
-
Faster and more comprehensive automatic sensing of floppy formats
-
Second Floppy Disk Controller (FDC) supported
-
DOS fdformat-style formats (up to 21 sectors on HD 3.5" disk)
-
DOS 2m-style formats (up to 24 sectors equivalent on HD 3.5" disk)
-
non-DOS 2m-inspired formats
-
Several long-standing bugs fixed
-
More exact detection of FDC type
-
More exact detection of floppy drives
2.7.2 New features of mtools-3.0
-
Support for new floppy formats (fdformat, 2m, 2m-like, ED)
-
2.88MB (Extra Density) floppies supported
-
More friendly syntax (e.g. "mcopy a:", "mmove")
-
Improved mmount
-
16-bit FATs (needed for some ED formats)
-
Automatically sets disk geometry for Linux
-
Several bug fixes
NOTE: Mtools has no longer maintained by its original maintainer Emmet
P. Gray after 2.0.7.
2.7.3 New Utilities
-
superformat (replaces fdformat; up to 3.84 MB floppies, faster,
calls mformat)
-
new
getfdprm/setfdprm
-
fdrawcmd (allows user-mode programs to do low-level floppy
actions) floppycontrol (general-purpose floppy driver
configuration utility)
-
MAKEFLOPPIES (makes floppy devices)
3. Device numbers
The floppy device nodes are usually made using the MAKEFLOPPIES
shell script (See section makefloppies.).
The major device number for the floppy drives is 2. The minor device
number contains describes which drive it represents, and may in addition
describe the kind of media which is currently in the drive.
There are two kind of floppy devices:
-
Variable geometry device nodes. Their minor number doesn’t depend on the
media in the drive, and is calculated as follows:
| | minor_device = 128 * fdc_nr + unit_nr
|
-
Fixed geometry device nodes. Their minor number not only depends on the
drive which they represent, but also the type of media currently in the
drive. It is computed as follows:
| | minor_device = 128 * fdc_nr + unit_nr + 4 * format_nr
|
In this formula, fdc_nr is the number of the floppy disk
controller (0 or 1, usually 0), and unit_nr is the Unit number (0
to 3, 0 for Dos drive A:, and 1 for Dos drive B:).
Format_nr is only meaningful for the fixed format devices. It
describes the disk geometry that is used. It is an index into the
geometry list The geometry list. Using all available
controller numbers and all available drive numbers, you may thus connect
up to 8 floppy drives to a single Linux box.
3.1 Variable format devices
Variable format devices don’t have an intrinsic geometry. When using
these devices, the geometry has to be set either by using autodetection
(see section How autodetection works), or by using the FDSETPRM or
FDGETPRM ioctl. The latter ioctl can be issued using the
setfdprm (see section setfdprm) and getfdrpm
(see section getfdprm) programs. With the default settings, common formats
are detected transparently, and you can access any disk transparently
using the variable format devices.
The geometry information is kept as long as the disk is in the drive,
and is discarded as soon as the disk is removed, unless the geometry has
been declared permanent by using setfdprm’s -p flag
(see section setfdprm).
3.2 Fixed format devices
Fixed format devices should not be used under normal circumstances.
Fixed format devices have an intrinsic geometry. They are useful for
the fdformat program (which is now considered obsolete), and for
booting off floppies which have formats that are different from the
default format (because during booting, there is no application that can
issue the otherwise needed FDSETPRM ioctl).
3.3 The geometry list
The floppy driver contains a builtin list of 32 formats. This list is used
for two purposes:
-
It says which geometry is used for the fixed format devices.
-
It is used for autodetection
The following formats (geometries) are known:
- format_nr
Format
- 0
autodetect
- 1
360KB, 5.25" DD drive
- 2
1200KB, 5.25" HD drive
- 3
360KB, 3.5" DD drive
- 4
720KB, 3.5" DD drive
- 5
360KB, 5.25" DD disk in HD drive
- 6
720KB, 5.25" DD disk in HD drive
- 7
1440KB, 3.5" HD drive
- 8
2880KB, 3.5" ED drive
- 9
3120KB, 3.5" ED drive
- 10
1440KB, 5.25" HD drive
- 11
1680KB, 3.5" HD drive
- 12
410KB, 5.25" DD disk in HD drive
- 13
820KB, 3.5" DD drive
- 14
1476KB, 5.25" HD drive
- 15
1722KB, 3.5" HD drive
- 16
420KB, 5.25" DD disk in HD drive
- 17
830KB, 3.5" DD drive
- 18
1494KB, 5.25" HD drive
- 19
1743KB, 3.5" HD drive
- 20
880KB, 5.25" DD drive
- 21
1040KB, 3.5" DD drive
- 22
1120KB, 3.5" DD drive
- 23
1600KB, 5.25" HD drive
- 24
1760KB, 3.5" HD drive
- 25
1920KB, 3.5" HD drive
- 26
3200KB, 3.5" ED drive
- 27
3520KB, 3.5" ED drive
- 28
3840KB, 3.5" ED drive
- 29
1840KB, 3.5" HD drive
- 30
800KB, 3.5" DD drive
- 31
1600KB, 3.5" HD drive
This table lists first the format_nr (0-31) used to compute the minor
number, then the capacity of the format (360KB - 3200KB), and then the
type of the drive in which this format is used.
The formats 0..8 are the standard PC formats. The remaining formats are
extended capacity formats. Some of them have been taken from Heiko
Schroeder’s fdpatches (after correcting some minor bugs). Others have
been added by David Niemi and me (Alain Knaff). Formats 9, 12, 13, 16,
17, 30 and 31 are non-interleaved formats with normal sized sectors, and
have the highest capacity that can be achieved without resorting to
interleaving or bigger sectors (More sectors per cylinder). Formats 10, 11,
14, 15, 18, 19 use interleaving interleaving to achieve a higher
capacity (Using interleave). Formats 20 and 22 to 29 use bigger sectors
than usual (Larger sectors and Mixed sector size (MSS) formats).
In addition to these techniques, formats 13-19 use more cylinders than
usual (More Cylinders). USE THESE FORMATS (13-19) ONLY IF
YOUR DRIVE SUPPORTS THE NECESSARY NUMBER OF TRACKS
3.4 Adding new formats
You can redefine the default formats using the setfdprm program
(setfdprm) (1). The following
example illustrates how to add a new 19 sector format, and make a device
entry for it. First, we pick an entry for it, which we want to reuse.
I recommend to redefine an entry which is only rarely used. For
instance, if you have no 5 1/4 drive on your system, you can redefine
any 5 1/4 entry without a loss. In our example, we pick 10.
First we make the device node:
| | mknod /dev/fd0H1520 b 2 40
^ ^ ^ ^
| | | Minor device number (format number * 4 +
| | | drive + controller*128)
| | Major device number (always 2!)
| Blockdevice
A name that you choose for the format. I
recommend to base the name on the capacity,
but you may choose any name you want.
|
Then we redefine the geometry of the new device:
| | setfdprm /dev/fd0H1520 1520 19 2 80 0 0x1b 0 0xcf 0x6c
|
NB: This redefines the geometry for any device node with the
same format number, not just the new node.
The new geometry is only valid until the next reboot (or removal of the
floppy module). In order to make it permanent, you have to execute the
setfdprm command from your ‘/etc/rc’ file or whenever you
insert the floppy module.
4. Media description
4.1 Introduction
Fdutils-5.0 introduces a new uniform format description, which is
supported both by setfdprm and superformat. The new format description
is easier to handle, because it allows to set the different parameters
of a format description in a symbolic and position independent way,
using a series of variable=value clauses. Moreover, it
automatically fills in sensible default values for unspecified
parameters. Thus you only need to describe those aspects of the format
that are important to you, and let the system handle the others.
Moreover, the new description separates those aspects that were specific
to the drive (like for instance its rotation speed) from those that are
specific to the media (spacial density, number of sectors, etc.).
The same description can be used both by setfdprm and superformat:
| | setfdprm /dev/fd0 hd sect=21 cyl=83
superformat /dev/fd0 hd sect=21 cyl=83
|
The first line above configures a 21 sector/83 cylinder format for drive
0, and the second line formats a disk using this same format.
4.2 Syntax
A media description is a series of variable=value and
selector clauses. Value is a number followed by an
optional unit. The unit is either KB (1024 bytes) or b
(blocks of 512 bytes), or none (bytes).
4.2.1 Selecting the density
To select a density just insert its two letter code into the format
description. Selecting a density also selects its default number of
sectors, heads and cylinders. However, these latter parameters can be
overridden.
-
hd
High density (1440KB for 3 1/2 and 1200KB for 5 1/4). The most commonly
used format today.
-
dd
Double density (720KB for 3 1/2 and 360KB for 5 1/4)
-
ed
Extra density (2880KB for 3 1/2)
-
qd
Quad density (720KB for 5 1/4).
-
sd
Single density (no nominal size). Used mostly for CP/M. Only for
experienced users.
If no density is given, the maximal density supported by the drive is
used. However, in order to keep the drive description and the media
description independent, I strongly suggest that you always
indicate the density anyways.
4.2.2 Selecting the number of cylinders, heads and sectors
This subsection describes how to select custom formats with a
non-standard number of heads, cylinders or sectors. However, note that
just describing the number of sectors, heads and cylinders is not
enough: you also need to indicate which density your custom format is
based on (cf. previous section).
-
sect=nb_of_sectors
This describes the number of sectors.
-
head=nb_of_heads
This describes the number of heads to be used.
-
cyl=nb_of_cylinders
This described the number of cylinders to be used.
4.2.3 Selecting non-standard sector sizes
In order to achieve a higher capacity, you may want to use a bigger
sector size.
-
ssize=sector_size
Choses a bigger sector size. The sector size is expressed in bytes.
Only powers of two between 128 and 32768 are acceptable
-
sect=nb_of_sectors
Describes the number of sectors. For example hd sect=11
ssize=1024 describes a format where one track (1 side) is made up of 11
sectors of 1024 bytes each (thus 11KB per track, and 22KB per cylinder).
-
tracksize=size_of_one_track
Describes the size of one track. For example, hd tracksize=11KB
ssize=1KB describes a format where one track contains 11KB of data
(tracksize) stored in sectors of 1KB each.
This option exists mainly to describe MSS (mixed sector size) formats.
For example, hd tracksize=12KB mss describes a format where one
track which contains 12 KB of data. The sectors size are chosen by the
system in a way to take up the least raw space: 8KB + 4KB.
-
mss
-
This option says that the format is an MSS format.
-
2m
-
This option says that the format is a so-called 2M format. These
formats are intended for easy readability on DOS boxes. Their first
track has the usual 18 sectors, whereas the other tracks have bigger
sector, and in some cases mixed sector sizes.
4.2.4 Legacy formats
The swapsides format allows to describe disks whose sides are
swapped, such as CBM1581 disks.
4.2.5 Expert options
The following options are not needed in most common situations, as they
are implied by the density selector. They may be needed to read
some legacy (CP/M) formats.
-
tpi=48
For 5 1/4 disks only. This says that the format uses double-spaced
cylinders (implied by double density).
-
tpi=96
For 5 1/4 disks only. This says that the format uses single-spaced
cylinders (implied by quad and high density).
-
fm=0
Uses MFM encoding (implied by double, quad, high and extra density)
-
fm=1
Uses FM encoding (implied by single density)
-
dtr=dtr-code
Sets the data transfer rate. The following table lists the dtr codes
for various transfer rates:
| | dtr-code rate for FM rate for MFM
=============================================
0 250kb/s 500kb/s
1 150kb/s 300kb/s
2 125kb/s 250kb/s
3 500kb/s 1000kb/s
|
-
perp=0
Do not use "perpendicular mode" sector headers (this setting is implied
by single, double, quad and high density).
-
perp=1
Use "perpendicular" sector headers (this setting is implied by
extra-density)
-
gap=value
Sets the size of the read/write gap. I don’t know the purpose of this
parameter (which is passed as-is to the floppy controller): any
value seems to work with any format...
-
fmt_gap=value
Sets the size of the formatting gap. This is only used by the now
obsolete fdformat program, and not by superformat.
4.3 The media description dictionary in /etc/fdmediaprm
‘/usr/local/etc/fdmediaprm’ (2)
contains a dictionary of commonly used media descriptions. Each
description is identified by a name, which can then be used by setfdprm
or superformat to refer to it, instead of an explicit description.
Each definition starts with "name":, followed by
the actual description. Definitions may be spread over several lines,
for better readability. The file may contain comments, which start with
# and stop at the end of the line.
5. Drive descriptions
Unlike earlier version, fdutils-5.0 separates drive descriptions and
media description. For more details on this separation,
see section Introduction. Drive descriptions are used to describe the
hardware characteristics of a drive, such as their maximal density,
their rotation speed, their form factor, etc.
5.1 Syntax
A drive description is a series of variable=value and
selector clauses.
5.1.1 Density
The density of a drive is the highest media density that it supports.
Density is one of sd, dd, qd, hd or
ed. Usually, you do not need to specify this parameter, as it
can be derived from the drives CMOS code.
5.1.2 Form factor
The form factor of a drive describes the physical dimensions of the
media it accepts. It is one of 3.5, 5.25 or etfdprm
.3 Selecting non-standard sector sizes
In order to achieve a higher capacity, you may want to use a bigger
sector size.
-
ssize=sector_size
Choses a bigger sector size. The sector size is expressed in bytes.
Only powers of two between 128 and 32768 are acceptable
-
sect=nb_of_sectors
Describes the number of sectors. For example hd sect=11
ssize=1024 describes a format where one track (1 side) is made up of 11
sectors of 1024 bytes each (thus 11KB per track, and 22KB per cylinder).
-
tracksize=size_of_one_track
Describes the size of one track. For example, hd tracksize=11KB
ssize=1KB describes a format where one track contains 11KB of data
(tracksize) stored in sectors of 1KB each.
This option exists mainly to describe MSS (mixed sector size) formats.
For example, hd tracksize=12KB mss describes a format where one
track which contains 12 KB of data. The sectors size are chosen by the
system in a way to take up the least raw space: 8KB + 4KB.
-
mss
-
This option says that the format is an MSS format.
-
2m
-
This option says that the format is a so-called 2M format. These
formats are intended for easy readability on DOS boxes. Their first
track has the usual 18 sectors, whereas the other tracks have bigger
sector, and in some cases mixed sector sizes.
4.2.4 Legacy formats
The swapsides format allows to describe disks whose sides are
swapped, such as CBM1581 disks.
4.2.5 Expert options
The following options are not needed in most common situations, as they
are implied by the density selector. They may be needed to read
some legacy (CP/M) formats.
-
tpi=48
For 5 1/4 disks only. This says that the format uses double-spaced
cylinders (implied by double density).
-
tpi=96
For 5 1/4 disks only. This says that the format uses single-spaced
cylinders (implied by quad and high density).
-
fm=0
Uses MFM encoding (implied by double, quad, high and extra density)
-
fm=1
Uses FM encoding (implied by single density)
-
dtr=dtr-code
Sets the data transfer rate. The following table lists the dtr codes
for various transfer rates:
| | dtr-code rate for FM rate for MFM
=============================================
0 250kb/s 500kb/s
1 150kb/s 300kb/s
2 125kb/s 250kb/s
3 500kb/s 1000kb/s
|
-
perp=0
Do not use "perpendicular mode" sector headers (this setting is implied
by single, double, quad and high density).
-
perp=1
Use "perpendicular" sector headers (this setting is implied by
extra-density)
-
gap=value
Sets the size of the read/write gap. I don’t know the purpose of this
parameter (which is passed as-is to the floppy controller): any
value seems to work with any format...
-
fmt_gap=value
Sets the size of the formatting gap. This is only used by the now
obsolete fdformat program, and not by superformat.
4.3 The media description dictionary in /etc/fdmediaprm
‘/usr/local/etc/fdmediaprm’ (2)
contains a dictionary of commonly used media descriptions. Each
description is identified by a name, which can then be used by setfdprm
or superformat to refer to it, instead of an explicit description.
Each definition starts with "name":, followed by
the actual description. Definitions may be spread over several lines,
for better readability. The file may contain comments, which start with
# and stop at the end of the line.
5. Drive descriptions
Unlike earlier version, fdutils-5.0 separates drive descriptions and
media description. For more details on this separation,
see section Introduction. Drive descriptions are used to describe the
hardware characteristics of a drive, such as their maximal density,
their rotation speed, their form factor, etc.
5.1 Syntax
A drive description is a series of variable=value and
selector clauses.
5.1.1 Density
The density of a drive is the highest media density that it supports.
Density is one of sd, dd, qd, hd or
ed. Usually, you do not need to specify this parameter, as it
can be derived from the drives CMOS code.
5.1.2 Form factor
The form factor of a drive describes the physical dimensions of the
media it accepts. It is one of 3.5, 5.25 or etfdprm
.3 Selecting non-standard sector sizes
In order to achieve a higher capacity, you may want to use a bigger
sector size.
-
ssize=sector_size
Choses a bigger sector size. The sector size is expressed in bytes.
Only powers of two between 128 and 32768 are acceptable
-
sect=nb_of_sectors
Describes the number of sectors. For example hd sect=11
ssize=1024 describes a format where one track (1 side) is made up of 11
sectors of 1024 bytes each (thus 11KB per track, and 22KB per cylinder).
-
tracksize=size_of_one_track
Describes the size of one track. For example, hd tracksize=11KB
ssize=1KB describes a format where one track contains 11KB of data
(tracksize) stored in sectors of 1KB each.
This option exists mainly to describe MSS (mixed sector size) formats.
For example, hd tracksize=12KB mss describes a format where one
track which contains 12 KB of data. The sectors size are chosen by the
system in a way to take up the least raw space: 8KB + 4KB.
-
mss
-
This option says that the format is an MSS format.
-
2m
-
This option says that the format is a so-called 2M format. These
formats are intended for easy readability on DOS boxes. Their first
track has the usual 18 sectors, whereas the other tracks have bigger
sector, and in some cases mixed sector sizes.
4.2.4 Legacy formats
The swapsides format allows to describe disks whose sides are
swapped, such as CBM1581 disks.
4.2.5 Expert options
The following options are not needed in most common situations, as they
are implied by the density selector. They may be needed to read
some legacy (CP/M) formats.
-
tpi=48
For 5 1/4 disks only. This says that the format uses double-spaced
cylinders (implied by double density).
-
tpi=96
For 5 1/4 disks only. This says that the format uses single-spaced
cylinders (implied by quad and high density).
-
fm=0
Uses MFM encoding (implied by double, quad, high and extra density)
-
fm=1
Uses FM encoding (implied by single density)
-
dtr=dtr-code
Sets the data transfer rate. The following table lists the dtr codes
for various transfer rates:
| | dtr-code rate for FM rate for MFM
=============================================
0 250kb/s 500kb/s
1 150kb/s 300kb/s
2 125kb/s 250kb/s
3 500kb/s 1000kb/s
|
-
perp=0
Do not use "perpendicular mode" sector headers (this setting is implied
by single, double, quad and high density).
-
perp=1
Use "perpendicular" sector headers (this setting is implied by
extra-density)
-
gap=value
Sets the size of the read/write gap. I don’t know the purpose of this
parameter (which is passed as-is to the floppy controller): any
value seems to work with any format...
-
fmt_gap=value
Sets the size of the formatting gap. This is only used by the now
obsolete fdformat program, and not by superformat.
4.3 The media description dictionary in /etc/fdmediaprm
‘/usr/local/etc/fdmediaprm’ (2)
contains a dictionary of commonly used media descriptions. Each
description is identified by a name, which can then be used by setfdprm
or superformat to refer to it, instead of an explicit description.
Each definition starts with "name":, followed by
the actual description. Definitions may be spread over several lines,
for better readability. The file may contain comments, which start with
# and stop at the end of the line.
5. Drive descriptions
Unlike earlier version, fdutils-5.0 separates drive descriptions and
media description. For more details on this separation,
see section Introduction. Drive descriptions are used to describe the
hardware characteristics of a drive, such as their maximal density,
their rotation speed, their form factor, etc.
5.1 Syntax
A drive description is a series of variable=value and
selector clauses.
5.1.1 Density
The density of a drive is the highest media density that it supports.
Density is one of sd, dd, qd, hd or
ed. Usually, you do not need to specify this parameter, as it
can be derived from the drives CMOS code.
5.1.2 Form factor
The form factor of a drive describes the physical dimensions of the
media it accepts. It is one of 3.5, 5.25 or etfdprm
.3 Selecting non-standard sector sizes
In order to achieve a higher capacity, you may want to use a bigger
sector size.
-
ssize=sector_size
Choses a bigger sector size. The sector size is expressed in bytes.
Only powers of two between 128 and 32768 are acceptable
-
sect=nb_of_sectors
Describes the number of sectors. For example hd sect=11
ssize=1024 describes a format where one track (1 side) is made up of 11
sectors of 1024 bytes each (thus 11KB per track, and 22KB per cylinder).
-
tracksize=size_of_one_track
Describes the size of one track. For example, hd tracksize=11KB
ssize=1KB describes a format where one track contains 11KB of data
(tracksize) stored in sectors of 1KB each.
This option exists mainly to describe MSS (mixed sector size) formats.
For example, hd tracksize=12KB mss describes a format where one
track which contains 12 KB of data. The sectors size are chosen by the
system in a way to take up the least raw space: 8KB + 4KB.
-
mss
-
This option says that the format is an MSS format.
-
2m
-
This option says that the format is a so-called 2M format. These
formats are intended for easy readability on DOS boxes. Their first
track has the usual 18 sectors, whereas the other tracks have bigger
sector, and in some cases mixed sector sizes.
4.2.4 Legacy formats
The swapsides format allows to describe disks whose sides are
swapped, such as CBM1581 disks.
4.2.5 Expert options
The following options are not needed in most common situations, as they
are implied by the density selector. They may be needed to read
some legacy (CP/M) formats.
-
tpi=48
For 5 1/4 disks only. This says that the format uses double-spaced
cylinders (implied by double density).
-
tpi=96
For 5 1/4 disks only. This says that the format uses single-spaced
cylinders (implied by quad and high density).
-
fm=0
Uses MFM encoding (implied by double, quad, high and extra density)
-
fm=1
Uses FM encoding (implied by single density)
-
dtr=dtr-code
Sets the data transfer rate. The following table lists the dtr codes
for various transfer rates:
| | dtr-code rate for FM rate for MFM
=============================================
0 250kb/s 500kb/s
1 150kb/s 300kb/s
2 125kb/s 250kb/s
3 500kb/s 1000kb/s
|
-
perp=0
Do not use "perpendicular mode" sector headers (this setting is implied
by single, double, quad and high density).
-
perp=1
Use "perpendicular" sector headers (this setting is implied by
extra-density)
-
gap=value
Sets the size of the read/write gap. I don’t know the purpose of this
parameter (which is passed as-is to the floppy controller): any
value seems to work with any format...
-
fmt_gap=value
Sets the size of the formatting gap. This is only used by the now
obsolete fdformat program, and not by superformat.
4.3 The media description dictionary in /etc/fdmediaprm
‘/usr/local/etc/fdmediaprm’ (2)
contains a dictionary of commonly used media descriptions. Each
description is identified by a name, which can then be used by setfdprm
or superformat to refer to it, instead of an explicit description.
Each definition starts with "name":, followed by
the actual description. Definitions may be spread over several lines,
for better readability. The file may contain comments, which start with
# and stop at the end of the line.
5. Drive descriptions
Unlike earlier version, fdutils-5.0 separates drive descriptions and
media description. For more details on this separation,
see section Introduction. Drive descriptions are used to describe the
hardware characteristics of a drive, such as their maximal density,
their rotation speed, their form factor, etc.
5.1 Syntax
A drive description is a series of variable=value and
selector clauses.
5.1.1 Density
The density of a drive is the highest media density that it supports.
Density is one of sd, dd, qd, hd or
ed. Usually, you do not need to specify this parameter, as it
can be derived from the drives CMOS code.
5.1.2 Form factor
The form factor of a drive describes the physical dimensions of the
media it accepts. It is one of 3.5, 5.25 or etfdprm
.3 Selecting non-standard sector sizes
In order to achieve a higher capacity, you may want to use a bigger
sector size.
-
ssize=sector_size
Choses a bigger sector size. The sector size is expressed in bytes.
Only powers of two between 128 and 32768 are acceptable
-
sect=nb_of_sectors
Describes the number of sectors. For example hd sect=11
ssize=1024 describes a format where one track (1 side) is made up of 11
sectors of 1024 bytes each (thus 11KB per track, and 22KB per cylinder).
-
tracksize=size_of_one_track
Describes the size of one track. For example, hd tracksize=11KB
ssize=1KB describes a format where one track contains 11KB of data
(tracksize) stored in sectors of 1KB each.
This option exists mainly to describe MSS (mixed sector size) formats.
For example, hd tracksize=12KB mss describes a format where one
track which contains 12 KB of data. The sectors size are chosen by the
system in a way to take up the least raw space: 8KB + 4KB.
-
mss
-
This option says that the format is an MSS format.
-
2m
-
This option says that the format is a so-called 2M format. These
formats are intended for easy readability on DOS boxes. Their first
track has the usual 18 sectors, whereas the other tracks have bigger
sector, and in some cases mixed sector sizes.
4.2.4 Legacy formats
The swapsides format allows to describe disks whose sides are
swapped, such as CBM1581 disks.
4.2.5 Expert options
The following options are not needed in most common situations, as they
are implied by the density selector. They may be needed to read
some legacy (CP/M) formats.
-
tpi=48
For 5 1/4 disks only. This says that the format uses double-spaced
cylinders (implied by double density).
-
tpi=96
For 5 1/4 disks only. This says that the format uses single-spaced
cylinders (implied by quad and high density).
-
fm=0
Uses MFM encoding (implied by double, quad, high and extra density)
-
fm=1
Uses FM encoding (implied by single density)
-
dtr=dtr-code
Sets the data transfer rate. The following table lists the dtr codes
for various transfer rates:
| | dtr-code rate for FM rate for MFM
=============================================
0 250kb/s 500kb/s
1 150kb/s 300kb/s
2 125kb/s 250kb/s
3 500kb/s 1000kb/s
|
-
perp=0
Do not use "perpendicular mode" sector headers (this setting is implied
by single, double, quad and high density).
-
perp=1
Use "perpendicular" sector headers (this setting is implied by
extra-density)
-
gap=value
Sets the size of the read/write gap. I don’t know the purpose of this
parameter (which is passed as-is to the floppy controller): any
value seems to work with any format...
-
fmt_gap=value
Sets the size of the formatting gap. This is only used by the now
obsolete fdformat program, and not by superformat.
4.3 The media description dictionary in /etc/fdmediaprm
‘/usr/local/etc/fdmediaprm’ (2)
contains a dictionary of commonly used media descriptions. Each
description is identified by a name, which can then be used by setfdprm
or superformat to refer to it, instead of an explicit description.
Each definition starts with "name":, followed by
the actual description. Definitions may be spread over several lines,
for better readability. The file may contain comments, which start with
# and stop at the end of the line.
5. Drive descriptions
Unlike earlier version, fdutils-5.0 separates drive descriptions and
media description. For more details on this separation,
see section Introduction. Drive descriptions are used to describe the
hardware characteristics of a drive, such as their maximal density,
their rotation speed, their form factor, etc.
5.1 Syntax
A drive description is a series of variable=value and
selector clauses.
5.1.1 Density
The density of a drive is the highest media density that it supports.
Density is one of sd, dd, qd, hd or
ed. Usually, you do not need to specify this parameter, as it
can be derived from the drives CMOS code.
5.1.2 Form factor
The form factor of a drive describes the physical dimensions of the
media it accepts. It is one of 3.5, 5.25 or etfdprm
.3 Selecting non-standard sector sizes
In order to achieve a higher capacity, you may want to use a bigger
sector size.
-
ssize=sector_size
Choses a bigger sector size. The sector size is expressed in bytes.
Only powers of two between 128 and 32768 are acceptable
-
sect=nb_of_sectors
Describes the number of sectors. For example hd sect=11
ssize=1024 describes a format where one track (1 side) is made up of 11
sectors of 1024 bytes each (thus 11KB per track, and 22KB per cylinder).
-
tracksize=size_of_one_track
Describes the size of one track. For example, hd tracksize=11KB
ssize=1KB describes a format where one track contains 11KB of data
(tracksize) stored in sectors of 1KB each.
This option exists mainly to describe MSS (mixed sector size) formats.
For example, hd tracksize=12KB mss describes a format where one
track which contains 12 KB of data. The sectors size are chosen by the
system in a way to take up the least raw space: 8KB + 4KB.
-
mss
-
This option says that the format is an MSS format.
-
2m
-
This option says that the format is a so-called 2M format. These
formats are intended for easy readability on DOS boxes. Their first
track has the usual 18 sectors, whereas the other tracks have bigger
sector, and in some cases mixed sector sizes.
4.2.4 Legacy formats
The swapsides format allows to describe disks whose sides are
swapped, such as CBM1581 disks.
4.2.5 Expert options
The following options are not needed in most common situations, as they
are implied by the density selector. They may be needed to read
some legacy (CP/M) formats.
-
tpi=48
For 5 1/4 disks only. This says that the format uses double-spaced
cylinders (implied by double density).
-
tpi=96
For 5 1/4 disks only. This says that the format uses single-spaced
cylinders (implied by quad and high density).
-
fm=0
Uses MFM encoding (implied by double, quad, high and extra density)
-
fm=1
Uses FM encoding (implied by single density)
-
dtr=dtr-code
Sets the data transfer rate. The following table lists the dtr codes
for various transfer rates:
| | dtr-code rate for FM rate for MFM
=============================================
0 250kb/s 500kb/s
1 150kb/s 300kb/s
2 125kb/s 250kb/s
3 500kb/s 1000kb/s
|
-
perp=0
Do not use "perpendicular mode" sector headers (this setting is implied
by single, double, quad and high density).
-
perp=1
Use "perpendicular" sector headers (this setting is implied by
extra-density)
-
gap=value
Sets the size of the read/write gap. I don’t know the purpose of this
parameter (which is passed as-is to the floppy controller): any
value seems to work with any format...
-
fmt_gap=value
Sets the size of the formatting gap. This is only used by the now
obsolete fdformat program, and not by superformat.
4.3 The media description dictionary in /etc/fdmediaprm
‘/usr/local/etc/fdmediaprm’ (2)
contains a dictionary of commonly used media descriptions. Each
description is identified by a name, which can then be used by setfdprm
or superformat to refer to it, instead of an explicit description.
Each definition starts with "name":, followed by
the actual description. Definitions may be spread over several lines,
for better readability. The file may contain comments, which start with
# and stop at the end of the line.
5. Drive descriptions
Unlike earlier version, fdutils-5.0 separates drive descriptions and
media description. For more details on this separation,
see section Introduction. Drive descriptions are used to describe the
hardware characteristics of a drive, such as their maximal density,
their rotation speed, their form factor, etc.
5.1 Syntax
A drive description is a series of variable=value and
selector clauses.
5.1.1 Density
The density of a drive is the highest media density that it supports.
Density is one of sd, dd, qd, hd or
ed. Usually, you do not need to specify this parameter, as it
can be derived from the drives CMOS code.
5.1.2 Form factor
The form factor of a drive describes the physical dimensions of the
media it accepts. It is one of 3.5, 5.25 or etfdprm
.3 Selecting non-standard sector sizes
In order to achieve a higher capacity, you may want to use a bigger
sector size.
-
ssize=sector_size
Choses a bigger sector size. The sector size is expressed in bytes.
Only powers of two between 128 and 32768 are acceptable
-
sect=nb_of_sectors
Describes the number of sectors. For example hd sect=11
ssize=1024 describes a format where one track (1 side) is made up of 11
sectors of 1024 bytes each (thus 11KB per track, and 22KB per cylinder).
-
tracksize=size_of_one_track
Describes the size of one track. For example, hd tracksize=11KB
ssize=1KB describes a format where one track contains 11KB of data
(tracksize) stored in sectors of 1KB each.
This option exists mainly to describe MSS (mixed sector size) formats.
For example, hd tracksize=12KB mss describes a format where one
track which contains 12 KB of data. The sectors size are chosen by the
system in a way to take up the least raw space: 8KB + 4KB.
-
mss
-
This option says that the format is an MSS format.
-
2m
-
This option says that the format is a so-called 2M format. These
formats are intended for easy readability on DOS boxes. Their first
track has the usual 18 sectors, whereas the other tracks have bigger
sector, and in some cases mixed sector sizes.
4.2.4 Legacy formats
The swapsides format allows to describe disks whose sides are
swapped, such as CBM1581 disks.
4.2.5 Expert options
The following options are not needed in most common situations, as they
are implied by the density selector. They may be needed to read
some legacy (CP/M) formats.
-
tpi=48
For 5 1/4 disks only. This says that the format uses double-spaced
cylinders (implied by double density).
-
tpi=96
For 5 1/4 disks only. This says that the format uses single-spaced
cylinders (implied by quad and high density).
-
fm=0
Uses MFM encoding (implied by double, quad, high and extra density)
-
fm=1
Uses FM encoding (implied by single density)
-
dtr=dtr-code
Sets the data transfer rate. The following table lists the dtr codes
for various transfer rates:
| | dtr-code rate for FM rate for MFM
=============================================
0 250kb/s 500kb/s
1 150kb/s 300kb/s
2 125kb/s 250kb/s
3 500kb/s 1000kb/s
|
-
perp=0
Do not use "perpendicular mode" sector headers (this setting is implied
by single, double, quad and high density).
-
perp=1
Use "perpendicular" sector headers (this setting is implied by
extra-density)
-
gap=value
Sets the size of the read/write gap. I don’t know the purpose of this
parameter (which is passed as-is to the floppy controller): any
value seems to work with any format...
-
fmt_gap=value
Sets the size of the formatting gap. This is only used by the now
obsolete fdformat program, and not by superformat.
4.3 The media description dictionary in /etc/fdmediaprm
‘/usr/local/etc/fdmediaprm’ (2)
contains a dictionary of commonly used media descriptions. Each
description is identified by a name, which can then be used by setfdprm
or superformat to refer to it, instead of an explicit description.
Each definition starts with "name":, followed by
the actual description. Definitions may be spread over several lines,
for better readability. The file may contain comments, which start with
# and stop at the end of the line.
5. Drive descriptions
Unlike earlier version, fdutils-5.0 separates drive descriptions and
media description. For more details on this separation,
see section Introduction. Drive descriptions are used to describe the
hardware characteristics of a drive, such as their maximal density,
their rotation speed, their form factor, etc.
5.1 Syntax
A drive description is a series of variable=value and
selector clauses.
5.1.1 Density
The density of a drive is the highest media density that it supports.
Density is one of sd, dd, qd, hd or
ed. Usually, you do not need to specify this parameter, as it
can be derived from the drives CMOS code.
5.1.2 Form factor
The form factor of a drive describes the physical dimensions of the
media it accepts. It is one of 3.5, 5.25 or etfdprm
.3 Selecting non-standard sector sizes
In order to achieve a higher capacity, you may want to use a bigger
sector size.
-
ssize=sector_size
Choses a bigger sector size. The sector size is expressed in bytes.
Only powers of two between 128 and 32768 are acceptable
-
sect=nb_of_sectors
Describes the number of sectors. For example hd sect=11
ssize=1024 describes a format where one track (1 side) is made up of 11
sectors of 1024 bytes each (thus 11KB per track, and 22KB per cylinder).
-
tracksize=size_of_one_track
Describes the size of one track. For example, hd tracksize=11KB
ssize=1KB describes a format where one track contains 11KB of data
(tracksize) stored in sectors of 1KB each.
This option exists mainly to describe MSS (mixed sector size) formats.
For example, hd tracksize=12KB mss describes a format where one
track which contains 12 KB of data. The sectors size are chosen by the
system in a way to take up the least raw space: 8KB + 4KB.
-
mss
-
This option says that the format is an MSS format.
-
2m
-
This option says that the format is a so-called 2M format. These
formats are intended for easy readability on DOS boxes. Their first
track has the usual 18 sectors, whereas the other tracks have bigger
sector, and in some cases mixed sector sizes.
4.2.4 Legacy formats
The swapsides format allows to describe disks whose sides are
swapped, such as CBM1581 disks.
4.2.5 Expert options
The following options are not needed in most common situations, as they
are implied by the density selector. They may be needed to read
some legacy (CP/M) formats.
-
tpi=48
For 5 1/4 disks only. This says that the format uses double-spaced
cylinders (implied by double density).
-
tpi=96
For 5 1/4 disks only. This says that the format uses single-spaced
cylinders (implied by quad and high density).
-
fm=0
Uses MFM encoding (implied by double, quad, high and extra density)
-
fm=1
Uses FM encoding (implied by single density)
-
dtr=dtr-code
Sets the data transfer rate. The following table lists the dtr codes
for various transfer rates:
| | dtr-code rate for FM rate for MFM
=============================================
0 250kb/s 500kb/s
1 150kb/s 300kb/s
2 125kb/s 250kb/s
3 500kb/s 1000kb/s
|
-
perp=0
Do not use "perpendicular mode" sector headers (this setting is implied
by single, double, quad and high density).
-
perp=1
Use "perpendicular" sector headers (this setting is implied by
extra-density)
-
gap=value
Sets the size of the read/write gap. I don’t know the purpose of this
parameter (which is passed as-is to the floppy controller): any
value seems to work with any format...
-
fmt_gap=value
Sets the size of the formatting gap. This is only used by the now
obsolete fdformat program, and not by superformat.
4.3 The media description dictionary in /etc/fdmediaprm
‘/usr/local/etc/fdmediaprm’ (2)
contains a dictionary of commonly used media descriptions. Each
description is identified by a name, which can then be used by setfdprm
or superformat to refer to it, instead of an explicit description.
Each definition starts with "name":, followed by
the actual description. Definitions may be spread over several lines,
for better readability. The file may contain comments, which start with
# and stop at the end of the line.
5. Drive descriptions
Unlike earlier version, fdutils-5.0 separates drive descriptions and
media description. For more details on this separation,
see section Introduction. Drive descriptions are used to describe the
hardware characteristics of a drive, such as their maximal density,
their rotation speed, their form factor, etc.
5.1 Syntax
A drive description is a series of variable=value and
selector clauses.
5.1.1 Density
The density of a drive is the highest media density that it supports.
Density is one of sd, dd, qd, hd or
ed. Usually, you do not need to specify this parameter, as it
can be derived from the drives CMOS code.
5.1.2 Form factor
The form factor of a drive describes the physical dimensions of the
media it accepts. It is one of 3.5, 5.25 or etfdprm
.3 Selecting non-standard sector sizes
In order to achieve a higher capacity, you may want to use a bigger
sector size.
-
ssize=sector_size
Choses a bigger sector size. The sector size is expressed in bytes.
Only powers of two between 128 and 32768 are acceptable
-
sect=nb_of_sectors
Describes the number of sectors. For example hd sect=11
ssize=1024 describes a format where one track (1 side) is made up of 11
sectors of 1024 bytes each (thus 11KB per track, and 22KB per cylinder).
-
tracksize=size_of_one_track
Describes the size of one track. For example, hd tracksize=11KB
ssize=1KB describes a format where one track contains 11KB of data
(tracksize) stored in sectors of 1KB each.
This option exists mainly to describe MSS (mixed sector size) formats.
For example, hd tracksize=12KB mss describes a format where one
track which contains 12 KB of data. The sectors size are chosen by the
system in a way to take up the least raw space: 8KB + 4KB.
-
mss
-
This option says that the format is an MSS format.
-
2m
-
This option says that the format is a so-called 2M format. These
formats are intended for easy readability on DOS boxes. Their first
track has the usual 18 sectors, whereas the other tracks have bigger
sector, and in some cases mixed sector sizes.
4.2.4 Legacy formats
The swapsides format allows to describe disks whose sides are
swapped, such as CBM1581 disks.
4.2.5 Expert options
The following options are not needed in most common situations, as they
are implied by the density selector. They may be needed to read
some legacy (CP/M) formats.
-
tpi=48
For 5 1/4 disks only. This says that the format uses double-spaced
cylinders (implied by double density).
-
tpi=96
For 5 1/4 disks only. This says that the format uses single-spaced
cylinders (implied by quad and high density).
-
fm=0
Uses MFM encoding (implied by double, quad, high and extra density)
-
fm=1
Uses FM encoding (implied by single density)
-
dtr=dtr-code
Sets the data transfer rate. The following table lists the dtr codes
for various transfer rates:
| | dtr-code rate for FM rate for MFM
=============================================
0 250kb/s 500kb/s
1 150kb/s 300kb/s
2 125kb/s 250kb/s
3 500kb/s 1000kb/s
|
-
perp=0
Do not use "perpendicular mode" sector headers (this setting is implied
by single, double, quad and high density).
-
perp=1
Use "perpendicular" sector headers (this setting is implied by
extra-density)
-
gap=value
Sets the size of the read/write gap. I don’t know the purpose of this
parameter (which is passed as-is to the floppy controller): any
value seems to work with any format...
-
fmt_gap=value
Sets the size of the formatting gap. This is only used by the now
obsolete fdformat program, and not by superformat.
4.3 The media description dictionary in /etc/fdmediaprm
‘/usr/local/etc/fdmediaprm’ (2)
contains a dictionary of commonly used media descriptions. Each
description is identified by a name, which can then be used by setfdprm
or superformat to refer to it, instead of an explicit description.
Each definition starts with "name":, followed by
the actual description. Definitions may be spread over several lines,
for better readability. The file may contain comments, which start with
# and stop at the end of the line.
5. Drive descriptions
Unlike earlier version, fdutils-5.0 separates drive descriptions and
media description. For more details on this separation,
see section Introduction. Drive descriptions are used to describe the
hardware characteristics of a drive, such as their maximal density,
their rotation speed, their form factor, etc.
5.1 Syntax
A drive description is a series of variable=value and
selector clauses.