You set yourself up for failure by sharing the same pool for /boot and root. Here's the flags you're meant to use for your boot pool:
https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Buster%20Root%20on%20ZFS.html#step-2-disk-formatting Under "Create boot pool". GRUB purposefully has lacking documentation, as they are not friendly towards ZFS as a whole, and also because most people doing ZFS nowadays do an EFISTUB setup with no GRUB, exactly to avoid these issues. August 23, 2021 3:30 PM, "Rich Freeman" <ri...@gentoo.org> wrote: > On Mon, Aug 23, 2021 at 2:13 PM Neil Bothwick <n...@digimed.co.uk> wrote: > >> All I could find was this: >> >> http://git.savannah.gnu.org/cgit/grub.git/tree/grub-core/fs/zfs/zfs.c#n276 >> >> For a program with so much documentation, GRUB seems sorely lacking in >> this respect. It makes me glad I decided to keep /boot off my zpools. > > Even this seems lacking. For example, encryption is not read-only > compatible (which seems obvious), and it isn't listed as compatible in > the source code you linked. However, grub-mount supposedly uses the > grub drivers and it has a command line option to provide an encryption > key. Maybe it is only compatible with the grub-mount command and not > at boot time, but if so that seems like something worth pointing out > since one of the purposes of grub-mount is to test filesystem > compatibility. > > -- > Rich