Anyway, I had a couple of problems with my little hardware upgrade on Sunday night and tonight, so I'm documenting it all here, so if I come Googling in the future, I will find the answers I need.
The hardware part of the upgrade was fairly simple - add 512Mb to give 1Gb in total, and add a sound card (rather than using on-board sound). The physical part of it went smoothly, then I put the case together and booted up into Linux - where I found that I couldn't see all of the memory, only about 900Mb.
I found the following errors in system logs :
Warning only 896MB will be used.
Use a HIGHMEM enabled kernel.
Googling followed, and I realised that I needed to either recompile my kernel to enable that option (couldn't be bothered, since it was 10pm-ish, and I was meant to be in bed by then to get up at 6am today), or download a suitable kernel rpm and install it, which is what I did (urpmi is my friend).
Unfortunately, after running
/sbin/lilo, then rebooting, I now had three problems :
1. The new kernel didn't show up as an option in the Lilo boot menu.
2. I couldn't start X Windows.
3. I still couldn't see all 1Gb.
I spent some time Googling and trying to figure out what was wrong. I eventually worked out that installing a new kernel had overwritten or otherwise incapacitated the special NVidia drivers my video card requires, so downloaded the latest drivers and installed them, and lo, X Windows was working again. Since it was getting late, I quickly checked LJ and various web comics, then headed for bed (around 12:30am, oops !).
While lying there not quite drifting off to sleep, I finally realised why the boot menu wasn't updating. It is related to the way I have set up dual-booting with Windows and Linux. I have two disks, and the first one has Windows. I didn't want to backup that disk, repartition to allow a Linux boot partition, then reinstall Windows on it, so I used the Windows boot menu instead. This involved adding a line like '
c:\boot.ini, and creating the bootsect.lnx file by copying the first 512 bytes of the disk that Lilo is writing its boot record to into a file (e.g.
dd if=/dev/hdf bs=512 count=1 of=bootsect.lnxin my case). This works fine ... but I had forgotten to update the
bootsect.lnxfile after upgrading my kernel and running
/sbin/lilo, and thus the failure of the boot menu to update, and the failure of the updated kernel to run, were explained.
This evening, I copied the boot sector across, took some time out to install drivers for the new sound card in Windows, and then rebooted to Linux to find that I did indeed have the new kernel in the boot menu, and it was running, and my 1Gb was available again. Whew. Of course, now that the new kernel was running correctly, I'd somehow lost the NVidia drivers again , and for some reason, didn't have the installer that I used last night lying around, so had to download it again (manually, this time), and then reinstall.
Finally, though, everything is working again, memory and sound card and all. Whew.
(meanwhile, I had to retype this after Firefox seg-faulted, darnit)