Subject: Re: /dev/rom?
To: Bill Studenmund <wrstuden@loki.stanford.edu>
From: Michael R Zucca <mrz5149@cs.rit.edu>
List: port-mac68k
Date: 11/14/1997 00:49:44
> I doubt that will work any time soon. If we didn't need MacOS to boot,
> we could install different boot blocks on a drive and boot w/o
> MacOS NOW.

Personally, I wouldn't bother with the boot blocks. It would be
better/easier to make a partition with the booter written as
a "fake" system file. That way to switch to NetBSD from MacOS
you just set the partition with the booter on it to the boot
partition. Then to go from NetBSD to MacOS you do the reverse.
There'd have to be some new utils to do this but it is sort
of a mirror of the way they do it with OF on linux-pmac.

Also, it seems like the system isn't too far different from
an app. You could probably code the whole thing in code warrior
as opposed to boot blocks where you'd have to make a stripped
assembly block that would have to essentially load a second
stage booter from somewhere. Why make so much trouble for
yourself when you can have the ROMs take care of the job for you?

> The whole problem is that MacOS does undocumented things to get the
> machine going. Undocumented, model-specific things. So to boot w/o
> MacOS, we have to 1) figure all these things out, and 2) build
> a booter which would support all of them.

All of that stuff is taken care of before MacOS is loaded. The ROMS
practically have 50% of MacOS in memory before the system is loaded.
At the time MacOS actually gets run the memory map is setup,
many A-Traps are already available (basic SCSI and ADB manager
stuff, the slot manager), PrimaryInit has been executed on all the
NuBus cards, etc.

For NetBSD to boot from a booter like that probably wouldn't be too
much of a stretch and may not even involve one change from what
it does now.