[RFC PATCH 3/3] efidebug: add multiple device path instances on Boot####

Ilias Apalodimas ilias.apalodimas at linaro.org
Thu Jan 14 10:55:12 CET 2021


On Thu, Jan 14, 2021 at 02:11:33PM +0900, AKASHI Takahiro wrote:
> Ilias,
> 
> On Wed, Jan 13, 2021 at 01:11:49PM +0200, Ilias Apalodimas wrote:
> > The UEFI spec allow a packed array of UEFI device paths in the
> > FilePathList[] of an EFI_LOAD_OPTION. The first file path must
> > describe the laoded image but the rest are OS specific.
> > Previous patches parse the device path and try to use the second
> > member of the array as an initrd. So let's modify efidebug slightly
> > and install the second file described in the command line as the
> > initrd device path.
> 
> I have a concern about your proposed command line syntax.
> It takes a lot of parameters as a whole which makes it
> hard to understand it at a glance, easily overflowing
> the width of terminal window.
> 
> It will even get worse if we want to take dtb as a third
> device path, and what if we want to specify dtb, but not initrd?
> 
> Moreover, if we want to add support for non-linux executabes which
> utilize extra device paths (neither initrd nor dtb) in a boot
> load option, the syntax will be problematic.
> 

Maybe we should add explicit commands in efidebug then?
Something like:
efidebug initrd add 0002 virtio 1 initrd_file
efidebug dtb add 0002 virtio 1 dtb

That would untangle the do_efi_boot_add() function, make our lives easier on
adding things like 'kernel <no initrd> valid dtb' and should be much easier 
to use. The user will just have to make sure the boot order numbers match when 
adding files

[...]

Cheers
/Ilias


More information about the U-Boot mailing list