Subject: change-request: accessing non-DOS diskette formats
To: Manuel Bouyer <>
From: Christian Groessler <>
List: tech-kern
Date: 01/10/2002 16:32:39

On 01/10/2002 10:33:23 AM CET Manuel Bouyer wrote:
>please post this to tech-kern for discussion and review, and submit it as
>change request using send-pr.

Ok, I did this. It's kern/15199.

Here the original message:


our fdformat(1) programm is very flexible in supporting non-standard
diskette layouts. One can specify all relevant parameters describing a
diskette format (except FM - MFM, but FM anyway won't work on 99% of
the systems).

But there is no way to access a non-conforming diskette layout, there
are only some formats available, which are PC (DOS) specific (see

I had the need to access some other format, so I did some changes to
support those formats (which are available when formatting the disk)
also later when accessing the disk.

I created a fdparm utility (derived from the fdformat(1) utility)
which can be used to set the diskette parameters.

Then I modified the fd.c driver (sys/dev/isa/fd.c) to provide a
"persistent device".  The old fd.c driver allowed all the changes
in parameters which fdformat provides, but after closing the device
all changes were gone. This did not appear very useful to me. My
"persistent device" remembers the changes to the configuration until
it's changed again.

This way the fdparm tool can set the configuration and then disks of
this layout can used very easily.

I used the "h" device (e.g. /dev/fd0h) to be the persistent device,
maybe this is not wanted and the # of minor devices should be upped
from 8 to 16 for the floppy devices? Is this feasable? Then there
would be room for some other default layouts (see fdc(4)) and we
could use 2 or more "persistent" settable layouts.

Anyway, my changes are on  or .

They contain the source for the fdparm utility, the changes needed in
the /usr/src/sys tree and an example /etc/floppytab with entries I
used for testing.

Is there a chance that this can get integrated?