Tagged: zfs

FreeBSD: gptzfsboot: No ZFS pools located, can’t boot on FreeBSD 11-RELEASE

Last time (a few years back) when I tried to install FreeBSD with zfs on my HP Pavilion dm3-1130us notebook, I got the following error message during the boot: gptzfsboot: error 66 lba 48 error 72 gptzfsboot: error 66 lba 0 gptzfsboot: error 66 lba 1 gptzfsboot: No ZFS pools located, can't boot.

I searched around for a solution but couldn't find any so I gave up on FreeBSD.

Years after, meaning recently, I gave FreeBSD 11-RELEASE a new shot, hoping that zfs boot up problem was resolved by now. *BAM* I got the same error after installing it with zfs. For desperation, I searched again and again. Tried building partition table manually, updating bootcode after the installation, etc... But nothing worked... I even tried TrueOS (FreeBSD with zfs and more) but got the same problem after the installation. Sob...

But finally, I found a solution (sort of)!!!

Here is what I tried. I don't think the installation medium makes difference but I used a USB boot image.

Disclaimer:
The information in this site is the result of my researches in the Internet and of my experiences. This information below is solely used for my purpose and may not be suitable for others.

Step 1) Download the FreeBSD memstick image. Find the latest release version (as of this writing, it's 11.0) from the freebsd.org ftp site.

Step 2) dd the memstick image to a USB memory stick. The USB device name could be different depending on which OS you are using, but for FreeBSD, I read somewhere that said you need to use FreeBSD to make a bootable USB memory stick. So, I installed FreeBSD 11-RELEASE with UFS and ran the command: # dd if=FreeBSD-11.0-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=sync

Step 3)Reboot with the USB memory stick inserted. Leave the USB memory stick attached to the notebook, rebooted the system. FreeBSD will boot and it'll present with three options; Install, Shell or Live CD. I chose Install.

Step 4) Install the system but at the partitioning, choose Auto ZFS:

Here is the zfs configuration:

Step 5) Go through the rest of the installation until it asks you for the last manual configuration. Select Yes to update gptzfsboot and bootdcode:

Step 6) Get the updated gptzfsboot_hp from the FreeBSD Bugzilla. The url is listed in Allan Jude at Comment 29. If you are not configured its networking, enable dhcp client: # dhclient re0

Then download gptzfsboot_hp by fetching from the location # fetch --no-verify-peer http://trooper.hml3.scaleengine.net/gptzfsboot_hp

Step 7) Rename gptzfsboot_hp to gptzfsboot and move it to /boot.

Step 8) Update the bootcode. Make sure you are using /boot/pmbr for the GPT partition type: # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

Step 9) Make sure the partition scheme and it's for the ada0 disk. Occasionally, its disk ID is changed to something like diskid/DISK-.... If this happens, use that disk name/id instead of ada0 at the Step 8.

Step 10) Reboot the system.

After the reboot, you would see the prompt for GELI Passphrase. However, this solution solved the boot up problem with ZFS. I still see the error 66 with lba: gptzfsboot: error 66 lba 48 error 72 gptzfsboot: error 66 lba 0 gptzfsboot: error 66 lba 1 GELI Passphrase for disk0p3:

After entering GELI passphrase correctly, voilĂ , you'll see the login prompt!

That's all!
-gibb