FreeBSD GPT works just fine on the ThinkPad X40

I'd abstained from using the GUID partition tables (get it… tables?) on my ThinkPads after reading warnings on the Fedora mailing lists. Inadvertently I installed FreeBSD with GPT on my ThinkPad X40 this afternoon though, and it worked just fine!

The K-On! girls eating sushi © Kyoto Animation.

Fedora

From Pádraig Brady on the mailing lists in February:

In Fedora 16 we changed to using GPT as the default disklabel for new installs. In a few cases, mostly limited to Lenovo hardware, we found that some BIOS’s would not boot from GPT. We blacklisted Lenovo, falling back to msdos labels in order to solve this.

Thanks to Matthew Garrett we found that switching on the boot flag of the GPT’s protective MBR these BIOS’s would then boot from GPT. Matthew wrote a patch for parted to allow controlling this flag using the disk_set pmbr_boot command in parted. This is in parted-3.0-7

I can't find them right now (of course) but I also recall the release notes or installation guide for Fedora 16 and 17 detailing the use of nogpt and how Lenovo machines were blacklisted for using GPT.

So I avoided it, and used extended partitions to overcome the 4 partition limitations of MBR that we all remember.

FreeBSD

With the release of the 9.0 series, FreeBSD defaults to GPT instead of MBR. While installing, I explicitely created an MBR table instead of using GPT in the initial disk step of bsdinstall. Curiously, doing this resulted in a string of those notorious "gvfsdone() error=5" errors when I first booted. The same results occurred when I used gpart manually from the shell.

Just to see what would happen, I let bsdinstall create GPT partitions instead, and FreeBSD has since booted flawlessly. No joke!

Granted, this is with FreeBSD i386 on a 32bit Pentium M ThinkPad X40. My next experiment will be to use GPT with FreeBSD amd64 on my Core 2 Duo ThinkPad X61s.