Re: FreeBSD 14.1 and UEFI boot ignores bootme flag
- In reply to: Daniel Braniss : "Re: FreeBSD 14.1 and UEFI boot ignores bootme flag"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 13 Aug 2024 19:14:46 UTC
On 8/13/2024 09:30, Daniel Braniss wrote: > > >> On 13 Aug 2024, at 15:38, Warner Losh <imp@bsdimp.com> wrote: >> >> >> >> On Tue, Aug 13, 2024, 12:11 AM Daniel Braniss <danny@cs.huji.ac.il> >> wrote: >> >> hi, >> my disk has 2 root partitions, and once I switched to UEFI boot, >> can’t boot the second partition: >> (the hardware is a bit old, Dell PowerEdge R710 with bios from >> 05/22/2018) >> >> store-08# gpart show -l >> => 40 5857345456 mfid0 GPT (2.7T) >> 40 81920 1 efi (40M) >> 81960 8388608 2 root (4.0G) >> 8470568 8388608 3 root0 [bootme] (4.0G) >> 16859176 8388608 4 d1 (4.0G) >> 25247784 8388608 5 d2 (4.0G) >> 33636392 5823709104 6 zfs (2.7T) >> >> it only boots from partition 2. >> >> so is there any magic? >> >> >> Use efibootmgr. Bootme flags are non-standard and have been ignored >> in UEFI since the start. > > I read the man for efibootmgr but it was way above my pay grade :-) > I tried add/create but got nowhere. > > store-08# efibootmgr > BootCurrent: 0000 > Timeout : 0 seconds > BootOrder : 0002, 0000, 0001 > Boot0002* Broadcom NetXtreme II Gigabit Ethernet (BCM5709) > +Boot0000* EFI Fixed Disk Boot Device 1 > Boot0001* TSSTcorp DVD+/-RW TS-L633C > > At some point I succeeded in deleting the dvd, but now I see its back. > > So how do I add a second boot partition? > > (If the sequence look fishy, it’s because I can change the boot > sequence via DHCP) > > Try this: root@TnHouse:/data/karl # gpart show => 63 62521281 mmcsd0 MBR (30G) 63 102375 1 fat32lba [active] (50M) 102438 15522562 2 freebsd (7.4G) 15625000 46896344 - free - (22G) => 0 15522562 mmcsd0s2 BSD (7.4G) 0 7168000 1 freebsd-ufs (3.4G) 7168000 7168000 2 freebsd-ufs (3.4G) 14336000 65536 4 freebsd-ufs (32M) 14401536 1121026 5 freebsd-ufs (547M) This is a Pi3/4 boot SD card, thus MBR ('cause it has to be) but the system actually BOOTS off the EFI partition. In there we have.... root@TnHouse:/mnt # ls -laR EFI total 12 drwxr-xr-x 1 root wheel 4096 Jul 4 15:11 . drwxr-xr-x 1 root wheel 16384 Dec 31 1979 .. drwxr-xr-x 1 root wheel 4096 Jul 4 15:11 BOOT drwxr-xr-x 1 root wheel 4096 Jul 4 15:11 FreeBSD EFI/BOOT: total 840 drwxr-xr-x 1 root wheel 4096 Jul 4 15:11 . drwxr-xr-x 1 root wheel 4096 Jul 4 15:11 .. -rwxr-xr-x 1 root wheel 849444 Jul 4 15:13 bootaa64.efi EFI/FreeBSD: total 12 drwxr-xr-x 1 root wheel 4096 Jul 4 15:11 . drwxr-xr-x 1 root wheel 4096 Jul 4 15:11 .. -rwxr-xr-x 1 root wheel 17 Aug 8 19:17 loader.env And loader.env contains... root@TnHouse:/mnt/EFI/FreeBSD # cat loader.env rootdev=disk0s2b There you go. Works great and is basically the same as "bootme" Should work for any EFI bootable system. -- Karl Denninger karl@denninger.net /The Market Ticker/ /[S/MIME encrypted email preferred]/