Subject: Re: How to netboot?
To: David Wetzel <dave@turbocat.de>
From: William O Ferry <woferry@iname.com>
List: port-macppc
Date: 03/21/1999 01:16:27
David,

>there is no information on *.netbsd.org how a OF-Mac can be netbooted. I  
>searched Apple's TIL site but this showed me how to klick that on MOSXServer.

	I think it's largely because OF has had some pretty major differences
in each new model.  Apple hasn't seemed to agree on just how it should be done
yet, and ends up fixing some features and breaking others every time.  The
iMac and Blue G3's seem to have everything pretty much right, the latest
PowerBooks still seem to have rather broken versions of OF.

>I have a NetBSD/i386 box (alice) where I have a working (?) tftpd.
>It seems to work:!?
[...]

	Looks fine to me.

>In my view, it should be possible to boot a powerbook G3 (new current model)  
>via ethernet. My problem is:

	As I said in my response the last time you asked, I've tried several
different ways to get netbooting to work, and have yet to have any success.  I
have heard many people say that OF on the PowerBooks is largely broken, and my
own experience causes me to agree with them.

>* I do not have the right kernel? (I have boot.fs and  
>netbsd-macppc-generic-19981221)

	boot.fs would be wrong.  The PowerBook OF seems to expect an ELF or
XCOFF-style file at this stage of the booting, and boot.fs is neither.  You
want to feed it a NetBSD kernel.  Also note that you cannot feed it a
compressed kernel, again it won't be the right type.

>* I do not know what to type in the OF-Console

	cmd-opt-O-F to get into OF, then "boot enet" seems to be all it
takes.  However, no matter what kernel I feed it, it finds it's IP, grabs the
kernel (much faster than my Blue G3 does), then fails and falls back to the OF
prompt.  I've tried several different file formats (using objcopy to convert,
so maybe this is the wrong way to do it), and have had the following results:

kernel.ELF:	"Loading ELF
DEFAULT CATCH!, code=FFF00300 at   %SRR0: FF80AFD0   %SRR1: 0000B070"
kernel.XCOFF:	"Loading XCOFFbad o_magic"
And anything else I fed it gave "unrecognized Client Program formatstate not
valid"

The same kernel.ELF file loads with no problems on my Blue G3, so it's
acceptible ELF code to at least one incarnation of Mac OF code.  Presumably
it would boot an iMac as well.

I've also learned that once a boot fails on my PowerBook, tftp seems to time
out every "boot enet" afterwards until you reboot the machine.

>Is there nobody out there who can help me? What is different on an iMac here?

	A completely different version of Open Firmware.  One with working
netbooting, specifically...  =)

	There must be some magic trick to get it to work, however.  I heard
that one of the install methods for MacOS X is netbooting, and the installer
(you have to run a program that sets up the initial netboot for you)
installs some kind of patches into the NVRAM that fixes OF issues on various
machines, and it seemed that it can netboot PowerBooks, though it may be using
entirely new code it inserted.  It also sounded like they had some kind of
second-stage-like loader that it pulls in first, which might be more acceptible
to things like the PowerBook OF's seemingly picky ELF loader, etc.  If there
are any Forth gurus out here (I'd like to learn, myself) it might almost be
easier to make a second stage that maybe throws up a splash screen and uses 
it's
own code to actually load / execute the kernel.  The wait for the kernel to 
load
on a machine like my Blue G3 is pretty long, and you just get a grey screen
through the whole deal (no spinning "/" or anything like that even).  I have no
clue if Forth code could be pulled in as the netbooting code, or if you can
do any graphics with it.

	Sorry I don't have a better answer for you, AFAICT there isn't one.  If
you do find a way to get the PowerBook to netboot I'd love to know.  Hopefully
now that the desktops are doing it pretty well future PowerBooks will be able
to do it properly too.

	Good luck.


                                                          Will Ferry

-----------------
woferry@iname.com