Re: 24.3. Updating Bootcode

From: Toomas Soome <tsoome_at_me.com>
Date: Tue, 16 Aug 2022 12:15:16 UTC

> On 16. Aug 2022, at 15:01, Nuno Teixeira <eduardo@freebsd.org> wrote:
> 
> Hi Toomas,
> 
> For better OS support, the UEFI specification (UEFI 2.8A Feb 14, page 499) is suggesting to use structure like:
> 
> <ESP>/efi/<OS>/…
> 
> And to use this suggestion, it means the UEFI Boot Manager needs to be configured (see efibootmgr(8)).
> 
> Therefore, once you have set up OS specific setup, there is no use for default (<ESP>/efi/boot/…) and you need to update one or another, but not both.
> 
> FreeBSD have <ESP>/efi/freebsd/... but it's not configured in efibootmgr:
> 
> efibootmgr -v:
> ---
> BootOrder  : 0004, 0000, 2002, 2003, 2001
> Boot0004* Windows Boot Manager HD(1,GPT,8c497825-1db2-41f8-8924-85dfd0bb7283,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)
>                                    da0p1:/EFI/Microsoft/Boot/bootmgfw.efi (null)
> +Boot0000* EFI Hard Drive (SAMSUNG MZVLB1T0HBLR-000L2) PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)/NVMe(0x1,39-f9-b8-01-81-38-25-00)/HD(1,GPT,73acd1b2-de41-11eb-8156-002b67dfc673,0x28,0x82000)
>  Boot2002* EFI DVD/CDROM
>  Boot2003* EFI Network
>  Boot2001* EFI USB Device
> ---
> so boot is definitely using <ESP>/efi/boot/bootx64.efi @Boot0000 <>

Yes, Boot0000 does not specify file name, so it is using default path there.

> 
> I think I can create a new boot:
> ---
> efibootmgr -a -c -l /boot/efi/efi/freebsd/loader.efi -L FreeBSD-14
> (and make it active)
> efibootmgr -a -b NNNN
> ---
> and create other for loader.efi.old in case of problems.
> 
> In this case I will need only update <ESP>/efi/freebsd/loader.efi.
> 
> Q: for what has been said in mailing, boot is compiled in /usr/src/stand, isn't a good idea that when it install new boot it backup old boot like /boot/kernel -> /boot/kernel.old?
> 

Boot loader update does not touch kernel, but when you do installkernel, that one will create backup copy for you. And, if you are using zfs root, you really should use boot environments.

rgds,
toomas