I decided to install NetBSD on my old laptop. I’ve been meaning to play around with the BSDs for a while, but only recently got around to doing so. Why NetBSD specifically? That’s a funny story, actually.
I was messing around with rump kernels and read that their device drivers come from NetBSD. This makes a lot of sense, because they’re the portability focused BSD. (Open does security, Dragonfly does performance, Free does something…) So I thought it might be instructive to mess about with the source.
The install is pretty easy as far as these things go. Setting up the network (on WiFi no less) was automatic, which is better than Linux at times (WiFi on that laptop has given me headaches, even though it’s a bog standard Atheros).
The install only had one hiccup which would’ve stumped a newbie. Since I had a GTP partion table with a protective MBR and GRUB installed, the auto partioner did something strange and the bootloader didn’t get installed properly. I was able to figure out how to use the bootloader on the install disk to boot into the system and fix it.
The system installed the BSD disklabel into the protective MBR partition (which started at sector 1), but the root partition therein started at sector 34 (after the GPT tables). Which meant that the MBR boot block (which never got installed, for some reason, perhaps they expect a workable DOS style one to already be there) couldn’t find the partition’s boot block.
After a few false starts, I was able to fdisk the MBR partition to start at 34. (I also changed it’s type to NetBSD, not that it mattered much.) Once I marked it as active and installed the MBR boot block, everything worked.
If I’d have applied my old procedure of zeroing the first K or so of a HD before a new install (adopted as a surefire fix for Windows installers that balked at anything the least bit unexpected), it probably would’ve gone fine. (I kinda want to test this theory.)
Anyway, once I got that fixed, I started to play around. The base system includes a fairly basic un*x setup, complete with X and build tools, but not much else. I enabled XDM during installation and while X worked out of the box, when I logged in, I was greeted with TWM. I haven’t use TWM since I tried running Gentoo for a while (which this kinda reminds me of). Also, there’s no browser (that I noticed) at all.
I installed Firefox binaries (which are about twenty versions out of date) and XFCE (moldiness unknown, I didn’t check) and things where much nicer. (Once I remembered which config file I had to hack to change my window manager. XDM apparently doesn’t understand the way modern desktop advertise themselves to display managers.) I’m thankful I decided to setup pkgin during installation.
It’s unfortunate that there’s not a handy Chromium build. There’s a work in progress port, but nothing quick and easy. So I decided to use pkgsrc to build a more recent Firefox before attempting to compile Chromium. Unfortunately pkgsrc isn’t smart enough to continue an interrupted download, so I don’t know if I’ll ever get the sources downloaded, never mind compiled.
If I’m going to be building a lot of packages for this box, I think I ought to figure out how to cross compile them on my desktop (which has way more MHz, cores, RAM, etc.).
So, after a couple of attempts, the Firefox build failed. I never attempted the Chromium build. I must admit, I’m kinda’ disappointed; I was really hoping it’d be fairly painless. I’m a long time un*x user, I don’t need extensive hand-holding (like Ubuntu or Mint), but the whole point of a ports tree is to have seamless package installation. If I wanted to debug a faulty build process, I could just download the upstream source packages myself.
On the plus side, I redid the install after zeroing the first K of the HD (“dd if=/dev/0 of=/dev/rwd0d bs=1k count=1”) and the bootloader installed just fine.