Re: 13.3R's installworld killed system--please help!
- Reply: Scott Bennett : "Re: 13.3R's installworld killed system--please help!"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 09 Sep 2024 04:38:26 UTC
Scott Bennett <bennett_at_sdf.org> wrote on Date: Mon, 09 Sep 2024 02:13:19 UTC : > ax61@disroot.org wrote: > > Thank you for replying! > . . . > > > > Looks like did not update the boot loader. > > Looks like what did not update it? > My understanding was that rewriting the boot code was a step incorporated > into installworld at least a couple of major releases ago. Nope. It looks like the 13.* UDPATING text never got the additional wording that was added to help avoid confusions, including 13.4-RC3 not having it. So, quoting from 14.1's UPDATING . . . [See the "2)" and "3) . . . New bootblocks . . ." wording and the later "The EFI boot loader . . . For ZFS booting . . ." wording. They indicate, for a ZFS boot "drive"/partition/. . ., explicitly upgrading bootblocks (if any) and/or boot loaders before doing a zpool upgrade.] QUOTE ZFS notes --------- When upgrading the boot ZFS pool to a new version (via zpool upgrade), always follow these three steps: 1) recompile and reinstall the ZFS boot loader and boot block (this is part of "make buildworld" and "make installworld") 2) update the ZFS boot block on your boot drive (only required when doing a zpool upgrade): When booting on x86 via BIOS, use the following to update the ZFS boot block on the freebsd-boot partition of a GPT partitioned drive ada0: gpart bootcode -p /boot/gptzfsboot -i $N ada0 The value $N will typically be 1. For EFI booting, see EFI notes. 3) zpool upgrade the root pool. New bootblocks will work with old pools, but not vice versa, so they need to be updated before any zpool upgrade. Non-boot pools do not need these updates. EFI notes --------- There are two locations the boot loader can be installed into. The current location (and the default) is \efi\freebsd\loader.efi and using efibootmgr(8) to configure it. The old location, that must be used on deficient systems that don't honor efibootmgr(8) protocols, is the fallback location of \EFI\BOOT\BOOTxxx.EFI. Generally, you will copy /boot/loader.efi to this location, but on systems installed a long time ago the ESP may be too small and /boot/boot1.efi may be needed unless the ESP has been expanded in the meantime. Recent systems will have the ESP mounted on /boot/efi, but older ones may not have it mounted at all, or mounted in a different location. Older arm SD images with MBR used /boot/msdos as the mountpoint. The ESP is a MSDOS filesystem. The EFI boot loader rarely needs to be updated. For ZFS booting, however, you must update loader.efi before you do 'zpool upgrade' the root zpool, otherwise the old loader.efi may reject the upgraded zpool since it does not automatically understand some new features. See loader.efi(8) and uefi(8) for more details. END QUOTE === Mark Millard marklmi at yahoo.com