Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Mar 2020 18:31:50 -0700
From:      Chris <bsd-lists@BSDforge.com>
To:        freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: When will the FreeBSD (u)EFI work?
Message-ID:  <b21e4f2c2672a31fade6b77893a508d6@udns.ultimatedns.net>
In-Reply-To: <CANCZdfoBFPUosZLsZcAWcqHhi2n8YFYnsk=qUzt8pDPzyyyA8Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 27 Mar 2020 17:27:27 -0600 Warner Losh imp@bsdimp=2Ecom said

> On Fri, Mar 27, 2020 at 4:54 PM Chris <bsd-lists@bsdforge=2Ecom> wrote:
>=20
> > On Sat, 28 Mar 2020 01:10:37 +0300 Andrey Fesenko f0andrey@gmail=2Ecom sa=
id
> >
> > > On Sat, Mar 28, 2020 at 12:53 AM Chris <bsd-lists@bsdforge=2Ecom> wrote=
:
> > > >
> > > > On an experiment of the FreeBSD EFI implementation=2E I installed
> > > > a copy of releng/12 from install media=2E Which left me with:
> > > > # gpart show ada0
> > > > =3D>       40  312581728  ada0  GPT  (149G)
> > > >          40     409600     1  efi  (200M)
> > > >      409640   31047680     2  freebsd-ufs  (15G)
> > > >    31457320    7680000     3  freebsd-swap  (3=2E7G)
> > > >    74788904  237792864        - free -  (141G)
> > > >
> > > > On this Intel based system, I can stab the F12 key to pick
> > > > my UEFI bootable OS, or let it boot according to the order
> > > > I setup in the BIOS=2E So far, so good=2E
> > > > I needed a copy of releng/13 to also work with=2E Installed a copy
> > > > from install media=2E Which left me with:
> > > > # gpart show ada0
> > > > =3D>       40  312581728  ada0  GPT  (149G)
> > > >          40     409600     1  efi  (200M)
> > > >      409640   31047680     2  freebsd-ufs  (15G)
> > > >    31457320    7680000     3  freebsd-swap  (3=2E7G)
> > > >    39137320     532480     4  efi  (260M)
> > > >    39669800   35119104     5  freebsd-ufs  (17G)
> > > >    74788904  237792864        - free -  (113G)
> > > > I *assumed* that the install would activate the new install, and I
> > > > would boot straight into it=2E But no=2E I am still on the previous
> > > > install, and worse, I can't get into the new install -- even if
> > > > picking it via stabbing the F12 key=2E I *still* end up in the previo=
us
> > > > install=2E So looking at what might be causing it=2E I found the follow=
ing:
> > > > # releng/12
> > > > # mount -t msdosfs /dev/ada0p1 /mnt/
> > > >
> > > > # ls /mnt/efi/boot/
> > > > BOOTx64=2Eefi
> > > > startup=2Ensh
> > > >
> > > > # cat /mnt/efi/boot/startup=2Ensh
> > > > BOOTx64=2Eefi
> > > >
> > > > # umount /mnt/
> > > >
> > > > releng/13
> > > > # mount -t msdosfs /dev/ada0p4 /mnt/
> > > >
> > > > # ls /mnt/EFI/freebsd/
> > > > loader=2Eefi
> > > >
> > > > Why the difference? When will FreeBSD (u)EFI work as expected?
> > > >
> > > > Thanks in advance for any insights!
> > > >
> > >
> > > Require only single efi part
> > >
> > > See
> > >
> > https://forums=2Efreebsd=2Eorg/threads/two-freebsd-installations-and-efi=2E73=
968/
> > Thanks for they reply, and link, Andrey!
> > Well that confirms it=2E FreeBSD, unlike other OS implementations, will n=
ot
> > permit booting your chosen "version" via EFI=2E
>=20
>=20
Firstly, *huge* thanks for your informative reply, Warner!
> It does today=2E If you use efibootmgr, you can boot exactly what you want=2E=
 I
> do it all the time=2E=2E=2E  Though your BIOS may overwrite the EFI vars if you
> set too many (I'm looking at you supermicro)=2E When you use the efi BootXX=
XX
> variables, it's possible to boot one of many different things on the
> system=2E=2E=2E  Though I've not done 11, just 12 and current=2E
Well=2E That's the thing=2E I *am* on 12 && 13=2E Well *trying* to get into 13=2E
When I started this whole thing, I had some 15 entries returned by efibootm=
gr(8) -v=2E
So I trimmed the list down to the 2 my BIOS presents as UEFI:
Boot0015  UEFI: WDC WD1600JS-98MHB0 PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x0,0xf=
fff,0x0)/HD(4,GPT,6688c5af-6f93=2E=2E=2E
Boot0011* UEFI: WDC WD1600JS-98MHB0 PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x0,0xf=
fff,0x0)/HD(1,GPT,260d2df2-6a10=2E=2E=2E
another entry created when I installed releng/13:
Boot0014  FreeBSD (ada0p4) HD(4,GPT,6688c5af-6f93-11ea-adbb-4c72b9f5e07f,0x=
2553028,0x82000)/File(\EFI\free=2E=2E=2E
and a Windows reference (currently not installed)=2E
I activated *both* Boot0015 and Boot0011:
efibootmgr -a 0015 0011=2E Output confirmed success=2E Bounced box, choose Boot=
0015=2E Which booted
initial releng/12 install=2E Fail=2E OK Try something different;
efibootmgr -a 0014 -L FreeBSD-13=2E Output confirms the -L switch is broken, =
but 00114 is active=2E
Bounce box && choose 0014=2E Boots to initial releng/12 install=2E

Conclusion; FreeBSD EFI/ESP is not ready for prime time=2E :(

Thanks again for the reply, Warner! :)

--Chris
>=20
>=20
> > That is; not without dropping
> > to the loader prompt, or changing the status of slices, or boot entries
> > prior to
> > reboot=2E :(
> >
>=20
> Not needed=2E
>=20
>=20
> > Looks like I'll need to install a third party OS, or bootmanager to use
> > FreeBSD=2E
> > Sigh=2E=2E=2E
> >
>=20
> Again, not needed=2E Though there may be a few things that need to be MFC'd
> if you want 11 on that list=2E=2E=2E
>=20
>=20
> > There *may* be hope in the future (
> > https://bugs=2Efreebsd=2Eorg/bugzilla/show_bug=2Ecgi?id=3D207940)
> >
>=20
> This would require you to stop to select on the way up=2E=2E=2E Or am I not
> understanding what you want?
>=20
> We should add that functionality to loader=2Eefi, since boot1=2Eefi is in the
> process of being deprecated=2E=2E=2E It should be a simple LUA script there=2E=2E=2E
>=20
>=20
> > Thanks again, Andrey=2E Greatly appreciated! :)
> >





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b21e4f2c2672a31fade6b77893a508d6>