Subject: Re: Net boot question
To: Andy Ruhl <acruhl@gmail.com>
From: Alex Pelts <alexp@broadcom.com>
List: port-cobalt
Date: 11/14/2005 10:36:42
Hi,

> So we don't get lost in semantics, let's talk this through.
> 
> #1, how are you forcing the Qube to netboot? It doesn't want to do it
> on it's own, if you're talking about it loading a kernel over the
> network. I believe you must manually intervene to make this happen.
> Are you doing this?
> 

I am pressing 2 < > arrow keys on keypad to make Qube netboot. If that 
is what you are asking. I learned a lot about qube's netboot process 
over this weekend. Apparently it is loading kernel over nfs and booting 
it. It gets nfs server name from dhcp server, so I was able to suppy my 
own server.

> #2, The bootloader can be put in place of the real netbsd kernel, as
> long as you have an actual netbsd "a" partition to load the kernel
> from, and that kernel can then mount root over nfs. Is this what you
> are wanting to do? This removes the limitation on kernel size. Quick
> example:
> 
> On fdisk partition #1, ID 131 (linux), you have /boot/vmlinux.gz. But
> this is really just /usr/mdec/boot from NetBSD (gzipped of course),
> which knows how to find wd0a to boot a kernel from.
> 
> This is how I boot my Qube2. To make it mount an nfs root, you'd just
> need to tweak the config line in the kernel and rebuild it (see
> netboot guide).
> 
I am not only interested in mounting root over nfs, but net booting 
kernel as well. I would like to create restore cd like environment 
hosted by windows host. You know for the people that don't have a spare 
unix box. Like any geek I do not have a shortage of spare computers 
sitting in my garage but I want to keep my workplace neat and don't want 
another unix machine sitting around just in case I need to restore my qube.
The other reason I want to do this is to make a generic install/recovery 
platform so I can install and recover my qube with any version of netbsd 
which can be easy updated. These are my motivations. Original restore cd 
is based on 1.6.1 i386 kernel and has a hard time booting on my desktop. 
In fact it does not boot at all. I tried new 2.1 kernel and that does 
boot. Also original restore cd does not support my dell laptop and does 
not support PCMCIA network adapters automatically.

> I think it's highly valuable to explain a netboot environment using
> Cygwin. Please post details. This would be good info to go into the
> netboot guide (if it's not already there, I haven't looked for a
> while).

I was going to create a howto about it later, if I am successful. There 
is not much to it really. Cygwin is able to serve device nodes. 
nfs-server is a part of cygwin and works out of the box. The only tricky 
part is to map everything to root/wheel. For that you need to map to 
nonexistent userid. It will produce errors in the log but as a result 
you will get your mapping. I have not checked this further as I am not 
able to boot a kernel.

There is no dhcp server that comes with cygwin but I googled for one and 
after some time found one with the patch to make it compile. It works 
fine and qube is able to load kernel or at least to start loading. I had 
to disable dhcp in my router but that is an obvious thing.

That is basically it.

I remeber on linux there was a tool to change root and other command 
line parameters in the kernel image without recompile. Is there such a 
tool on NetBSD?

Regards,
Alex