My dad found this puppy on the street. Someone decided to get rid of it, and put it out for grabs. Since it’s a nice compact looking machine we decided to give it a spin.
Originally the computer ran DOS, and judging from the software I found on it, it was used by someone visually challenged, for reading out text through the speaker.
Looking at the configuration I found that even though originally it is supposed to contain 4 to 8 Megs of RAM, and 84 to 250Mb HDD. It’s expanded to the last limits possible for the computer. I have 20Mb RAM with a blasting 1,3Gb HDD! Unfortunately the board only has a 486 SLC, running on a staggering 25Mhz, a 4 bit grayscale VGA adapter and a grayscale LCD with 640×480 resolution.
I HAD TO put Linux on this, no matter how slow it is to start with!
There are some issues concerning this install. To start with it doesn’t have any kind of optical disk, network adapter of any kind, USB was unknown to mankind at the time of manufacturing, as well as the memory cards of any kind. I only had the following options:
- Use the PCMCIA floppy that came with the puppy
- Use a serial cable and transfer the images using something like LapLink
- Use a parallel cable as above
So I decided to take the non-trivial alternative. I tore the laptop apart, along with my father’s other laptop. I removed the hard disk and put it in the other laptop. I’ve installed a clean install of Debian testing (just to make sure all the latest hardware drivers will be installed, if I happen to upgrade to P4 :-D), and put the disk back in the Aero. No luck. It haven’t got past the init phase, but did show some promise. So I decided against using a mainstream distrib.
The next attempt was to use a distribution aimed for this kind of beasts, the DSL (Damn Small Linux) This according to ancient scrolls scattered around the net, did run on similar machines. DSL is a tiny distribution, based heavily on busybox, and other tiny tools. The entire ISO image is only 50Mb. I’ve installed it on the disk and gave it a spin in the Aero. This is where things start to go wrong…
The Aero lacks coprocessor (in SLC, S stands for single, meaning that it has a 16 bit bus, LC means less coprocessor) This was natural in those times, you didn’t want too much float arithmetics, there no one heard of MP3 then, and JPEG was literally nowhere to be seen. This probably halved the energy consumption of the notebook, so I can’t blame them too much for excluding them. I however can blame the DSL guys for excluding the virtual coprocessor support from their kernel image. Come on, it’s not a single disk distrib any more, what harm would that extra few kilobytes bring to the kernel? Anyways if you are not planning to really support pre-486 computers, why build the image for 386 architecture? The 386-es did only have external coprocessors. Sometimes these things make me wonder…
This really crippled my style, instead of having the Aero up and running in two hours it took me almost a day to get it running. Not being able to hunt down any pre-built kernel for this, I’ve decided to roll my own. Fortunately all the kernel sources, and the configuration they used to build their kernel was available. Except for some patches you need to compile the kernel using current tools, and of course the madwifi drivers. After a couple of unsuccessful attempts, since I haven’t tried to build a kernel for over 5 years, I managed to get one running. Well if not running, at least up to the point, where it tried to mount the root fs, where I met the obnoxious error message:
EXT2-fs: hda1: couldn't mount because of unsupported optional features (4).
Going through most of the forums I’ve seen this in, I could not figure out what the heck this is supposed to mean. I knew I used ext3, why does it want to mount it as ext2? And since it’s backward compatible, why can’t it? A quick check on the other laptop revealed it can’t boot either. So I rebooted from the LiveCD, having a hunch. After booting I issued fsck /dev/hda1, and yes this was it! The volume reached maximum mount count and it seems I lack some kernel feature (or maybe something else, I should need to look in the automatic fsck in more depth) and the system check could not be performed.
I plugged the disk back in the Aero and it booted up, started the X so I checked the /proc/cpuinfo.
OMG! 28.2 bogomips!
More on my adventures with this later. 🙂