OK, so we did the research and installed the chosen distribution in the last part. Now we're going to fix some of the problems.
As I mentioned before, this Thinkpad R51e doesn't play nice with Linux. I tried several distributions on it, and none of them worked perfectly out of the box, leading me to believe that Lenovo had slipped some non-standard hardware in there.
The first problem to fix was the boot sequence, which threw up a couple of errors. First of all there was the problem with the grub splash screen. I can't recall the exact message, but it was unable to find the file /boot/grub/message.mint, and the boot sequence halted until I hit a key. This was caused by the fact I had my /boot directory mounted on a different partition to the root (/) partitions. I fixed this by booting into the OS and editing the grub menu file:
sudo gedit /boot/grub/menu.lst
The line which refers to /boot/grub/message.mint needs to be changed to /grub/message/mint, and the message.mint file needs to be copied from elsewhere on the file system into the /boot/grub directory.
cp /etc/grub/message.mint /boot/grub/message.mint
And next time you reboot, all is good.
Secondly there was an error message about a BIOS bug: " MP-BIOS bug 8245: timer not connected to IO-APIC". After some research this was fixed by editing the boot command and appending noapic to the end of it.
A third bug also required the same solution: towards the end of the boot, the sequence stalled for about 2-3 minutes. Some more research on the Ubuntu forums suggested that appending ec_intr=0 to the end of the boot command would help this. OK so to do both of these, we need to edit grub's menu.lst file:
sudo gedit /boot/grub/menu.lst
and change the line which says
kernel /boot/vmlinuz-2.6.22-14-generic root=/dev/hda5 ro quiet splash
for one which says
kernel /boot/vmlinuz-2.6.22-14-generic root=/dev/hda5 ro quiet noapic ec_intr=0 splash
To make sure that Linux puts these commands on the end of every new line it adds to your menu.lst file you can also add it to the line starting kopt. Eg.
kopt=root=/dev/hda1 ro noapic ec_intr=0
OK now we get a trouble-free boot, and everything looks good.
Now its time to fix the other hardware problem I had, and set up the wireless, which was a bit of a show-stopper. The hardware was listed by Lenovo as Intel PRO/Wireless 2200bg, 2915abg, 3945bg, 3945abg, 4965ag, 4965agn Mini PCI adapter, and by Linux's lspci command as Ethernet controller: Atheros Communications, Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01). The problem was that the hardware was detected and seemed to be working properly, but wouldn't connect to my Access Point. In fact that wasn't entirely accurate – I could connect without any encryption on the AP, but as soon as I put encryption on it, no dice. By contrast, I could plug in a spare WiFi card (an old Buffalo Airstation) and using that connection, everything was fine.
In the end I fiddled with this for a day or so, but decided to continue using a wired connection and come back to this later. In a corporate setting I'd be disappointed with Lenovo, as I think the fault lies with the choice of hardware and the drivers available to Linux.
More next time on the software setup …