Subject: Re: formatter (was LC475)
To: None <kevin@spef.syr.ge.com>
From: Bill Studenmund <wrstuden@loki.stanford.edu>
List: port-mac68k
Date: 10/19/1995 10:43:17
> >From my recent test we don't support others.
> (This was purly for testing sizes are rather arbatary)
> Disk set-up
> 2M MacOS for booting
> 2M root slice 0
> 4M swap slice 1
> 8M usr  slice 2
> 8M Free A/UX slice 3
> 8M Free A/UX slice 4
> 8M Free A/UX slice 5
> 8M Free A/UX slice 6
> 
> Results:
> disklabel returned that there were _8_ partions (I realize it only looks
> for the first 8, but the map it returned had only 5 (4 not counting the
> whole disk) partions in it.)

Uhm, as I understand it, there are ALWAYS 8 partitions in a NetBSD/Mac68k.
The number is set by MAXPARTITIONS. I think on the Amiga it is 16.

The code which scans the partition table is in mac68k/disksubr.c.

>      size    offset   type
> a:   4096     4192    4.2 BSD    0    0    0  #(Cyl,   51*-101*)
> b:   8192     8288    swap                     (Cyl,  101*-200*)
> c: 262144        0    unused     0    0        (Cyl,     0-3196*)
> d:   4096       96    HFS                      (Cyl,    1*-51*)
> g:  16384    16480    4.2 BSD    0    0    0   (Cyl,  200*-400*)
> 
> That was it.  No e,f or h for the Free A/UX slice [3-6] (or [3-5]).

I think the problem is line 143 of disksubr.c. If a partition is a UNIX
partition (Apple_UNIX_SVR2), and it has neither the root, USR, or SWAP
bits set, it gets thought of as a nothing. Thus it doesn't get put in
the partition table. If we had some other cases which would generate a
return of UFS_PART from this routine, we'd see more partitions.

>From what I've seen so far, if you want more than 3 partions (root, swap, usr)
> you have to create multiple usr partions and keep a mental note of
> which one appears first on the disk as it is the one which will be used
> for sd?g.  The others will then fill in sd?d,e,f,h  in the order they
> appear on the disk.

Yep. It might be nice if we had more control over this selection. If we
did something different for labeling USR, then we could have a "I'm
root" flag, a "I'm USR" flag, and the others'd be e,f,h... I think we
skip d as the i386 port uses it for the whole disk (I think they make one
huge UNIX partition under DOS, and then break this partition up into
smaller partitions which are a, b, e, f, g, ...). I might be wrong. :-)

> Kevin
> kevin@spef.syr.ge.com

Take care,

Bill