booster icon indicating copy to clipboard operation
booster copied to clipboard

booster + zfsbootmenu

Open rbzchnadm opened this issue 9 months ago • 2 comments

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.

rbzchnadm avatar Mar 14 '25 09:03 rbzchnadm

Thank you for this request. Could you please point to the ZFSBootMenu documentation that specifies this root parameter?

anatol avatar Mar 18 '25 02:03 anatol

I couldn't find the exact documentation. You can refer to openzfs documentation (dracut section) :

openzfs/dracut

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).

rbzchnadm avatar Mar 18 '25 09:03 rbzchnadm