FreeBSD on a Thinkpad laptop

Finally, my spanking new IBM Thinkpad T30 had arrived. 2GHz processor, 512MB memory, and 40GB of disk. It comes with Windows XP Professional, but there is no Windows XP CD. Instead, there is a 'hidden' partition on the hard drive from which XP can be restored in case of disaster.

In order to get FreeBSD installed, I used my free copy of Partition Magic to destroy the existing NTFS Windows XP partition and create two new partitions, 28GB for Windows (it is a work PC after all) and 8GB for FreeBSD. I then invoked the rescue BIOS option to reinstall XP on the shrunk NTFS partition. A couple of hours later (yep, it takes that long), XP was back up and running.

I thought I would get on the leading edge of FreeBSD and install 5.0. It installed OK, but I started getting intermittent ACPI errors. Later, when I tried to copy a file off a floppy disk (connected via USB) and I had a kernel panic, I decided that the cutting edge was not for me. I installed FreeBSD 4.7 over the top of 5.0.

I had originally intended to use grub as the boot manager, but it seemed to cause the IBM BIOS to get confused as to whether it had a recovery partition or not. I ended up using the Windows XP boot loader. I added FreeBSD as a boot option by copying the first sector from the FreeBSD partition and placing the file on the Windows partition, then altering the Windows boot.ini file to reference it.

To copy the FreeBSD boot sector, use the following dd command:

dd if=/dev/rad0s1 of=bootsect.bsd bs=512 count=1

Here's an example of the Windows boot.ini file:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect
C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows Recovery Console" /cmdcons
c:\bootsect.bsd="FreeBSD"

The Thinkpad is named amber; the FreeBSD kernel configuration file can be viewed. The XFree86 configuration file is also available for reference.