GRUB becomes unable to access ZFS /boot partition
I somehow ended up with an unbootable GNU/kFreeBSD system today, with:
"grub: checksum verification failed"
But from a grub rescue> shell I was still able to boot as normal,
just by entering the kfreebsd(,_module(,_elf)) commands. It was clear
that the root zpool was completely intact but GRUB wouldn't boot from
it, even on subsequent attempts after update-grub2/grub-install.
What finally worked was copying the contents of /boot to a new UFS2
partition, and reconfiguring GRUB to use that. The rest of the root
filesystem (even /lib) remains on ZFS.
So for the time being, I discourage people from having /boot on ZFS
(although root on ZFS is fine). As well as avoiding the above problem,
it may be slightly easier to recover an unbootable system in this case.
And this configuration would probably allow installation of GRUB2 to the
/boot partition (rather than only to the MBR); this is something a ZFS
partition does not support.
 Actually when doing this, I had no access to the local console, but
could boot a Linux rescue system, and then start qemu, using my real
local disk as -hda, and the -vnc option so that I could VNC in while
'booting'. This neat trick might help someone else to install/rescue a
system in awkward circumstances such as these.