Subject: Re: Changes to Apple Partitioon Map handling
To: Bill Studenmund <wrstuden@zembu.com>
From: Bob Nestor <rnestor@augustmail.com>
List: port-macppc
Date: 08/14/2000 21:20:04
Bill Studenmund wrote:

>Oops. I don't know if I sent this or not...
>
>On Fri, 11 Aug 2000, Bob Nestor wrote:
>
>> Bill Studenmund wrote:
>> 
>> We don't currently define all the areas of the A/UX extension of the map 
>> entry in our disklabel header.  When I did the sysinst/mac68k code I 
>> included the missing definitions and used some of them to store values 
>> during partitioning.  While it's not absolutely necessary that we 
>> preserve these areas for sysinst use, it might be nice. ;-)
>
>Even if we don't use them, we should include them in the definition just
>for compatability. Hmmm... macppc's disklabel.h includes some of these
>fields.
>
Agreed.  I defined my own version of this part of the disklabel when I 
did the sysinst/mac68k code but it should be included in both mac68k and 
macppc disklabel.h.  The only reason I didn't do it at the time was I was 
trying to keep changes to a minimum number of files until I had sysinst 
running and got buy-in from others on the approach I had taken.

>> NetBSD and/or sysinst/mac68k currently uses:
>>    the magic, type and root/usr/crit/part of the flags word and the 
>> mount_point name
>
>??
The Magic field is just a fixed word value indicating the area is in use 
but A/UX or NetBSD (and probably OpenBSD and Linux as well).  The Type 
field was used in A/UX for filesystem type and we still seem to require 
it for NetBSD.  The Flags word is a 32-bit value that we only defined as 
having two bits, the root and usr bits.  I found some more complete 
documentation on it and discoverd a "slice" field that A/UX apparantly 
used.  Allen at one time suggested using it to separate NetBSD 
filesystems from Linux-68k.  This was in response to the Linux-68k folks 
bitching that NetBSD and Linux couldn't cooperate on partitions if they 
were both on the same disk.  There were 24 other bits that were left 
undefined.  I used 16 of the for a partition number in sysinst when I do 
the disk partitioning.  The other 8 bits are available.  As for the mount 
point that also came from A/UX and I used in sysinst to help me remember 
how to initialize fstab.

>> However, I'd like to propose that we define a new structure that we tuck 
>> into the area reserved for ABM expansion.  This area contains room for 7 
>> 32-bit words and should be more that enough for what we need.  That way 
>> if anyone or anything chooses to use the other already defined fields 
>> that we don't we shouldn't have any conflicts.  If we feel we need more 
>> room we could take the three 32-bit words currently reserved for the abm 
>> itself giving us a total of 10 contiguous words.
>
>Where is the stuff reserved for ABM expansion documented?

I don't recall where I found it - Inside Mac, MkLinux pdisk, Think Ref, 
old Think C or CW.  It's all in the disklabel.h in sysinst/mac68k though 
(along with the few little things I added).  From the comments I recall 
seeing in the writeups I read nobody at Apple really believed the ABM 
would ever be extended though.

-bob