Hello gurus,
I'm in a bit of a bind and was hoping to be steered in the right direction. I'm running OPNsense 25.10_2-amd64 w/ FreeBSD 14.3-RELEASE-p4 on a zfs single disk decision DEC4040 appliance. As part of a recent zpool status check, I encountered a message to upgrade zpool to enable new features. Rather than doing my homework as to whether I need said features or not, I simply issued `zpool upgrade zroot` - a no-no. After reading few very helpful posts (e.g. this), I set about performing the boot loader updates prior to system reboot. But, I encountered an error (please see /b/ below) which has me stumped, and unsure as to the next steps. Help please.
gpart output:
Which would mean I'd have to update both a) the EFI loader and b) the BIOS bootcode øn the single disk ZFS install due to freebsd-zfs type.
/a/ seems to be okay w/ the following commands:
/b/ gives this error:
Adding a new disk isn't feasible (as the appliance doesn't allow for it). Perhaps a potential solution could be to erase existing nda0p2 and recreate it - but I'm not very skilled at such low-level commands, and also am unsure whether there's space to do so anymore.
If I understand the output of
Am I hosed?
I'm in a bit of a bind and was hoping to be steered in the right direction. I'm running OPNsense 25.10_2-amd64 w/ FreeBSD 14.3-RELEASE-p4 on a zfs single disk decision DEC4040 appliance. As part of a recent zpool status check, I encountered a message to upgrade zpool to enable new features. Rather than doing my homework as to whether I need said features or not, I simply issued `zpool upgrade zroot` - a no-no. After reading few very helpful posts (e.g. this), I set about performing the boot loader updates prior to system reboot. But, I encountered an error (please see /b/ below) which has me stumped, and unsure as to the next steps. Help please.
Code:
zpool upgrade zroot
This system supports ZFS pool feature flags.
Enabled the following features on 'zroot':
edonr
zilsaxattr
head_errlog
blake3
block_cloning
vdev_zaps_v2
Pool 'zroot' has the bootfs property set, you might need to update
the boot code. See gptzfsboot(8) and loader.efi(8) for details.
Code:
Pool 'zroot' has the bootfs property set, you might need to update
the boot code. See gptzfsboot(8) and loader.efi(8) for details.
gpart output:
Code:
gpart show
=> 3 2000409253 nda0 GPT (954G)
3 532480 1 efi (260M)
532483 311 2 freebsd-boot (156K)
532794 1981808640 3 freebsd-zfs (945G)
1982341434 18067822 4 freebsd-swap (8.6G)
Code:
sysctl machdep.bootmethod
machdep.bootmethod: UEFI
Code:
root@MorikCage:/usr/ports %# df -h
Filesystem Size Used Avail Capacity Mounted on
zroot/ROOT/24.4.2 891G 12G 879G 1% /
devfs 1.0K 0B 1.0K 0% /dev
/dev/gpt/efifs 256M 1.3M 255M 0% /boot/efi
zroot 879G 96K 879G 0% /zroot
zroot/tmp 879G 9.9M 879G 0% /tmp
zroot/usr/home 879G 96K 879G 0% /usr/home
zroot/var/audit 879G 96K 879G 0% /var/audit
zroot/var/tmp 879G 116K 879G 0% /var/tmp
zroot/var/crash 879G 96K 879G 0% /var/crash
zroot/usr/src 879G 96K 879G 0% /usr/src
zroot/var/mail 879G 144K 879G 0% /var/mail
zroot/var/log 882G 2.8G 879G 0% /var/log
zroot/usr/ports 880G 1.7G 879G 0% /usr/ports
devfs 1.0K 0B 1.0K 0% /var/dhcpd/dev
devfs 1.0K 0B 1.0K 0% /var/unbound/dev
/usr/local/lib/python3.11 891G 12G 879G 1% /var/unbound/usr/local/lib/python3.11
/lib 891G 12G 879G 1% /var/unbound/lib
/a/ seems to be okay w/ the following commands:
Code:
cp /boot/loader.efi /boot/efi/efi/boot/bootx64.efi
mkdir /boot/efi/efi/freebsd
cp /boot/loader.efi /boot/efi/efi/freebsd/loader.efi
/b/ gives this error:
Code:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 2 nda0
gpart: /dev/nda0p2: not enough space
Adding a new disk isn't feasible (as the appliance doesn't allow for it). Perhaps a potential solution could be to erase existing nda0p2 and recreate it - but I'm not very skilled at such low-level commands, and also am unsure whether there's space to do so anymore.
If I understand the output of
gpart show correctly, then freebsd-boot (on nda0p2) is only 311 bytes whereas /boot/pmbr is 512. So, deleting existing freebsd-boot partition to recreate it will not help as there isn't no larger (than 311 bytes) space available anymore? I read somewhere that manipulation of swap partition could create that extra ~250 bytes needed to delete and recreate freebsd-boot partition.
Code:
swapinfo
Device 1K-blocks Used Avail Capacity
/dev/gpt/swapfs 9033908 0 9033908 0%
Am I hosed?