Subject: Re: Mac m68k booting process?
To: Richard UNGER <runger@cs.mcgill.ca>
From: Allen Briggs <briggs@ninthwonder.com>
List: port-mac68k
Date: 09/05/2000 11:58:07
> Well as I understand it the 68k macs boot from their ROM - hence to
> completely replace MacOS, you have to replace the ROM. Knowing apple,
> there are probably no guidelines on how to do this. Macs just weren't
> designed to boot anything except MacOS...

This is almost the case.  IM V published information about how it looks
like you could boot a separate OS by putting the proper boot code in
the proper place.  However, I don't think it's been used and I expect
that it has problems...  Some of which have been outlined here.

If I recall correctly, the basic outline is that the ROM will find
the boot disk, then will read the partition map and find the boot
partition.  It will then (optionally) attempt to read a block of
code from the disk to a given address and execute that code.  If
that code was a first-stage boot loader, it could call some ROM
routines to load a second-stage boot loader, and we could then boot
fairly effectively from that.

As folks have noted, though, the ROM is often buggy and patched by
the OS (although the base ROM is probably "good enough" for getting
booted--buggy ROMs won't affect us except for the MRG where we don't
get the ROM patches anyway).

As someone else noted, we don't have full MacOS services at this point
in the boot and can't, for example, turn off video interrupts on nubus
cards reliably (or as reliably as we can once things are booted).  This
is true, but we do already know how to clear nubus interrupts on quite
a few video cards (even if we don't know anything else about them ;-).

Of course, it would be nice to able to get rid of the MacOS pre-boot,
but it would be quite a lot of work, and there are other things that
would be worth more to most BSD/mac68k (or Linux/mac68k) users.

For example: better sound drivers, more OSS/IOP support (linux has
working keyboard/mouse with IOP--we just need someone with time &
skill to get it working for BSD), improved/fixed SCSI drivers,
improved video support (Michael Zucca has been working on this for
four years or so--maybe it's close to being ready for prime time? ;-),
better interrupt scheduling, etc...

-allen