Subject: Re: Possibly moving the start of the disklabel in NetBSD-only disks
To: Bob Nestor <rnestor@augustmail.com>
From: Bill Studenmund <wrstuden@zembu.com>
List: port-macppc
Date: 08/11/2000 17:27:46
On Fri, 11 Aug 2000, Bob Nestor wrote:

> Bill Studenmund wrote:
> 
> >Hmmm.... For non-OF systems we might use the Start manager. But we could
> >just say that we don't support booting NetBSD-only disks (ones using a
> >struct disklabel) on those platforms. We certainly can use Apple
> >partitioned disks there, and thus won't run into the overlap. :-)
> 
> Unless someone tries to move the disk between OF and non-OF systems, 
> right?  I can't boot NetBSD/macppc on my 5320 system so it would have to 
> use something like the Start Manager to boot (when it's supported).  But 
> if I take that disk to my G3 I couldn't boot from it, or if I created it 
> on my G3 I couldn't use it on my 5320.  Am I missing something here?  

The thread was focusing on what to do about the overlap between a struct
disklabel in sector 0 and the driver entries. For new disks, we are not
required to continue puting a struct disklabel on there, so we can avoid
the problem. :-)

In general, I'd like to depreciate shoving in struct disklabels in favor
of using Apple Partition Maps. We should always be able to READ struct
disklabels, but I think our default should be something more compatible
with the other OSes which run on our hardware. :-0

Hmmm... There is the difficulty that bootxx, the loader which we shove
into the partition, won't work without open firmware. :-( The StartManager
booter is quite a different beast than the OF boot loader.... Hmmm....

> Wouldn't it be cleaner to have a format supported by all macppc systems?

Yep, and my suggestion for that will lack the struct disklabel which
causes the problem.

> Also, how about making bootable CDs that boot via the Start Manager?  Is 
> this possible by setting up Block0 so that all four ddType entries point 
> to a partition with ofwboot or possible the Installation Kernel?  Would 
> the Start Manager then fetch the code from CD into RAM and pass control 
> to it?  If so we could select a different value for the ddType and set 
> that with a MacOS Control Panel which sets OSDefault.  Isn't this what 
> MkLinux does?  If that's the case all we need to do is run something like 
> "mkmacbootcd" on the ISO image created by mkhybrid to patch up Block0 and 
> the Partition Table and add the bootable code in another partition at the 
> end of the CD.  I haven't tried it yet, but I've got most of the code 
> already written to do this.

If we have a struct disklabel in block 0, we can't have more than one
"driver" listed in the driver table. The second entry's length will
overlap with the disklabel magic number.

But, not struct disklabel, not problem. :-)

Take care,

Bill