I was planning to go traveling, and I wanted to bring a laptop with me so I could do some writing on the road. Computers have completely spoiled me, and now I can no longer write on a notebook with a pen or pencil. It has to be a keyboard. Its not that I have forgotten how to write with a pen, its just that I am driven mad by my inability to insert, delete, copy, paste, and spellcheck those little inky squiggles that I put on the flattened wood-pulp. (Okay, I am lying. I don't really care about the spellcheck at all)
I have a nice Thinkpad 600 running Debian Linux, but I was somewhat worried about it. I would hate to have it lost or stolen or damaged. After all, I was going on vacation to relax, not to worry about my laptop. Plus, the TP 600 is kinda large. I was planning to travel light, and my laptop just didn't quite fit that plan.
I was looking in the closet-o-defunct hardware at work, and spotted a couple Compaq Contura Aero 4/25 laptops. They caught my eye because they were so small. I pulled one of them out, found it's matching power adapter, (because of course all the batteries have been dead-dead-dead since 1994), and turned it on. I soon discovered that this was not the first time I had pursued this particular idea. In a burst of deja-vu, I recalled that a couple years ago when I was first getting into Linux I had briefly tried to get Linux running on one of these laptops, with partial success. I still had a UMSDOS installation of Monkey Linux on the system. It was able to boot, and could even run X (which I must say looks pretty funny at 320x200 resolution) but it really wasn't quite what I needed, in particular it lacked PCMCIA support so I was dead in the water as far as networking goes.
The Contura Aero is really a very small laptop. It is about the size of a hefty Bible. I read at http://www.cns.nyu.edu/~masmith/aero/ that it gets up to four hours of battery life, which is pretty cool, especially for its age. Unfortunately although I found not one, not two, but six batteries in the closet, every single one was stone dead, and a couple were even shorted out. However, that is no matter, on AC power the Contura Aero will boot even with no battery installed at all, so that makes it that much lighter. Besides, I only wanted it for use in hotels and cybercafes, not in the middle of a hike or something.
I had a dilemma. How was I supposed to get Linux installed? I did not have the PCMCIA floppy required to boot from, nor did I have a PCMCIA CD-drive. Fortunately the existing DOS installation had a copy of the old DOS version of Lap Link Pro on it, and so did my Windows box. I first cleared as much disk space as I could possibly spare, and then transfered over a non-destructive partitioning utility (good old PQMAGICT.EXE 3.0) and Debian 3.0 install disk images. I resized my DOS partition down to 20mb, leaving 140 mb for Linux (yes, I know, isn't that insanely small?!)
The Debian install system booted right up, showed me the Penguin logo, and got as far as saying "Compressed image found on ramdisk" (I am so terrible at remembering exact boot messages. Sorry.) but then it just hung there.
I figured it might be insufficient memory. Debian claims a minimum of 12mb, and all I had was 8mb (4 is standard for the Aero, but I found a 4mb upgrade chip to add). So I tried Debian 2.2 (potato) figuring it might be a little friendlier to my ancient system. It was. It worked. However, it would be very voodoo of me to say it was because of the memory. There are plenty of things different between Debian 2.2 and 3.0, and I can only guess which one might be responsible for the breakage in compatibility with the Aero. (or I could have just been doing something stupid. That has been known to happen from time to time.)
Installation went fine up until it asked me to install the Kernel and Modules. I usually do this step from a handful of floppies, but there was no floppy drive to be had. My next option was to try the network card. I popped in my PCMCIA ethernet card, but of course I couldn't use it yet, because the drivers it needs are in the kernel modules, and those were exactly what I was trying to install.
Luckily I found that FAT filesystem support had been compiled into the installation kernel, so I was able to mount my tiny little DOS partition and look for the files there. It took me quite awhile to figure out exactly which files it wanted and exactly where I needed to put them, so I had to reboot and go back to LapLink a few times before I got it right. I will list here the files that I actually ended up using, and the pathnames both in DOS and during installation:
C:\DEBIAN\POTATO\ INSTALL.BAT ROOT.BIN LOADLIN.EXE RESCUE.BIN LINUX COMPACT\ DRIVERS.TGZ
Note that that is not the same file layout you get right off the Debian ftp site. I only wanted the smallest possible set of files. I edited the INSTALL.BAT file to adjust for my fiddling with path names.
loadlin linux root=/dev/ram initrd=root.bin disksize=1.44 flavor=compact mem=8m
I chose to mount my FAT partition as /dos so during installation it was available as /target/dos
After installing my kernel and modules I was able to set up PCMCIA with no problems, and then configured my ethernet card. (I took a break at this point to learn how to set up a BOOTP/DHCP server on a different workstation, as that seemed the right way to configure a laptop that I hoped to use in cybercafes (plus I have been wanting a DHCP server for work anyway, so I killed two birds with one stone))
Installation was slow. Painfully slow. I gave my little swap partition a serious workout.
I mean painfully slow.
No, I don't think you comprehend yet just how slow it was.
I am searching for words here... Lets see. I have seen glaciers recede faster than those files installed.
Well, no, not really. I don't actually spend much time sitting around staring at glaciers. But I was just trying to make a point. It was slow.
As far as I can figure it out, the slowness comes from the fact that Debian's apt and dselect utilities work with the entire package list in memory. Thats fine on a normal system, but on an 8-megabyte laptop, that means every operation on a list of several thousand packages results in several thousand swap-partition accesses.
The "[U]pdate" stage in dselect took only seconds to download the package lists, but almost three hours to get past the "Replacing available packages info, using /var/cache/apt/available" stage!
It took another two-and-a-half hours just to get into the "[S]elect" step in dselect
Then selecting or deselecting any package that had dependencies or conflicts resulted in another five minutes of waiting.
I found that I was able to shave a little time off that by paring down my /etc/apt/sources.list file to the bare minimum, no deb-src, no non-us, no contrib, no non-free
I also made a mistake. Because I was using Debian 2.2, I *should* have changed "stable" to "potato" in the /etc/apt.sources.list file, but it didn't. This meant that it made me upgrade all the base packages to Debian 3.0. It also means that there were way more packages in the list, slowing down my install.
But I am a patient man. I set it to work downloading packages, and checking back every hour or two to see if I needed to press a key. Three days layer, I had a working Debian 3.0 system! (I think only about six or seven of those hours were really necessary. Most of the rest of the time, the system sat idle waiting for me to return from work, class, lunch, kayaking, or sleep, so I could press the "enter" key and move on to the next step)
Now I don't want this tale to discourage other people from trying Debian. Debian is my favorite Linux distribution by far, but I must encourage others to obey the part of the "Minimum system Requirements" that says you need at least 16 megabytes of memory to install.
But I had it! I could boot to a bash prompt! I could run my favorite text editor (nano) for my writing. I could ssh into other servers to read my mail and such. And believe it or not, it did all that smoothly and quickly. I was afraid that ssh would be a memory hog and face the same problems that apt and dselect did, but this was not the case. It worked without swapping at all.
All that being said, I decided not to take the Contura on the trip with me after-all. I wanted more. I wanted power. I wanted to be able to play Ogg Vorbis files off CDR :) So I decided to take my Thinkpad instead. I just bought a bigger backpack to carry it in.