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

