Installing NetBSD 0.8 on Bochs
I found an archive of NetBSD 0.8a on the web. Strictly this installation archive should not be distributed due to source code licensing problems dating back to the 90s. However the owners are unlikely to pursue this now.
I cannot get it to install on Virtualbox. The installation hangs during the second floppy being copied onto the hard drive. I cannot get floppy disc support working on Qemu either. So to install NetBSD 0.8a I used bochs on a NetBSD system.
Please refer to the installation guide.
1. On the host, make a sandbox directory netbsd08 and cd there.
2. Create a hard disc image. We will use 1000 cylinders, 16 heads and 63 sectors/track. We need to work with disc geometries because the installer is very basic.
C 1000 H 16 S 63 Sectors = Cylinders * Heads * SectorsPerTrack
Therefore there are 1008000 sectors in total. A sector is 512 bytes. dd does the magic for us:
dd if=/dev/zero of=bochs.img bs=512 count=1008000
3. Install bochs
pkgin install bochs
4. Run and configure it using the following options:
bochs 3 12 1 (First Floppy Drive) 5.25" 1.2M ....path..to.../netbsd08/kc-aha.fs 1.2M no inserted 4 (First HD/CD on channel 0) disk bochs.img flat
5. Then boot the image. When you need to change discs, use the Config button and change the floppy image to install1.fs2.
6. Follow the instructions in the installer. You’ll need the C H S numbers above. Once finish, reboot the system with the kc-aha disc,
7. Similarly on the first hard disc boot you’ll need install2.fs in the floppy drive.
8. After this step, halt BUT DO NOT REBOOT.
9. Mount the disc image on the NetBSD host system
vndconfig /dev/vnd1 bochs.img mount /dev/vnd1e /mnt cd /mnt && mkdir distrib
Copy all the sets base08.??, etc to distrib. This is cheating. In the old days you’d be inserting floppies. The latest NetBSD is still able to cope with the NetBSD 0.8 file system.
10. umount /mnt. Restart bochs
11. Following the installation guide, extract the sets. You can skip the load_fd stage because of the copy in the previous step. Use set_tmp_dir and extract base08 and all the other sets.
12. Run configure.
13. After a reboot you have a working 0.8a system.
To convert the image to Qemu
qemu-img convert -f raw bochs.img -O qcow2 qemu.img