Thursday 25 September 2014

FreeBSD on Older Laptops: Boot issues

FreeBSD version: 9.3
Device: HP EliteBook 6930p
Symptom: FreeBSD does not boot after successful installation

These two causes are covered in this post:
1. GPT based slices when old laptop BIOS do not support them.
2. No boot code written by sysinstall.

THE GUID based partition tables (GPT) allow for larger disks, higher protection by redundancy, and higher level of configurability. However, this new feature is not supported on older laptops such as HP EliteBook 6930p, which support the MBR based partition scheme.

GPT could be wrongly setup on older laptops due to two reasons: 1) wrong selection by the user, or 2) automated partition programs for e.g. PC-BSD graphical installer.

The solution is to destroy all the partitions, make new MBR slices (partitions) and re-install the OS.

A SECOND rare cause is that FreeBSD bootcode essential for bootup, is not written by sysinstall. Author usually escapes to the chroot'ed shell at the end of the installation to execute the following commands which manually install the bootcode.

Assuming that your disk is 'ada0' and you've installed FreeBSD on the first slice (partition):

# gpart bootcode -b /boot/boot0 ada0
# gpart bootcode -b /boot/boot ada0s1

Your disk and partition may be found out in the chroot'ed shell by checking the device that is mounted. Multiple resources on the Web detail these steps well, for e.g. [1].


[1]: http://daemon-notes.com/articles/system/install-ufs/gpart-mbr


No comments:

Post a Comment