Date: Sat, 7 Sep 2024 02:50:52 +0900 From: Tomoaki AOKI <junchoon@dec.sakura.ne.jp> To: Warner Losh <imp@bsdimp.com> Cc: FreeBSD Current <freebsd-current@freebsd.org>, void <void@f-m.fm> Subject: Re: Loader needs to be updated message Message-ID: <20240907025052.c93cd502dba60910f47a4c00@dec.sakura.ne.jp> In-Reply-To: <CANCZdfoH2_UhjpMhDtGdkH04zHUZc4SS6Ua80iSBoToJQBxMPA@mail.gmail.com> References: <ZtsN-Z-qDfgU4zzk@int21h> <CANCZdfpgCyLOPrhnuWaHL_Sb6qDR9Pdqxy9CnPcxOq6AOehrYA@mail.gmail.com> <ZtsVQav0_oHU2H0x@int21h> <CANCZdfoH2_UhjpMhDtGdkH04zHUZc4SS6Ua80iSBoToJQBxMPA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 6 Sep 2024 09:00:58 -0600 Warner Losh <imp@bsdimp.com> wrote: > On Fri, Sep 6, 2024, 8:44 AM void <void@f-m.fm> wrote: > > > On Fri, Sep 06, 2024 at 08:25:16AM -0600, Warner Losh wrote: > > >On Fri, Sep 6, 2024 at 8:13 AM void <void@f-m.fm> wrote: > > > > > >> Hi, > > >> > > >> when booting -current (arm64) after building world & friends and > > rebooting, > > >> the beastie menu shows "Loader needs to be updated". > > >> > > >> I presume this to be gptzfsboot because the system is root-on-zfs. > > >> > > >> The issue I'm having is that I can't see in the manpage how to actually > > >> update it. > > >> > > >> The system uses GELI encryption for zfs. i don't want to break this. > > >> > > > > > >Loader, not boot. /boot/loader or loader.efi does not match (is older than > > >and doesn't has the wrong version) the lua scripts. That needs to be > > >updated. > > > > > >Almost always this means 'you didn't update the ESP' which usually isn't > > >a problem, but can be across major (or multiple major) releases. > > > > > >Warner > > > > Hi Warner, > > > > some more context which I'm sorry I forgot to add > > > > source upgrade on a rpi4 (arm64) from n271321-9ae91f59c500 (28th July) to > > n271832-04262ed78d23 > > (today - this machine follows stablisation week) > > > > How is /boot/loader and/or loader.efi updated? > > What is ESP in this context? > > > > man loader.efi has the instructions. > > Warner Some additional explanation. Before, loader.efi itself could not be kicked directly from UEFI firmware and needs boot1.efi to kick loader.efi. In this case, boot code in ESP (uEFI System Partition, formatted with FAT32, 16 or possibly 12) was completely different with /boot/loader.efi. But now (by default for new UEFI installations), loader.efi can be kicked directly by UEFI firmware if it is put with proper directory and name in ESP. This would be what confusing you. With `make installworld` or usual freebsd-update, everything need updating in /boot/ should be updated, but nothing in ESP is updated automatically. This causes what you're experiencing. Unfortunately, how loader.efi should be installed in ESP depends on the environment it is installed. Old or buggy UEFI firmware could force you installing it as, for example for amd64, BOOT/EFI/BOOTx64.EFI in ESP to work, but usually BOOT/FreeBSD/loader.efi would work if UEFI boot manager is properly configured for it. Some would need ESP on all drives and keep all of them in sync. Yes, hard to automate properly for every possible situations, unlike /boot/. -- Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20240907025052.c93cd502dba60910f47a4c00>