miboot documentation?

Rick Thomas yellowdog-general@lists.terrasoftsolutions.com
Sat Apr 5 01:10:01 2003


Good point about turning off VM.  I've managed to get enough of MacOS to run
BootX and nothing else into under 150MB.  This is with MacOSv9.1 on a
PowerMac 6500 with 96 MB RAM and a 2GB disk.  Maybe v8.6 would be even
smaller...  Maybe I can save even more by making sure VM is turned off.  I
might be able to get it under 100MB.  I'll explore that option and let y'all
know what I find out.

With miBoot, you still need an HFS partition, as well as all the other funky
Apple partitions with drivers and partition tables, etc.  But the total size
of the "overhead" partitions is pretty minimal -- about 10-20 MB.

Basically miBoot is an HFS partition containing nothing but a "blessed"
system folder with a Finder program, a program called System, and one or
more Linux kernels.  This is enough to fool the Mac boot ROM into thinking
it's looking at a real MacOS partition.  The System program is actually a
second-stage boot loader that uses only Macintosh firmware calls to read its
configuration file, load a Linux kernel (pointed to by the configuration
file) into memory, and pass it control.

The reason you can't use miBoot with NewWorld machines is that they have the
Macintosh firmware code on disk -- not in actual ROM, where miBoot is
expecting to find it.  I suppose, theoretically, miBoot could read the
Firmware file using NewWorld Open Firmware Forth language calls, and load it
into RAM before loading the Linux kernel.  But it doesn't do that.

>From reading the stuff I found via google, I know pretty much what miBoot
does, and approximately how it does it, but as they say, there's God and the
Devil in the details.  It's the details part I need documentation on.

There's a *truly* minimal boot program called "quik" which uses OldWorld
Open Firmware parameters as a first stage boot loader to load a second stage
loader at a particular hard coded location on disk. The second stage loader
in turn loads a kernel directly from the Linux root partition.  However, the
OldWorld Open Firmware came in many different versions, each with its own
unique set of bugs, so the procedure for installing quik is very specific to
which  particular Mac model you are on.  It's not altogether satisfying
unless you really need to eliminate the last vestiges of Apple software or
you have serious moral objections to using a full fledged OS as a boot
loader.


Rick

on 4/4/03 8:16 PM, mike newman at mwnewman@math.uwaterloo.ca wrote:

> (like me) you have "old world rom" and that you
> basically have no option: you need that macos partition.
> 
> however, you certainly don't need very much of a macos partition. back
> when i had only 2gig i had a separate macos 8.6 partition that was more or
> less functional, yet took <400mb, including swap. now it seems that if you
> were to create a macos partition with no applications at all, no
> extensions, no control panels, no internet support, no swap ..... in short
> just the absolute minimum system folder plus bootx, you could possibly get
> to a point where the real estate on your disk would be negligible. also
> make sure you turn off virtual memory in macos, otherwise it will require
> space on your mac partition equal to your RAM. it's a little inelegant
> (either that or the world's most powerful bootloader :-) but i don't know
> of a way around it.