[U-Boot] [PATCH v2 0/7] efi_loader: PXE boot support

Alexander Graf agraf at suse.de
Fri May 6 21:01:00 CEST 2016


One of the most common boot cases with EFI on arm64 is to boot from the
network using PXE boot. While TianoCore implements that just fine, we
were lacking support for it in U-Boot so far.

But no longer! Here is a patch set, enabling PXE booting of EFI payloads.
With this patch set, I was successfully able to automatically boot our
normal (usually used with TianoCore based systems) environment to boot
and run grub2 and a kernel from there with U-Boot.

Changes from v1 -> v2:

  - Only set client id to 0 on x86
  - new patch: net: Fix client identifiers for ARM
  - new patch: net: Move CONFIG_SPL_NET_VCI_STRING into Kconfig
  - new patch: net: Optionally use pxe client arch from variable
  - Error out for unknown arch
  - Also set client arch variable

Alexander Graf (7):
  efi_loader: Add network access support
  bootp: Move vendor class identifier set to function
  net: Move the VCI and client arch values to Kconfig
  net: Fix client identifiers for ARM
  net: Move CONFIG_SPL_NET_VCI_STRING into Kconfig
  net: Optionally use pxe client arch from variable
  distro: Add efi pxe boot code

 cmd/bootefi.c                             |   7 +
 configs/am335x_evm_defconfig              |   1 +
 configs/am335x_evm_nor_defconfig          |   1 +
 configs/am335x_evm_norboot_defconfig      |   1 +
 configs/am335x_evm_spiboot_defconfig      |   1 +
 configs/am335x_evm_usbspl_defconfig       |   1 +
 configs/am335x_sl50_defconfig             |   1 +
 configs/am437x_gp_evm_defconfig           |   1 +
 configs/am437x_sk_evm_defconfig           |   1 +
 configs/am43xx_evm_defconfig              |   1 +
 configs/am43xx_evm_ethboot_defconfig      |   1 +
 configs/am43xx_evm_qspiboot_defconfig     |   1 +
 configs/am43xx_evm_usbhost_boot_defconfig |   1 +
 configs/birdland_bav335a_defconfig        |   1 +
 configs/birdland_bav335b_defconfig        |   1 +
 configs/ls2080a_emu_defconfig             |   1 +
 configs/ls2080a_simu_defconfig            |   1 +
 configs/pcm051_rev1_defconfig             |   1 +
 configs/pcm051_rev3_defconfig             |   1 +
 configs/thunderx_88xx_defconfig           |   1 +
 configs/vexpress_aemv8a_dram_defconfig    |   1 +
 configs/vexpress_aemv8a_juno_defconfig    |   1 +
 configs/vexpress_aemv8a_semi_defconfig    |   1 +
 configs/vexpress_ca15_tc2_defconfig       |   1 +
 configs/vexpress_ca5x2_defconfig          |   1 +
 configs/vexpress_ca9x4_defconfig          |   1 +
 include/config_distro_bootcmd.h           |  47 ++++-
 include/config_distro_defaults.h          |  21 ---
 include/configs/ls2080a_emu.h             |   1 -
 include/configs/ls2080a_simu.h            |   1 -
 include/configs/thunderx_88xx.h           |   2 -
 include/configs/vexpress_aemv8a.h         |   2 -
 include/configs/vexpress_ca15_tc2.h       |   1 -
 include/configs/vexpress_ca5x2.h          |   1 -
 include/configs/vexpress_ca9x4.h          |   1 -
 include/efi_api.h                         | 119 ++++++++++++
 include/efi_loader.h                      |   7 +
 include/net.h                             |   2 +-
 lib/efi_loader/Makefile                   |   1 +
 lib/efi_loader/efi_net.c                  | 291 ++++++++++++++++++++++++++++++
 net/Kconfig                               |  16 ++
 net/bootp.c                               |  59 +++---
 net/net.c                                 |   4 +-
 net/tftp.c                                |   2 +
 44 files changed, 554 insertions(+), 56 deletions(-)
 create mode 100644 lib/efi_loader/efi_net.c

-- 
1.8.5.6



More information about the U-Boot mailing list