GPT boot has less features than legacy MBR-based one (Was: UEFI, loader.efi and /boot.config)
Emmanuel Vadot
manu at bidouilliste.com
Fri Jan 18 21:10:23 UTC 2019
On Fri, 18 Jan 2019 22:50:31 +0300
Lev Serebryakov <lev at FreeBSD.org> wrote:
> On 18.01.2019 22:35, Rodney W. Grimes wrote:
>
> >>> errm.. you press a key and enter device and or loader path. if it is not working - the code is there to be fixed.
> >> And loader looks to "bootme" attribute and try to boot from partition
> >> which has one, even if it is loaded from other partition itself.
> >>
> >>> GPT does not have the concept of active partition.
> >> It has "bootme" / "bootonce" attributes. And [zfs]gptboot doesn't have
> >> any tools to set these attributes, AFAIK. Same for UEFI boot code.
> >
> > The gpart(8) command is used to set/unset these.
> gpart need booted system. NanoBSD typically have two "system"
> partitions, "old" (previous) and "new" (current). After upgrade they
> switched (new code is written to "previos" partition and bootable
> atteibute is set to it, "active" in case of MBR and "bootme" in case of
> GPT).
>
> If this new partition has problems and could not be booted, it is hard
> to boot from "old" (previous) one. MBR + boot0 could (interactively)
> change active partition before system is booted, and this problem could
> be solved with one keypress: you select old partition on boot.
>
> --
> // Lev Serebryakov
>
With UEFI Boot* variable you could do :
- Update previous partition and set BootNext to it
- If it fail next boot will be on current partition due to BootOrder
- If it succeed, change the BootOrder to have the new partition first.
--
Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>
More information about the freebsd-current
mailing list