FreeBSD – light and fast

by hobbitalastair

Inspired by this post on K.Mandla’s blog, which neatly coincided with the temporary acquisition of an Acer Travelmate 202T, I looked at getting the ancient laptop to work again. I did succeed on some counts…


I’ve been playing around with FreeBSD, mostly because none of the Linux distros that I tried would boot in 64MB of RAM, which is what the Acer had to play with. I tried Arch Linux – it requires over 128MB to boot in a Qemu VM (!). I tried Slax, which ‘booted’, but never presented a login prompt, despite leaving it for half an hour. Crux requires 64 bit. Thesss refused to boot. AntiX fell over. ttylinux refused to boot – I’m not sure why. Even FreeBSD fell over when presented with only 32MB of RAM, although it had a good stab at booting, reaching the stage of launching getty before stopping. I didn’t try either Tiny Core or Puppy Linux. Puppy is too heavy for my purposes; I tried Tiny Core before and didn’t really like it.

FreeBSD it is, then.


FreeBSD is a member of the BSD family, descendents from the original Berkeley Software Distribution. Similar to both Linux and Darwin, the core of Mac OSX, FreeBSD has many of the tools that other UNIX descendents have, and made a sensible choice for a temporary system for this computer. However, installing FreeBSD on a system with limited RAM is challenging, since booting from the Live CD failed with only 32MB of RAM. Actually, I’m not sure how it will run once installed in 32MB of RAM either, but according to my Qemu VM, it should boot. Because FreeBSD is a modern OS, it should also support one of my two USB wireless dongles, letting me connect to the internet – right? More on this later…

The technique for installing FreeBSD on a computer with 32MB of RAM is somewhat complex. First, get another computer. Yes, really. Unfortunately, having a non-booting computer limits the options a bit. Swap the hard drives, install FreeBSD, and then swap them back. Simple – right? The Acer TravelMate 202T was used as the go between, since it also had a laptop (E)IDE drive.


FreeBSD booted, albeit with issues. Progress, just maybe not far enough…

The first issue is related to the HDD speed. Unfortunately, it is limited to PIO4 in FreeBSD, even though the actual HDD supports UDMA5. The hardware specs say that the machine supported DMA2, but despite my best efforts I cannot find a way to force FreeBSD to use DMA2. For now, I will have to let that one slide.   The HDD speed wouldn’t be so much of an issue if I had more than 32MB of RAM to play with. During normal usage, with Vi, I manage not to pressure the RAM to much. However, I quickly run out of RAM if I try running much else…

FreeBSD also refuses to work with both of my USB wireless. The first (small, unlabeled, RTL8188CUS based) USB wireless connection fails with ‘timeout waiting for MAC auto ON’. I can’t even get it to scan… although it works fine in Linux.   Meanwhile, the overpriced Cisco RT3070 stick, which sticks out around 2 inches from the back of the machine, starts off well. According to the output of

wlandebug -i wlan0 +auth+debug+assoc+scan

it scans successfully and finds the target network. However, scanning is spotty – it only detects the network the first time that the base interface (in this case, run0) is made ‘up’. This is not just a FreeBSD problem; I had the same issue on Debian. However, I thought that that issue was fixed?

A ‘quick’ fix is to remove the dongle each time I need to connect to a network. Unfortunately, it gets to the stage where it tries to do the 4 way handshake with the Airport Extreme Base station, then fails, complaining that the pre-shared key was incorrect. The password is correct, however…


For now I am leaving FreeBSD. But I may return – if I can get an internet connection…

I plan to have another go at LFS, or perhaps just recompiling the Arch sources to suite the i586 processor. We shall see…

Advertisements