Subject: Re: Amiga NetBSD different from other NetBSD?
To: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
From: Rob Healey <rhealey@kas.helios.mn.org>
List: current-users
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.

	    -Rob