Linux on a Micron TransPort XPE

As featured on TuxMobil.org
Well, the old page was, anyway.

August 19, 2008: The machine crashed a few days ago after 147 days of uptime, so I’m working to upgrade it to Ultima 8.4. This should be fun.

March 15, 2008: Added navigation/table of contents, like on Latitude CP page.

March 7, 2008: Added photos. Yeah, so exciting, looking at photos of an eleven-year-old laptop...

March 6, 2008: Updated some system files (linuxrc, etc.) Added non-SMP kernel. Expanded various sections..

February 22, 2008: Converted original page (who knows how old) from Überpage to static HTML.

Any laptop that finds itself in my possession should expect to take some abuse. I’m glad my Micron XPE can’t literally talk, because it would probably send it right back at me. Since I got the machine in 2003 or thereabouts, it’s been known through various incarnations as my main laptop, a backup machine, a convenient spare, a temporary server, and a pile of junk sitting in a bag in my closet. It’s been through more operating systems than I can count (Win98 SE, Red Hat 8.0, Red Hat 9, Slackware 10.0, a few older Damn Small Linux releases, Wolvix 1.1.0, OpenBSD 3.9 and 4.2, several versions of ReactOS, and every Ultima release, among others...)

Besides that, it’s falling apart – the case is cracked, and the CD drive died, and I’ve either lost most of its parts or switched them with my slightly newer Dell Latitude CP, which was briefly its replacement before I finally got a decent modern Compaq.

Just as well that it still works fine with floppies.

Ultima Linux 8.4

My notes on retrofitting Ultima 8.4 have moved to a separate page.

Hardware config

The machine is about eleven years old. It has a Pentium-133 processor (with MMX), 80MB RAM (maxed out), and a 4GB hard disk (I switched the bigger one to the Dell). Graphics are Cirrus CL-GD7555 (using X’s vesa driver), 800×600, 16-bit color. Sound uses the sb16 driver, and has to be probed manually with alsaconf -l.

I have a Dynex USB 2.0 adapter in the top PC-Card slot, where it’s lived comfortably since around 2005 – before that it had a Belkin, which broke. (This was one of the first things I bought for it – I use a lot of USB devices, and it doesn’t have a built-in port.) I recently discovered it can power the USB using a cheap PS/2→USB adapter in the mouse port; before I had to carry around an extra power brick for “powered” devices like my wireless adapter.

Speaking of which, it’s a NETGEAR MA-111 USB device, 802.11b. (802.11g devices freeze the machine.) I hate the NETGEAR adapter, since it needs to use the Windows driver through ndiswrapper, and it needs an extension cable since the “bullet” shape is too wide to fit next to the USB’s power plug. But hey, pretty kick-ass, having wireless on a machine made long before wireless laptops became popular, or even existed for that matter. I also have a Belkin PCMCIA Ethernet adapter and the original Motorola Montana 33.6k modem, both since retired, but I’ve kept them anyway since they both work very nicely on Linux.

The internal CD drive died, but I have an external (USB) CD-RW drive that works with the machine. I think it’s an Acer Mini-RW. I don’t think cdrecord supports it for burning though.

The case is cracked in places, the keyboard’s a little weak from years of constant use, and parts of it are sticking out from when I attempted to dissect the machine and couldn’t quite get it back the way it was. The screen is surprisingly intact, no color warping, and only one dead pixel (it was that way when I got it).

Photos

[Photo] [Photo]

First is the machine seen from the front, running Word 2003 (yes, on a P-133; see below), with my cheap-ass electric guitar in the background. Second is from the side/back, showing the USB card, taped-on wireless adapter, and giant Tuxette glued to the back of the lid; sorry for the blurry quality. Click any thumbnail for a full-size JPEG version.

It’s a bit hard to see the physical condition of the machine from these photos, but up close it’s cracked, chipped, covered in glue streaks, and generally falling apart. Note the stickers: AP exam registration label (front); Tuxette (small one at bottom-right on monitor, large one on back of display lid, both self-made); Dark Side of the Moon (self-made, next to touchpad); and you can’t really see from here, but this older shot shows the “SECURITY DEVICE ENCLOSED” sticker from a Twilight Zone DVD case.

Software config

The machine right now dual-boots Ultima 8.3 and Windows 95a. Installing 8.3 proved to be a challenge; eventually I ended up making a pair of boot floppies, an incredibly hellish and rather silly feat of software engineering in itself. For various reasons I decided the most efficient (and fun) installation method would be to essentially boot the LiveCD code from the hard disk. The procedure went something like this:

  1. Build floppies. Long story short: 2.6.23.12 kernel (yes, really) with PCMCIA, USB storage support, and Busybox.
  2. Partition drives using fdisk (see below), format with mke2fs.
  3. gunzip and loop-mount rootfs.img from LiveCD; copy contents to hard drive.
  4. Copy LiveCD vmlinuz and squashfs.img to hard drive.
  5. Tweak /linuxrc – take a look at my modified copy. I think there were also a few bits in /etc/fstab.

The individual commands used are left as an exercise to the reader, since I don’t feel like typing them out again.

It boots using LILO (there’s a statically-linked binary on the second boot floppy’s initrd.gz). See my lilo.conf.

Partitioning

512MB for Windows 95, about 2GB (half the disk) for Ultima.

I had OpenBSD before, so I left space in between for that, and maybe other OS’s too, just for the hell of it.

Disk /dev/hda: 4327 MB, 4327464960 bytes
15 heads, 63 sectors/track, 8944 cylinders
Units = cylinders of 945 * 512 = 483840 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1105      522081    6  FAT16
/dev/hda4            4439        8944     2129085   83  Linux

There’s no swap partition, because I didn’t feel like creating one. Instead I have an 80MB swap file at /initrd/swapfile. (See my fstab for an explanation of why it’s there and not i.e. /; long story short it’s a quirk of the modified LiveCD boot system.) I ran it for a while without swap, but performance was unbearably slow.

Kernel

Ultima’s default kernel is SMP-enabled, so it runs optimally on systems like my new dual-core laptop. For most single-processor machines there’s only a negligible performance penalty (based on my own experience), however multi-processing support is unnecessarily and very noticably so on such an old machine as this.

To solve this I re-built the stock Ultima kernel with SMP disabled. The resulting packages are available here. Note that these are NOT the same as the “stock” 8.3 packages. I also built aakernel.img, which overrides the squashfs.img files with the non-SMP ones. (You most likely want this file if you’re trying to copy my setup.) Note that this currently requires an ugly kludge in your linuxrc to work correctly.

I left out a couple packages like kqemu from the non-SMP kernel set, since I don’t think I’ll be doing much virtualization on this machine. (Although I have done it before – Windows 3.0, anybody?) It’s presumed that you already know to extract the vmlinuz from the package and/or SquashFS loop and to update your lilo.conf appropriately.

Performance

It’s not bad, considering it’s running a 2008-release operating system (in a SquashFS-compressed loop, no less!) Booting runlevel 3 (text-login) rather than 4 (X11), with pretty much everything in /etc/rc.d disabled, it runs fast enough for reasonable use. I installed a few “extra” packages like Fluxbox and Opera, and for most of what I use it for (nothing, mostly, but sometimes also light Web browsing, and ssh-ing into my server), it’s surprisingly better than you’d probably expect.

One note: OpenOffice.org will not run on my machine, because of some missing processor instruction or other, but it should still run on a newer one like the Dell. I haven’t used this machine for heavy word processing since around 2005. Correction: OpenOffice.org does run on Ultima 8.3. However, it’s unbearably slow, even for the standards of this machine (and, for that matter, OpenOffice.org). Personally I prefer to run MS Offfice 2003 in CrossOver, which runs exceedingly well considering the machine doesn’t even meet either program’s “minimum system requirements”.

Screenshots

Screenshots make anything more fun:

[Screenshot] [Screenshot] [Screenshot] [Screenshot]

First is editing this page over SSH, using vim. Second is Opera browsing Ultima Linux.com and this page. Third is Microsoft Word 2003 in CrossOver, showing random nonsense. Fourth is the system’s actual specs as reported by Linux. Window manager is Fluxbox, using the “Shade” theme. Click any thumbnail for a full-size, lossless PNG version.

I’ll also try to upload some shots of the machine itself once I can find my digital camera. I found it. There’s also this old one on Wikipedia (I think the USB card is the same, but I no longer have the desk or the pink stapler, and the mouse, which doesn’t have the silver Logitech logo any more, is now on my new laptop. Don’t know what OS it was running at the time.)

You get bonus points if you’ve actually read all this, ’cause I know you’re probably just looking at the pretty pictures.

The obligatory question: Why?

Mostly just because I can. I’ve had the machine a long time – and for that matter, I waited almost two years to get my hands on it (long story, for some other day), so it’s not something I’d just throw away for something as minor and insignificant as being antiquated, or missing a CD-ROM drive.

I will mention that I’ve almost always used a “full-size” distribution on this machine, even though it was already outdated when I got it, and even more so when I started using Linux. I’ve tried the smaller ones built “just for older hardware,” and I just don’t like them; they’re mostly running outdated software that doesn’t support my anachronistic choice of peripherals, and the “low-calorie replacements” just don’t have the features I’m used to in, say, Firefox or OpenOffice (not that I use either much anymore). Remember that for the first three years or so after I got this machine, it was my only working laptop.

(These days it’s mostly retired, since I have a fancy dual-core Compaq, but it still gets plenty of use. It’s good for looking up guitar tabs when I feel like inflicting my attempts at culture on the world. I also “connect” it frequently to my desktop machine using x2x, which essentially lets me use it as an extra screen, as if two 1280×1024 displays weren’t already enough.)

Plus it’s just fun imagining the looks on people’s faces when they see an eleven-year-old machine booting the newest released version of a “modern” operating system. Who knows, maybe I can say it’s a protest against the absurd requirements of Mac OS X or Windows Vista. Or something.

By the way, if you have one of these laptops (or a similar system) and need further information/clarification, e-mail me and I’ll try to post it here.

Updated: Aug 19, 2008
Back to Martin Ultima