Upgrading Boot Loader

Tim Gustafson tjg at soe.ucsc.edu
Mon Aug 2 18:49:34 UTC 2010


I want to update my boot loader based on upgrading to FreeBSD 8.1.  I originally installed FreeBSD 8.0 using the "zfsinstall" utility available at http://mfsbsd.vx.sk/ and so my "tank" zpool is currently using version 13, whereas my other non-boot zpool is using version 14.  After upgrading (via make buildworld buildkernel installkernel installworld) to FreeBSD 8.1, running "zpool status" tells me:

The pool is formatted using an older on-disk format. The pool can still be used, but some features are unavailable. Upgrade the pool using 'zpool upgrade'.  Once this is done, the pool will no longer be accessible on older software versions.

I vaguely remember reading that the zfsboot and/or zfsloader need to be updated properly before you upgrade your root zfs pool or the loader won't be able to boot from that partition.

So, my question is: how do I update the zfsboot and/or zfsloader to the new version?  I've read that bsdlabel can install new boot code, but I'm not sure which one of those files (or both) need to be used.  My best guess is that I need to run:

bsdlabel -B -b /boot/zfsboot

Is that correct?  Is there anything else I should do?  What's the proper way to "roll back" in the event that the system becomes unbootable?

Tim Gustafson
Baskin School of Engineering
UC Santa Cruz
tjg at soe.ucsc.edu

More information about the freebsd-questions mailing list