Closed einsibjarni closed 9 months ago
If I change the line to gptboot="-p freebsd-boot:=${mnt}/boot/gptzfsboot"
AND set zpool -o compatibility=openzfs-2.1-freebsd, I can boot the image in BIOS mode. It won't boot in UEFI.
The problem with that change is that it would create a freebsd-boot
partition the size of /boot/gptzfsboot
(~173K), and we want it to be 512K (to keep it inline with bsdinstall
).
Regarding the EFI boot, I was able to boot without problems, with an image that has the same zpool version/features as the builder. Base releases use makefs -t zfs
to overcome this issue (among other things).
Apparently #962 (taken from #958) never fixed the issue, just avoided a failed assertion. Would you mind trying with:
truncate -s 512k ${mnt}/boot/gptzfsboot
gptboot="-p freebsd-boot:=${mnt}/boot/gptzfsboot"
Waiting on feedback from @einsibjarni before submitting.
Possible patch, if OK (https://github.com/jlduran/poudriere/commit/4f33a15924df67ef9bdb8b84fc442940196067c1).
(Only tested with sh /usr/share/examples/bhyve/vmrun.sh -u -m 4G -t tap0 -d /usr/local/etc/poudriere.d/buildlists/132amd64 132amd64
, with and without -E
for EFI booting).
Tested https://github.com/jlduran/poudriere/commit/4f33a15924df67ef9bdb8b84fc442940196067c1 and it fixed the problem. Booted without problems with EFI
@einsibjarni thank you! I’ll proceed with the fix.
Prerequisites
Describe the bug
After upgrading the host to 14.0-RELEASE (and now on 14.0-RELEASE-p2)
poudriere image ... -t zfs+gpt ...
fails with:How to reproduce
Steps to reproduce the behavior:
Run
poudriere image -v -j 132amd64 -p 132amd64_default -z default -n template -h freebsd-template -s 3g -t zfs+gpt -f /usr/local/etc/poudriere.d/buildlists/132amd64
Expected behavior
A working image is created
Screenshots