blog · git · desktop · images · contact & privacy · gopher
2020-06-21
This is the only old machine that I have kept around. It’s from around 1995, I don’t remember exactly. Despite its old age, it’s relatively powerful:
It is slow by today’s standards, but the RAM and the NIC make it surprisingly useful. 8 GB for a disk is also more than you might think. It’s one “generation” after DOS (think 8 to 25 MHz, 70 MB disk tops, 4 MB RAM, something like that), it came with Windows 95, and was blazingly fast back then. It was the first time ever that I saw a video playing on a computer, while other programs could be run in parallel.
I installed OpenBSD 5.7 a few years ago. Time for an upgrade.
Originally, I expected this to be a very long blog post with a lot of nasty details. There are some obstacles:
So, how on earth would I be able to update that system?
What I did have lying around were some old 3.5" floppy disks. And much to my surprise, OpenBSD 6.7 offers a floppy image. I copied it to the floppy, booted, and … it just worked. It detected the NIC, requested an IP via DHCP, and then the installer was able to install a brand new OpenBSD via HTTP.
Holy cow.
What a humbling experience. On one 1.44 MB floppy disk, they have a working kernel, enough drivers to support my hardware, a working userland including a DHCP client, and a working installer. In 2020, where a simple “hello world” in Golang needs over 2 MB of disk space, this is absolutely mind blowing. Even when compared to other operating systems from the 1990ies, I feel like this is pretty impressive, because IBM PC-DOS came on what, 5 floppys? With no notion of networking whatsoever and virtually zero drivers? But to be honest, that’s so long ago, I can barely remember anymore what a vanilla PC-DOS felt like and which features it had, so I might be wrong.
Since there are virtually no technical details to blog about, here are some photos from the installation process. One of the last ones being me writing this blog post in X11. And the very last one? That’s katriawm, bevelbar, and (invisible but running) nhkd. Whoa.
After the photos, I’ll put some quick configuration notes.
Yes, it’s a GNU Gnu. Deal with it.
OpenBSD creates a unique randomized kernel on each boot. On that
old machine, this takes literally an hour. I have disabled both KARL and
library relinking in /etc/rc
. This should be done using ed(1)
directly after the installer has finished: It offers you to open a shell
and the filesystem on which you installed is still mounted.
The system has neither USB nor PS/2. I can only attach a serial mouse.
It doesn’t get detected automatically, so I have to create an
/etc/X11/xorg.conf
as follows:
Section "ServerFlags"
Option "AutoAddDevices" "False"
Option "AllowEmptyInput" "False"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "Microsoft"
Option "Device" "/dev/tty00"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "de"
EndSection
wsmoused
works too (but must not be running when X does), it
needs these flags:
-p /dev/cua00 -t microsoft