Wednesday 29 April 2009

NetBSD, BBS and VAXen...

NetBSD intrigues me. It runs on like a zillion platforms, and has supported VAX hardware for a lot of years. After several failed attempts I finally got my VAXstation 4000/90 to netboot. A triumph of bloody minded configuration. The problem is that the documentation, whilst very good, is out of date and doesn't quite get you far enough. So I thought I'd add my brief information to the mix.

First up, if you're serious about making this work then you'll need another platform to run NetBSD on which is easier to install from. For this read: doesn't require netbooting. I had my hand forced by my recent agreement to host the Retrochallenge BBS. The tarball that I was given wouldn't compile up under my SuSE 11 linux box without some serious hacking (within the nitty-gritty of the terminal-based IO code) so I enlisted the help of my aging but still solid Dell Inspiron 7500 laptop as a new host. The choice of the platform was driven by thee criteria: I own it already, it is small and it consumes little power. My wife is a little frazzled with my hardward collection. That covers the first two. Our electricity bill is obscene (but on a par with the neighbours). The Dell laptop consumes 15 watts when idle. I consider this very reasonable given that it will have to be on 24/7.

Anyway, the bit I was missing when netbooting the vax was that you need to have a custom DHCP server to tell the target VAX where it can find its' root NFS mount. This means turning off the DHCP server in your router and turning on the dhcp server on a suitable box - in this case my Dell 7500 which now runs all the time.

My dhcp.conf file looks like this:

# Setting DHCPD global parameters
allow unknown-clients;

ddns-update-style ad-hoc;

# Set parameters for the 192.168.1.0/24 subnet.
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.21 192.168.1.70;
default-lease-time 604800;
option subnet-mask 255.255.255.0;
option domain-name-servers 158.152.1.58, 158.152.1.43;
option domain-name "appsoftint.co.uk";
option routers 192.168.1.20;

host aleph {
hardware ethernet 08:00:2b:34:4d:6f;
fixed-address 192.168.1.248;
next-server 192.168.1.252;
option root-path "/export/aleph/root";
}

host mirrorbow {
hardware ethernet 00:04:a3:00:00:00;
fixed-address 192.168.1.199;
}

host netfs1020d {
hardware ethernet 00:c0:ee:d5:6c:ae;
fixed-address 192.168.1.198;
}

host xpsgen2 {
hardware ethernet 00:12:3F:D1:CA:46;
fixed-address 192.168.1.42;
}
}

The host entry aleph is the VAX. The name aleph comes from a VAX connected to a cluster I worked with when I worked for Cyberscience Corporation between 1991 and 1993. I'm sure a wikipedia search will throw some light (well I thought this, but maybe not. The name aleph comes from a computer featured in the classic/cult TV show Blakes-7. There were three nodes in the cluster named after computers in Blakes-7: orac, aleph & zen). Host mirrorbow is documented in my other post about the Java/Swing controller app I use, netfs1020d is my Kyocera FS-1020D connected to the network and xpsgen2 is the Dell laptop I'm using right now.

I mention all this because it took several aborted attempts at net installing NetBSD on a VAX before I hit this piece of knowledge (a quick email exchange which, by its' very nature might not have happened).