Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Sep 2024 15:13:59 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        void <void@f-m.fm>, Current FreeBSD <freebsd-current@freebsd.org>
Subject:   Re: Loader needs to be updated message
Message-ID:  <4DC8866B-BEF1-4D53-962F-3B7F93232A7E@yahoo.com>
References:  <4DC8866B-BEF1-4D53-962F-3B7F93232A7E.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
void <void_at_f-m.fm> wrote on
Date: Fri, 06 Sep 2024 18:12:10 UTC :
=20
> On Fri, Sep 06, 2024 at 09:00:58AM -0600, Warner Losh wrote:
>=20
> >man loader.efi has the instructions.
>=20
> I followed the instructions:
>=20
> # gpart list | grep -Ew '(Name|efi)'
> 1. Name: da0p1
> type: efi
> 2. Name: da0p2
> 3. Name: da0p3
> 1. Name: da0
>=20
> The manpage says:
>=20
> " Second, let's mount the ESP, copy loader.efi to the special location
> reserved for FreeBSD EFI loaders, and unmount once finished:
>=20
> # mount_msdosfs /dev/nvd0p1 (my system would be da0p1) /boot/efi
> # cp /boot/loader.efi /boot/efi/efi/freebsd/loader.efi
> # umount /boot/efi
> "
>=20
> However, on this system, /boot/efi is mounted at boot-time so I just =
copied it over.
>=20
> ( /dev/gpt/efiboot0 on /boot/efi (msdosfs, local) )
>=20
> I first checked to make sure the file being copied over was newer and =
the right type
>=20
> file /boot/loader.efi
> /boot/loader.efi: PE32+ executable (EFI application) Aarch64, for MS =
Windows, 2 sections
>=20
> ls -lah /boot/loader.efi
> -r-xr-xr-x 2 root wheel 824K 6 Sep 14:47 /boot/loader.efi*
>=20
> file /boot/efi/efi/freebsd/loader.efi
> /boot/efi/efi/freebsd/loader.efi: PE32+ executable (EFI application) =
Aarch64, for MS Windows, 2 sections
>=20
> ls -lah /boot/efi/efi/freebsd/loader.efi
> -rwxr-xr-x 1 root wheel 830K 25 Jul 07:58 =
/boot/efi/efi/freebsd/loader.efi*
>=20
> copied it over, rebooted, but the error message persists. Do you have =
any other suggestions
> please? thanks

What shows if you do the likes of (showing an amd64 context example):

# ls -lah /boot/efi/efi/*/*
-r-xr-xr-x  1 root wheel  643K Aug 24 05:32 =
/boot/efi/efi/BOOT/bootx64.efi
-rwxr-xr-x  1 root wheel  643K Aug 24 05:32 =
/boot/efi/efi/FREEBSD/loader.efi

If one is old, then it is probably the one actually being used.
(The name bootx64.efi is amd64 specific: other platforms use
other names.)

In such a case, you might need something like:

# cp -a /boot/loader.efi /boot/efi/efi/BOOT/bootx64.efi


=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DC8866B-BEF1-4D53-962F-3B7F93232A7E>