booster + zfsbootmenu
When using ZFSBootMenu, Booster fails to work and throws the following error:
[..] booster: root=zfs:zroot/ROOT/default: unable to parse the device reference
The issue arises from how ZFSBootMenu passes kernel parameters. It uses "root=zfs:pool/Dataset" instead of "zfs=pool/Dataset". This causes problems for Booster, while Dracut and mkinitcpio handle it without issues.
Thank you for this request. Could you please point to the ZFSBootMenu documentation that specifies this root parameter?
I couldn't find the exact documentation. You can refer to openzfs documentation (dracut section) :
root=zfs:dataset, root=ZFS=dataset
Use dataset as the boot dataset. All pluses (‘+’) are replaced with spaces (‘ ’).
root=zfs:AUTO, root=zfs:, root=zfs, [root=]
After import, search for the first pool with the bootfs property set, use its value as-if specified as the dataset above.
rootfstype=zfs root=dataset
Equivalent to root=zfs:dataset.
rootfstype=zfs [root=]
Equivalent to root=zfs:AUTO.
In the mean time, i found a ZFSBootMenu property which can handle the main issue : ZFSBootMenu properties
It's called org.zfsbootmenu:rootprefix and by setting it to "zfs=", the kernel command-line will be the one booster is looking for (zfs=zroot/...).
Sadly I still can't boot my system as I'm using a root zfs partition referenced by a label (/dev/disk/by-partlabel/ROOT).