Subject: Re: adosfs

From: [email-masked] (Niklas Hallqvist)

>>>>> "Tim" == newsham  <[email-masked]> writes:

Tim>   % mount -t adosfs -o ro /dev/sd6f /mnt
Tim>   mount: Invalid argument

/dev/sd6f is not an AmigaDOS partition, that's your problem, see below!

Tim> I havent upgraded my mount program yet meaning I still have the
Tim> version from the 720 rootfs.  Is this my problem?

Don't think so.

Tim> Another thing I dont understand..  what is the mapping of
Tim> partitions to /dev/sd?? names?  As I understood it they were
Tim> calculated as the filesystem type, ie BSDR = /dev/sd?a BSDD =
Tim> /dev/sd?d, BSDF = /dev/sd?f etc.  Now an amigados filesystem will
Tim> not have any of these names!  So, how do I specify partition and
Tim> scsi device?  Do I specify the whole drive? (/dev/sd?c)?

The current partioning scheme consists of two models merged into one.
BSD partitions which are identified by their filesystem type, and Non-
BSD partitions identified by their order on the disk.  If we take a
look at the minor device number bits, we se how this is solved:

7 6 5 4 3 2 1 0		b = partition bank, d = SCSI ID, p = partition
b b i i i p p p

Ordinary BSD partitions use bank 0, others 1-3 (although a recent change
by Chris Hopps made bank 2 & 3 unavailable, which isn't a problem unless
you have more than eight ADOS partitions on a single disk).  There are
two naming conventions for the NonBSD partitions: either my ad hoc naming
which I've kept to my self, and the more logical extension of the usual
naming proposed by Michael Hitch.

Partition	My name		Michael's name
0		sd?p0		sd?i
1		sd?p1		sd?j
...

To see why MH's naming is more intuituive, run this command for a disk
where you have at least one ADOS partition:

disklabel /dev/sd?c

Note this only runs OK if your disklabel binary is in sync with your
kernel.

OK, as an example, suppose you have two ADSOSFS partitions on your disk
at SCSI ID 3.  These commands create the necessary nodes:

mknod /dev/sd3i b 4 88
mknod /dev/sd3j b 4 89
mknod /dev/rds3i c 8 88
mknod /dev/rds3j c 8 89

88 is 64 (bank 1) + 24 (ID 3) + 0 (first partition)!

Niklas