Subject: Re: Network boot?
To: Lloyd Parkes <Lloyd.Parkes@vuw.ac.nz>
From: Anders Magnusson <ragge@ludd.luth.se>
List: port-vax
Date: 04/14/1996 14:12:03
> 
> > NetBSD/vax does not currently support root & swap over NFS. 
> 
> How come an NFS root isn't supported? I can understand the swapper not being 
> able to cope with NFS yet, but what's so special about the root?
> 
Oh, well, what I meant was that I have never looked at it, and
there are no way for the kernel to determine that it have been
loaded from network.

> > It should be possible to mop-load a kernel, but I haven't thought
> > so much about it. 
> 
> Since I have a diskless Vax, I have been working on booting via MOP. I don't 
> have (m)any docs, but I have had some success.
> 
> There seem to be two main problems with MOPing a kernel. 1) the kernel file is 
> in the wrong format, and 2) the kernel expects the processor environment 
> (memory, registers etc) to be set up in a particular way when it is started. I 
> haven't dug deep enough to confirm #2.
> 
#2 isn't so important. The only thing that the kernel expects when
it get loaded is:
* "howto" in r11; e.g. single, ask-for-root, etc...
* bootdevice in r10, in machine-independent format.
* end of symbol table in r9, if loaded with debug flag.
* the kernel is loaded att address 0 in memory.
* The memory management is turned OFF.

> I have written a small program to take care of #1. It just replaces the a.out 
> header with one more in line with what the MOP daemon expects, and then it 
> pads out program segments that need padding. I have succesfully downloaded the 
> boot program using this system, and the boot program executes flawlessly until 
> it decides that it doesn't know how to boot. 
> 
I think it works like this under Ultrix (long time since I were fiddling
around with it, but I think it works like this):
* load primary bootfile, netload?
* load secondary boot, vmb.exe?
* load the kernel.
I once tried to get a NetBSD kernel onto a machine using Ultrix
boot system, and it worked except for that one were forced to 
put some things in som internal regs "by hand".
What would be real nice is if one wrote code for the secondary
boot program so that it could be loaded via mop, and then it 
"takes over" and do the rest of the boot in some more normal way.
If this were done, VAXen that don't support netboot could be
booted anyway.

> > I also think that there can be a hard nut to crack to get UCX
> > act as NFS-serversystem for netbooted machines, but I don't know.
> 
> That is what NetBSD/sparc and NetBSD/i386 are for ;-)
> 
:-) 

-- Ragge