Subject: Re: Direct Booting?
To: Brendan Burns <bburns@wso.williams.edu>
From: Nyef <nyef@softhome.net>
List: port-mac68k
Date: 08/21/2003 00:40:40
On Thu, 21 Aug 2003, Brendan Burns wrote:

> I seem to remember some discussion a while ago about booting directly 
> into NetBSD from a floppy (e.g. without having to have a MacOS system 
> on a disk)  am I correct in remembering that this work (which I can see 
> has been going on for a long while) was close to completion?
> 
> If so, can someone send me a URL?
> 
> If not, what's the status?
> 
> Thanks in advance,
> --brendan

Well, I haven't touched it in quite a while. And it didn't work when I 
last messed with it.

It can load a compressed a.out kernel image from a boot floppy, and it
makes an attempt at setting up the environment variables, relocating the
kernel, and jumping to the entry point. Unfortunately, the new kernel
fails to start up or something, and it's really hard to get a debugger in
there to find out what's going on.

Yes, I said a.out. All of this was written before we switched to ELF. It 
-might- be able to load an ELF format kernel, but almost certainly won't 
be able to set up the environment for it.

The working tarballs are all at http://www.dridus.com/~nyef/macboot/ if 
you want to try your hand at getting it working. Note that some of the 
code is written assuming an SE/30 with 8 megs of RAM. Note also that the 
only way you will fit even a compressed kernel onto one floppy is if you 
use a 1.44meg floppy, which isn't supported by NetBSD (and no, I haven't 
spent much time recently on -that- problem, either). You will probably 
need a 1.5.1 system or something to compile it, as that's what I was using 
then and still use now.

So far we have demonstrated working code for taking over the boot 
sequence, accessing the keyboard, disk, and screen while in the boot 
environment, and loading some files from a filesystem on the disk. This is 
a major part of the way to having a working proof of concept booter. I 
don't know how much beyond that "completion" is, and it would probalby 
depend on what you mean by it.

Actually, I now have a couple ideas for more steps to take in trying to 
get this stuff running. I'll have to try and scare up some time next month 
to try them out...

Anyway, that's my story, and I'm sticking to it. I hope it helps you in 
some way.

---------------------------
All programming can be viewed as an exercise.
---------------------------
Alastair Bridgewater
e-mail: nyef@softhome.net