Today I needed to upgrade to Python 2.5 so I could work on work stuff.  Earlier in the day I had upgraded my Gentoo box at work to use Python 2.5 - piece of cake.  It seems that in Ubuntu land you currently don’t get Python 2.5 unless you’re tracking the “Feisty” sources.  So I went on to update my sources and use Synaptic to update everything.  It finished up by throwing some errors about being unable to finish due to “unresolvable errors “.  Per my usual cli bias I decided to apt-get update && apt-get upgrade which seemed to do a much better job.  It successfully upgraded the entire frigging world… after which I rebooted to a shiny kernel panic.

Let’s take a step backwards.  My wife purchased this G40 as a surprise gift.  It shipped with Windows XP which I managed to replace with Gentoo in about an hour.  During the install I noticed the first partition was small and for some reason I was nervous to touch it.  I proceeded to install Gentoo on /dev/hda[2-4].  So eighteen days ago I decided to see what Ubuntu felt like.  I installed it, taking all of the defaults not thinking much about it.  That was a mistake.  You see when Ubuntu asked me if I wanted to resize the existing partitions or just use the whole disk, I obviously chose to just use the whole thing.  I wasn’t thinking about that “innocent " little first partition.

It seems the G40’s bootup process works something like this:

  1. Turn on computer
  2. Wait for the hard drive to boot or press the blue “IBM” button
  3. If you push the blue button, can do other things -  booting to cdrom being one

Option #3 works because the motherboard actually boots the first partition which is a tiny OS of sorts.  The problem is that when Ubuntu took the whole disk, that included the first partition.  This left me with a super useful error message that essentially said:  “Error”.   So there I am, stuck.  Booting to the hard drive gives me a kernel panic.  Booting to the cdrom… well I can’t because the stupid G40 actually uses the hard drive to boot to the cdrom?  Clearly someone at IBM was smoking crack when they decided to place low level bootup options like that on the hard drive rather than on the mother board like every other computer in the known world.

So I call a Jaisen and start brainstorming options.  The best option we come up with is to:

  1. Remove the hard drive
  2. Place it in a usb enclosure of sorts
  3. Mount said hard drive
  4. Chroot into the little monster and fix the glitch
  5. Figure out a creative way to update the mbr (think grub.conf /dev/foobar mismatch)
  6. Put the disk back in and cross fingers

I proceed to take off the first cover, to find the wifi card and ram.  I remove another cover to find the battery.  I remove 6 screws and the thing is still an unstoppable rebel tank of a laptop.  Clearly you can’t crack this thing easily.  Then it hits me…

This laptop has a floppy drive.  Oh the horror.  Soon the memories come back.  The slowness.  The corruption.  The clicking - the creepiness.

I’ll cut to the chase on how I got things rolling again:

  1. Use the Smart BootManager to create a bootable floppy
  2. Use the floppy to boot the cdrom (Gentoo livecd of course)
  3. Chroot into Ubuntu
  4. apt-get update && apt-get upgrade
  5. update-initramfs -u
  6. Reboot and feel the love

Sad to say, a floppy saved the day :/