
Am 18.04.2017 um 00:26 schrieb Vagrant Cascadian:
DHCP the protocol is not at all u-boot specific, sure, but the boot method:
#define BOOTENV_DEV_DHCP(devtypeu, devtypel, instance) \ "bootcmd_dhcp=" \ BOOTENV_RUN_NET_USB_START \ BOOTENV_RUN_NET_PCI_ENUM \ "if dhcp ${scriptaddr} ${boot_script_dhcp}; then " \ "source ${scriptaddr}; " \ "fi;" \ BOOTENV_EFI_RUN_DHCP \ "\0"
I guess I was referring to "source ${scriptaddr}; " line, which is quite u-boot specific. I didn't realize that "DHCP" also had support for EFI loaded over the network.
DHCP just sets a filename that we can then load. What differs is where it gets loaded and what gets done with it next.
It seems unforunate that the EFI network boot is only a fallback to loading a boot script over the network, as boot scripts and EFI boot seem to me like two unrelated features.
When loading from MMC, I think the order goes something like EFI, extlinux, u-boot boot scripts.
Nope, boot.scr goes before EFI also in the MMC case. That way I can have a boot.scr script on SD that applies overlays with fdt apply and then calls bootefi manually. And if anything goes wrong with the overlay, a simple exit from the GRUB prompt still boots me into a working system via the default EFI boot.
Cheers, Andreas