[U-Boot] [PATCH v3 15/21] efi_loader: add bootmgr

Alexander Graf agraf at suse.de
Thu Sep 21 05:07:28 UTC 2017



> Am 21.09.2017 um 06:58 schrieb Simon Glass <sjg at chromium.org>:
> 
> Hi,
> 
>> On 20 September 2017 at 08:09, Rob Clark <robdclark at gmail.com> wrote:
>>> On Wed, Sep 20, 2017 at 5:08 AM, Alexander Graf <agraf at suse.de> wrote:
>>> 
>>> 
>>>> On 14.09.17 00:05, Rob Clark wrote:
>>>> 
>>>> Similar to a "real" UEFI implementation, the bootmgr looks at the
>>>> BootOrder and BootXXXX variables to try to find an EFI payload to load
>>>> and boot.  This is added as a sub-command of bootefi.
>>>> 
>>>> The idea is that the distro bootcmd would first try loading a payload
>>>> via the bootmgr, and then if that fails (ie. first boot or corrupted
>>>> EFI variables) it would fallback to loading bootaa64.efi.  (Which
>>>> would then load fallback.efi which would look for \EFI\*\boot.csv and
>>>> populate BootOrder and BootXXXX based on what it found.)
>>>> 
>>>> Signed-off-by: Rob Clark <robdclark at gmail.com>
>>> 
>>> 
>>> Would it make sense to convert the bootmgr into a genuine EFI application
>>> now that we have Heinrich's test framework available?
>>> 
>> 
>> I had considered that, but then decided it was nice to be able to use
>> printf()/malloc()/etc.. plus easier to gdb/debug..
>> 
>> Maybe at some point it would be worth trying to fixup edk2 build so
>> some things like this and HII/unicode protocols and maybe a few other
>> things could be built as standalone .efi drivers and loaded by u-boot.
>> (Might make sense by the time someone wants a full blown HII "bios
>> setup menu" ;-))
> 
> Another advantage of the current approach used by this series is that
> we can test it with sandbox. With a separate EFI application we would
> lose that ability.

By separate I meant something similar to Heinrich's self-test that is compiled in, but runs in uefi context rather than u-boot context.

I agree that it's not terribly important though. I was just wondering if there was any benefit to it, as it mostly seems to consist of EFI_CALL() calls ;).


Alex




More information about the U-Boot mailing list