Subject: Re(2): New G3 PB?
To: Bob Nestor <rnestor@metronet.com>
From: Benjamin Herrenschmidt <benh@mipsys.com>
List: port-macppc
Date: 03/12/1999 16:53:07
On Fri, Mar 12, 1999, Bob Nestor <rnestor@metronet.com> wrote:

>Does this offer also extend to getting BootX working on the Blue G3?  I 
>thought I had read someplace that it was capable of booting NetBSD (and 
>MkLinux) but couldn't find it after I got my Blue G3.  When I tried using 
>BootX to attempt an installation of MkLinux on the system it got wedged 
>pretty bad.  I really wanted to run NetBSD anyway so it wasn't that big a 
>deal, especially after I discovered how to net boot NetBSD on the PPC 
>system from a NetBSD/mac68k system.
>
>But if you'd like to work together on getting BootX working for NetBSD on 
>the Blue G3 (or even non-PCI systems), I have the systems, CW Pro 3 and 
>some spare time.

Hum, I beleive the blue G3 doesn't need BootX at all, there is a
perfectly working implementation of OF on this machine.

The problems with this machine are more tied, I beleive, to some specific
HW devices that are not handled by the current kernels. Linux-pmac won't
boot the blue G3 at all and NetBSD will at least begin booting (it
displays things) and then fail.

Anyway, if someone want to make NetBSD BootX-bootable, the basic mecanism
is simple: BootX loads the kernel (and eventually a ram disk) in memory,
switches MMU off, re-order pages in memory to make the kernel, ramdisk,
and other infos pass by the booter contiguous, and then jumps to the
kernel entry point with a special "magic" value in a register, and a
pointer to a boot info structure in another register.

The boot infos mostly contains offsets to other structures relative to
the beginning of the boot_info structure itself (everything is relative).
This include a copy of the device tree (which have been slighly hacked by
MacOS but this only cause little trouble and usually only on PowerBooks
were we have special code to fix the registry), the color table, some
infos about the current MacOS display, a command-line, and that's it !

There are some more specific infos in BootX readme file (but not very
up-to-date) and I can change BootX itself (and make a special version
with a different name for NetBSD if people here prefer). BootX source
code is a little bit messy for now (original code is a 2 night hack) but
it's included with the archive on my web page.

-- 
           E-Mail: <mailto:bh40@calva.net>
BenH.      Web   : <http://calvaweb.calvacom.fr/bh40/>