
By "EFI app", do you mean a way of booting "/efi/boot/bootXX.efi" (default file name in case that no image path is specified)?
In fact, this behavior, or removable media support, is defined as part of UEFI boot manager in UEFI specification. (See section 3.5) What this means is that the boot order, including a removable media case and user-provided BootXXXX cases, should be controlled solely by "BootOrder" variable. So the current combination of distro_bootcmd + UEFI boot manger doesn't fully comply with the specification.
Even if those two cases are integrated, I don't know how "BootOrder" semantics can be preserved in your approach.
I think the high level answer is that whereas today part of distro_bootcmd (and so iterating over boot_targets) "bootefi bootmgr" gets run, with what Simon is proposing we would have an easier / quicker way to get over to just running that. Perhaps a clean-up to just use that, even? Or are we not to the point yet where we could remove the direct fall-back to /efi/boot/bootXX.efi ?
I've not actually got as far as grabbing this series and trying it out but I like a bunch of the concepts.
If we can use this to replace a bunch of the distro_boot hush script checks for various devices in which to boot from and make it a more standardised logic I think that's an overall win. Double bonus points if we could have an easy way to specify a boot order and even have the ability to have a "Press F8 to display a boot menu" style option where a user could select the specific device they wish to attempt to boot from without having to interrupt the boot, and often dive into printenv and random commands to try and workout where/where/why to get it to overide the onboarad eMMC so they can boot off a USB stick!
Peter