This weekend I put myself into more work than desired. For a long time I’ve wanted to upgrade my existing 2.4 kernel to a more recent 2.6 ditto. So this weekend was set to to it
I started by downloading the sources, reading the “The Debian Way”, configured, configured, compiled. Run dpkg -i .... “This must work”, I said to myself. Rebooted…. Hm, where did the nice bootloader menu go? I only saw a simple MBR (Master Boot Record) stated in the upper left corner of the display. This is an old Compaq 450Mhz PC, and have parts of the BIOS stored on the first hard drive. OK, something didn’t go as expected. That’s for sure. The system does not even have a CD ROM reader. There is a Zip-drive, and a floppy. Ah, find a boot floppy, so I can boot into the system and make changes to the MBR.
To be noted is that this system is my gateway to Internet. Fortunately, by activating a second NIC on my other server, that machine can act as gateway in situations like this. So, Internet up and going, at least.
I found some files; the Debian floppy installation suite (boot.img, root.img, etc.). Digging in my old shelf I also found some diskettes. Probably nothing important on those
. A rawwrite and then reboot into floppy land
Error reading track x.… the screen instead stated. Old diskettes! Just rawwrite again, and throw the corrupted diskettes. Every second diskette or so worked. You can imagine the time it took to get a working boot suite!
Rescue boot. Finally I got a prompt and mounted my system partitions (/ and /boot from /dev/hda1 resp. /dev/hda2 under /mnt), and then issue a $ chroot /mnt/root sbin/lilo -P fix to fix the MBR.
Reboot, and I was i heaven! Actually I got back to my previous kernel. A working system! But… where is my network? While I was switching input computer via my keyboard/mouse/screen switcher, deep inside my “cabinet” I almost teared it all down… It all began to fall…
(must set up some stopper there). Could my network switch have been broken in the fall? Well, test, test… For some reason I figured out that my NICs had swapped places, i.e. eth0 was now eth1 and vice verse. It only took me around two hours to figure that out! By digging into configuration files I could alter my NIC’s purpose and got it working.
I now had a system anyway. I decided to replace lilo with grub. Easy task; just aptitude etc… etc… and run install-grub. A modern bootloader. And it worked! Some reboots later and I’m confirmed it works.
In my system I could again go and compile the kernel. Configure, tweak, and actually be able to install, and reboot
There are some tweaks yet to settle. Only one of the NIC’s is getting up during boot. Some module issue, I guess. I have an ancient serial board (with two extra RS232 ports) which I need to do setpci on to work. It must be included in the boot.
So, that was my weekend. Hope you had one more relaxed.