As distributed with FreeBSD u-boot does not save environment variables when they need to be changed This article offers instructions for re-compiling u-boot so it will save the changes to uboot.env: https://forums.freebsd.org/threads/rpi3b-u-boot-saveenv-fails.84728/ After applying the changes suggested and recompiling u-boot-rpi2 with Poudriere the completed binary was installed in /boot/efi, but the Pi didn't boot, merely hanging silently after power-cycling the hard disk. Another link that might be relevant: https://raspberrypi.stackexchange.com/questions/119822/how-to-save-and-compare-u-boot-environment-and-fw-env-config and https://stackoverflow.com/questions/70286457/unknown-command-saveenv-error-in-u-boot