Subject: booting vs2000 diskless from linux
To: None <port-vax@NetBSD.ORG>
From: Vincent J. Arkesteijn <vincent@mat002102.student.utwente.nl>
List: port-vax
Date: 03/16/1997 16:29:17
Hi,

> It would be very good if some Linux guy could try to install this
> and document every step needed, so that it can be put up on the FAQ.
> 
> -- Ragge

After some trial and error, I managed to boot my vs2000 from a linux box.
I have it up to and including starting the kernel.

First, you need mopd to send the bootfile to the vax. On
ftp://ftp.stacken.kth.se/pub/OS/NetBSD/mopd/mopd-linux-2.5.3.tar.gz
you can find a mopd which compiles without any problems. Then, you
create /tftpboot/mop/.

In that directory, you put the file
ftp://ftp.netbsd.org/pub/NetBSD/arch/vax/snapshot/boot.mopformat
Now, you need to know the ethernet address of the vax. On the boot
prompt of the vax, you type 'test 50'. On the line starting with 'ID',
you can see the ethernet address. Then, you make a symlink in /tftpboot/mop
xxxxxxxxxxxx.SYS -> boot.mopformat (with xx your ethernet address, without
any dashes or colons). Now, you can start mopd with 'mopd eth0'.

After loading the boot-file, the vax will send a rarp request to find out
it's ip number. To be able to answer this request, linux has to have
rarp enabled in the kernel. This involves reconfiguring, recompiling and
installing the linux kernel. Then, linux must know which ip address to
give to a certain ethernet-address. For this, you use /sbin/rarp.
I put the line '/sbin/rarp -s VjAX1 08:00:2b:0c:c0:9b' in /etc/rc.d/rc.inet1
(VjAX1 is the name of the vax, as declared in /etc/hosts, and the long number
is the eternet address of my vax).

After RARPing, the vax wants to know where it can find its root and swap
fs. It can be told via bootparam. This was the hardest part. After some
unsucessfull tries with the rpc.bootparamd supplied with
Linux-Xkernel-2.0a.tar.gz (which is a rather complete package to use old
sun3's as an X-terminal with a linux server), the bootparamd in the
NetKit-0.09 did compiled wihout problems. You van find this at
ftp://ftp.uk.linux.org/pub/linux/Networking/base/NetKit-0.09.tar.gz
(or on any sunsite or funet mirror). First go to the rpcgen directory
and type make, then go to the rpc.bootparamd directory and type make.
The bootparamd needs a configuration file, /etc/bootparams. Mine
looks like this:
VjAX1 root=bla:/mnt_vax/NetBSD/root swap=bla:/mnt_vax/NetBSD/swap
(with bla the name of thelinux box). root should contain some root fs,
but now only contains the kernel, named netbsd, which is the same as
ftp://ftp.netbsd.org/pub/NetBSD/arch/vax/snaphost/netbsd.GENERIC

Of course, for the vax to be able to nfs-mount its root and swap, the
linux box has to have an nfs server running. You do this by putting a
line like
/mnt_vax	VjAX1			(rw, no_root_squash)
in your /etc/exports and starting /usr/sbin/rpc.portmap,
/usr/sbin/rpc.mountd and /usr/sbin/rpc.nfsd.

Now, your vax should be able to boot NetBSD. With my setup, the kernel
stops with

warning: no /dev/console
init: not found
panic: no init
Stopped at      0x80009a2d:     ret
db> 

because I only have the kernel in the root fs. I don't have time right
now to make enough space and install the whole root fs, but I think
it should work without any further problems.

Good luck and have fun.

Vincent.
-- 
%! v.j.arkesteijn@student.utwente.nl     pa3gog@pi8daz.#twe.nld.eu
gsave 12 setlinewidth newpath 72 72 moveto 468 216 rlineto -468 216 rlineto
468 216 rlineto 306 612 moveto 0 -216 rlineto stroke showpage grestore