ZFS installs using MBR or geli end up with an empty /boot due to bootpool not being imported
The zfs option in the installer can, in a few possible config paths, end up with a broken /boot. It looks like at least using MBR and/or geli encryption can end up in this path.
In the problem cases, the installer appears to create a ZFS pool called bootpool which is not automatically imported or mounted at boot time. The target system boots, but since it does not automatically import bootpool, /boot/ points to /bootpool but that directory is empty. If
zpool import -a is run, then it finds bootpool and mounts it correctly.
After importing it manually, bootpool appears to in the zpool.cache in /boot/zfs/ but because that file resides on the pool which isn't loaded at boot time, it still seems to skip mounting the bootpool.
Updates fail without bootpool mounted, because otherwise the kernel files, modules, etc are not available.