Subject: Re: Amiga NetBSD different from other NetBSD?
To: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
From: Rob Healey <firstname.lastname@example.org>
Date: 12/23/1994 19:16:45
> Based on what I read here, it sounds as though the Amiga port, unique
> among the NetBSD ports and mildly contrary to BSD tradition, juggles
> the partition numbering at boot time so that (possibly among other
> things) the boot partition is always an `a' partition. This seems to
> be what started this whole flap off.
Some details on the Amiga port which may or may not be interesting...
1: The Amiga port cannot bootstrap itself, it MUST start AmigaDOS
first and run a helper program, loadbsd, in order to boot NetBSD.
As such, the AmigaDOS partition table has to be left in tact so
ADOS will boot. Amiga's name for the partition table is RDB,
Rigid Disk Block, which contains 16 slots that hold a record
about a partition under AmigaDOS. NetBSD has 3 unique record
types for itself: NBS\7, NBR\1 and NBU\1, AmigaDOS has
DOS\0, DOS\1, DOS\2 and DOS\3 for the various types of filesystems
ADOS uses and finally Amiga UNIX SVR4 claims UNI\0, UNI\1 and
UNI\2. All this it build up to...
2: BSD supports 8 partitions and Amiga's native partition format
supports 16. What to do? Easy, sort out all the NetBSD partition
types first and then the non-NetBSD types. Thus NBR\1 is always
assigned to sd?a, NBS\7 to sd?b, the whole disk to sd?c and
then the NBU\1's are assigned in the order they appear. Finally,
the non-NetBSD partitions are assigned in the order they appear
from slots 1 through 16 ommiting the already assigned NetBSD slots.
This allows for any partition type to be in any slot and for things
to just work AND that the NetBSD partitions will be assigned
before any non-NetBSD.