On the Internet with 2.11BSD

With the DEQNA booting nicely, it was time to get an OS configured to use it. The obvious candidte was 2.11BSD, as it includes a TCP/IP stack and plenty of Internet software. As the initial installation runs with a generic kernel, including support for networking and the DEQNA would require compiling a new one. This should be done anyway, as the generic kernel is far from optimal for most systems.

I'd already had a crack at compiling a new kernel for my specific set-up, but this wasn't going anywhere. Whatever I tried, the kernel just wouldn't link. I'd recommend trying out new kernel configurations on an emulator before building them on a real PDP-11. On the emulator, it took just a couple of minutes to build, compared to almost that many hours on the 11/73!

What I learned from this article External link was that the system places specific limits on the sizes of the base kernel code and all of the overlays, which are used to include extra code which doesn't fit in the base. Up to now, I'd assumed the base was too large, but the size command showed that overlay 6 was the culprit. I therefore moved a couple of objects from here to overlay 5, which was relatively small. This is done by editing the makefile in the directory created by the config script.

With that fixed, I made a new configuration on the real PDP-11 and fired off the make command. It was then time to go off and do something else, as it really does take too long to sit and watch... The process got through the linking stage and, just as I thought things were going right, I got an error message telling me the resulting kernel was about 2K too big in the data department. Sneaking in those couple of extra features before testing on the emulator had been a bad idea! A little more tweaking was in order, but I had the working configuration on the emulator to help me through it.

Booting with the new kernel, it was obvious that the DEQNA had been detected as a couple of lines are printed between the first banner and the memory figures. Configuring is a case of editing the hostname, broadcast address and default gateway in the /etc/netstart script, although note that the IP address is grokked out of /etc/hosts so you'll need to add your hostname there too.