2008-04-15

Laptop Linux

I was given a new laptop the other day. A new old laptop, anyway. It’s a grimy, rather tatty Dell Latitude X200. There’s something wrong with the backlight that causes strange ring effects on the LCD, the hinge is a bit loose, and the CD-ROM drive it came with is for a different model of laptop and so doesn’t work. I intended to get it running and then give it away, but I remembered I was after a cheap, small laptop for my forthcoming university course, so I’ve decided to keep it.

It’s currently OS-free. As it doesn’t have any way of getting Windows installed (and I seem to have lost the CD wallet with all of my install disks in it) my only real option is Linux. As per usual, I’m going for Ubuntu.

I’ve complained before about how ridiculously complicated it is to get Linux working properly, and trying to get it installed on this laptop is just as complicated. First of all, no CD drive means I’ve got to get a USB memory stick install working. There are lots of guides for doing this, but as you’d expect with anything Linux-related, the documentation is either for old versions or is woefully incomplete (yes, I can see the hypocrisy there; I’m going to sort out the Woopsi docs at some point).

In fact, the easiest way to get Ubuntu installed via a memory stick isn’t documented anywhere on the internet. There’s a surprise. This is how you do it. Note that you need a computer already running a Linux distro to make this work.

  • Download the latest Ubuntu ISO from the main site.
  • Download the “boot.img.gz” file from this location, replacing “gutsy” with the name of the latest distro: http://archive.ubuntu.com/ubuntu/dists/gutsy/main/installer-i386/current/images/hd-media/boot.img.gz
  • Insert your memory stick and make sure it is dismounted
  • Open a terminal and type “sudo zcat boot.img.gz > /dev/sda”, replacing the “/dev/sda” portion with the device name of the USB stick (this will wipe the stick, so make sure it’s blank)
  • Create a new folder on your desktop called “img”
  • Mount the USB stick and copy its contents to “img”
  • Dismount the USB stick
  • Open your partitioning tool (I use GParted) and delete the partition on the USB stick
  • Create a new FAT16 partition on the USB stick
  • In the terminal, type “sudo syslinux /dev/sda1”, replacing “/dev/sda1” with the device name of the partition on the USB stick
  • In the terminal, type “sudo install-mbr /dev/sda”, replacing “/dev/sda” with the device name of the USB stick
  • Mount the stick (you may need to physically unplug and re-insert it first)
  • Copy the contents of “img” back to the USB stick, replacing all files
  • Copy the Ubuntu ISO to the USB stick
  • Reboot and select the USB stick as the boot device in your BIOS
  • When prompted with “MBR AF:“, type “A”
  • When prompted with “MBR 1234F:“, type “1”

The Ubuntu installer starts up, and you’re off.

What we’ve done here is dump a boot disk image to the USB stick, then copy those files to the computer, wipe the stick, copy the files back, add in the Ubuntu ISO and make the stick bootable again. This is a hell of a lot more reliable than trying to get a network install going.

The problem I’ve got is that Ubuntu refuses to work on the laptop. Feisty was slightly better, in that the installer chose the correct framebuffer mode before complaining about imaginary corruption in various random packages. Gutsy chooses the wrong mode completely before it complains about errors. There’s just no way that Ubuntu will ever get installed on this laptop.

This leaves me with a dilemma. If I can’t use the least-worst desktop Linux distro, what next? My favourite used to be Fedora back when it was called “Core 1”, so I’ll give that a go. Unfortunately, again, it doesn’t work - it freezes just after announcing “initrd.img…….”.

A quick Googling session reveals that it’s probably a BIOS problem. How do you update the BIOS on a laptop that doesn’t have a floppy drive, a CD drive or an operating system? I’ve got a USB floppy drive. Except the BIOS update is shipped as a Windows executable, which is of little use when you run nothing but Linux and OSX. Good job they invented virtualisation, really. Much fiddling later and, amazingly, the Fedora installer seems to work. Now downloading the 3.2GB DVD ISO, which I’m planning on installing via an NFS share.