I did "zpool upgrade tank0" on one of our machines with FreeBSD 12.2-p13
amd64 and then got this message:
# zpool upgrade tank0
This system supports ZFS pool feature flags.
Enabled the following features on 'tank0':
large_dnode
spacemap_v2
allocation_classes
If you boot from pool 'tank0', don't forget to update boot code.
Assuming you use GPT partitioning and da0 is your boot disk
the following command will do it:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
I am not sure what I should update. This machine is EFI boot only (this
is the only one EFI machine we have).
# gpart show
=> 40 1953525088 nvd0 GPT (932G)
40 409600 1 efi (200M)
409640 1024 2 freebsd-boot (512K)
410664 113624 - free - (55M)
524288 20971520 3 freebsd-swap (10G)
21495808 1932001280 4 freebsd-zfs (921G)
1953497088 28040 - free - (14M)
=> 40 1953525088 nvd1 GPT (932G)
40 409600 1 efi (200M)
409640 1024 2 freebsd-boot (512K)
410664 113624 - free - (55M)
524288 20971520 3 freebsd-swap (10G)
21495808 1932001280 4 freebsd-zfs (921G)
1953497088 28040 - free - (14M)
Should I run:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 2 nvd0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 2 nvd1
Or should I update EFI partitions? (if so, then how?)
This machine is very problematic with booting and mounting NVME disks.
They are not visible until I disabled PCI hot plug with
hw.pci.enable_pcie_hp="0" in /boot/loader.conf
This is production machine so I would really like to do it right and not
make it unbootable.
Kind regards
Miroslav Lachman