[PATCH v2 0/9] efi: Various tidy-ups and drop the default
Mark Kettenis
mark.kettenis at xs4all.nl
Fri Jul 2 21:50:24 CEST 2021
> From: Simon Glass <sjg at chromium.org>
> Date: Fri, 2 Jul 2021 12:36:11 -0600
>
> It has come to light that EFI_LOADER adds an extraordinary amount of
> code to U-Boot. For example, with nokia_rx51 the size delta is about
> 90KB. About 170 boards explicitly disable the option, but is is clear
> that many more could, thus saving image size and boot time.
>
> The current situation is affecting U-Boot's image as a svelt bootloader.
>
> EFI_LOADER is required by EBBR, a new boot standard which aims to
> bring in UEFI protocols to U-Boot. But EBRR is not required for
> booting. U-Boot already provides support for FIT, the 'bootm' command
> and a suitable hand-off to Linux. EBRR has made the decision to create
> a parallel infrastructure, e.g. does not use FIT, nor U-Boot's signing
> infrastructure.
>
> EBBR should be truly optional, enabled only by boards that use it. Most
> don't use it but it is enabled anyway. The default boot path should be
> one that makes use of the existing U-Boot support.
>
> To try to retify this situation, this series adds a new Kconfig option
> for EBBR so that the naming is more explicit. Then EFI_LOADER is updated
> to depend on it.
>
> The final patch makes EBBR optional. For now, only sandbox enables EBBR.
> Other boards can be added as needed, presumably by distributions that
> require it. Another approach would be to add 'CONFIG_EBBR=y' to the
> .config before building, in the build system. That might be more friendly
> to U-Boot users.
>
> This series also fixes a minor issue noticed during testing.
I don't understand why you're pushing this series in a form that
still disables EFI_LOADER by default after last weeks discussions.
> Changes in v2:
> - Update commit message
> - Update commit message to be clearer
> - Drop 'struct blk_desc'
> - Move all header inclusions to the top
> - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> - Note the approximate size of this feature in the help
> - Split out new patch to create an option for EBBR
>
> Simon Glass (9):
> configs: Resync with savedefconfig
> Makefile: Drop include/asm directory as well as symlink
> disk: Tidy up #ifdefs in part_efi
> Use LIB_UUID with ACPIGEN and FS_BTRFS
> Allow efi_loader header to be included always
> lib: Create a new Kconfig option for charset conversion
> Make EFI_LOADER depend on DM and OF_CONTROL
> Add an option for EBBR
> efi: Make EBBR optional
>
> Makefile | 2 +-
> common/Kconfig.boot | 16 ++
> configs/am335x_igep003x_defconfig | 1 -
> configs/am335x_pdu001_defconfig | 1 -
> configs/am64x_evm_a53_defconfig | 31 ++-
> configs/apalis-imx8_defconfig | 1 -
> configs/apalis-imx8x_defconfig | 1 -
> configs/aristainetos2c_defconfig | 1 -
> configs/aristainetos2ccslb_defconfig | 1 -
> ...edev_cc_v1_0_ultrazedev_som_v1_0_defconfig | 1 -
> configs/bcm7260_defconfig | 1 -
> configs/bcm7445_defconfig | 1 -
> configs/bcm963158_ram_defconfig | 1 -
> configs/bcm968580xref_ram_defconfig | 1 -
> configs/bitmain_antminer_s9_defconfig | 1 -
> configs/bk4r1_defconfig | 1 -
> configs/brppt1_mmc_defconfig | 1 -
> configs/brppt1_nand_defconfig | 1 -
> configs/brppt1_spi_defconfig | 1 -
> configs/brppt2_defconfig | 1 -
> configs/brsmarc1_defconfig | 1 -
> configs/brxre1_defconfig | 1 -
> configs/cgtqmx8_defconfig | 1 -
> configs/chromebook_coral_defconfig | 1 -
> configs/chromebook_link_defconfig | 1 -
> configs/colibri-imx8x_defconfig | 1 -
> configs/colibri_vf_defconfig | 1 -
> configs/controlcenterdc_defconfig | 1 -
> configs/crs305-1g-4s-bit_defconfig | 1 -
> configs/crs305-1g-4s_defconfig | 1 -
> configs/crs326-24g-2s-bit_defconfig | 1 -
> configs/crs326-24g-2s_defconfig | 1 -
> configs/crs328-4c-20s-4s-bit_defconfig | 1 -
> configs/crs328-4c-20s-4s_defconfig | 1 -
> configs/deneb_defconfig | 1 -
> configs/draco_defconfig | 2 +-
> configs/dragonboard820c_defconfig | 1 -
> configs/efi-x86_app_defconfig | 1 -
> configs/etamin_defconfig | 2 +-
> configs/evb-ast2600_defconfig | 1 -
> configs/evb-px30_defconfig | 1 -
> configs/evb-rk3308_defconfig | 1 -
> configs/evb-rk3568_defconfig | 2 +-
> configs/firefly-px30_defconfig | 1 -
> configs/ge_bx50v3_defconfig | 1 -
> configs/giedi_defconfig | 1 -
> configs/grpeach_defconfig | 1 -
> configs/imx8mm-cl-iot-gate_defconfig | 8 -
> configs/imx8qm_mek_defconfig | 1 -
> configs/imx8qm_rom7720_a1_4G_defconfig | 1 -
> configs/imx8qxp_mek_defconfig | 1 -
> configs/j7200_evm_r5_defconfig | 15 +-
> configs/j721e_evm_r5_defconfig | 13 +-
> configs/kontron_sl28_defconfig | 2 -
> configs/kp_imx53_defconfig | 1 -
> configs/ls1028aqds_tfa_SECURE_BOOT_defconfig | 1 -
> configs/ls1028aqds_tfa_defconfig | 1 -
> configs/ls1028aqds_tfa_lpuart_defconfig | 1 -
> configs/ls1028ardb_tfa_SECURE_BOOT_defconfig | 1 -
> configs/ls1028ardb_tfa_defconfig | 1 -
> configs/ls1043aqds_defconfig | 1 -
> configs/ls1043aqds_lpuart_defconfig | 1 -
> configs/ls1043aqds_nand_defconfig | 1 -
> configs/ls1043aqds_nor_ddr3_defconfig | 1 -
> configs/ls1043aqds_qspi_defconfig | 1 -
> configs/ls1043aqds_sdcard_ifc_defconfig | 1 -
> configs/ls1043aqds_sdcard_qspi_defconfig | 1 -
> configs/ls1043aqds_tfa_SECURE_BOOT_defconfig | 1 -
> configs/ls1043aqds_tfa_defconfig | 1 -
> configs/ls1043ardb_SECURE_BOOT_defconfig | 1 -
> configs/ls1043ardb_defconfig | 1 -
> configs/ls1043ardb_nand_SECURE_BOOT_defconfig | 1 -
> configs/ls1043ardb_nand_defconfig | 1 -
> .../ls1043ardb_sdcard_SECURE_BOOT_defconfig | 1 -
> configs/ls1043ardb_sdcard_defconfig | 1 -
> configs/ls1043ardb_tfa_SECURE_BOOT_defconfig | 1 -
> configs/ls1043ardb_tfa_defconfig | 1 -
> configs/ls1046aqds_SECURE_BOOT_defconfig | 1 -
> configs/ls1046aqds_defconfig | 1 -
> configs/ls1046aqds_lpuart_defconfig | 1 -
> configs/ls1046aqds_nand_defconfig | 1 -
> configs/ls1046aqds_qspi_defconfig | 1 -
> configs/ls1046aqds_sdcard_ifc_defconfig | 1 -
> configs/ls1046aqds_sdcard_qspi_defconfig | 1 -
> configs/ls1046aqds_tfa_SECURE_BOOT_defconfig | 1 -
> configs/ls1046aqds_tfa_defconfig | 1 -
> configs/ls1046ardb_emmc_defconfig | 1 -
> configs/ls1046ardb_qspi_SECURE_BOOT_defconfig | 1 -
> configs/ls1046ardb_qspi_defconfig | 1 -
> configs/ls1046ardb_qspi_spl_defconfig | 1 -
> .../ls1046ardb_sdcard_SECURE_BOOT_defconfig | 1 -
> configs/ls1046ardb_sdcard_defconfig | 1 -
> configs/ls1046ardb_tfa_SECURE_BOOT_defconfig | 1 -
> configs/ls1046ardb_tfa_defconfig | 1 -
> configs/ls1088aqds_qspi_SECURE_BOOT_defconfig | 1 -
> configs/ls1088aqds_qspi_defconfig | 1 -
> configs/ls1088aqds_tfa_defconfig | 1 -
> configs/ls1088ardb_qspi_SECURE_BOOT_defconfig | 1 -
> configs/ls1088ardb_qspi_defconfig | 1 -
> configs/ls1088ardb_tfa_SECURE_BOOT_defconfig | 1 -
> configs/ls1088ardb_tfa_defconfig | 1 -
> configs/ls2080aqds_SECURE_BOOT_defconfig | 1 -
> configs/ls2080aqds_defconfig | 1 -
> configs/ls2080aqds_nand_defconfig | 1 -
> configs/ls2080aqds_qspi_defconfig | 1 -
> configs/ls2080aqds_sdcard_defconfig | 1 -
> configs/ls2080ardb_SECURE_BOOT_defconfig | 1 -
> configs/ls2080ardb_defconfig | 1 -
> configs/ls2080ardb_nand_defconfig | 1 -
> configs/ls2081ardb_defconfig | 1 -
> configs/ls2088aqds_tfa_defconfig | 1 -
> configs/ls2088ardb_qspi_SECURE_BOOT_defconfig | 1 -
> configs/ls2088ardb_qspi_defconfig | 1 -
> configs/ls2088ardb_tfa_SECURE_BOOT_defconfig | 1 -
> configs/ls2088ardb_tfa_defconfig | 1 -
> configs/lx2160aqds_tfa_SECURE_BOOT_defconfig | 1 -
> configs/lx2160aqds_tfa_defconfig | 1 -
> configs/lx2160ardb_tfa_SECURE_BOOT_defconfig | 1 -
> configs/lx2160ardb_tfa_defconfig | 1 -
> configs/lx2160ardb_tfa_stmm_defconfig | 4 -
> configs/lx2162aqds_tfa_SECURE_BOOT_defconfig | 1 -
> configs/lx2162aqds_tfa_defconfig | 1 -
> .../lx2162aqds_tfa_verified_boot_defconfig | 1 -
> configs/mt7623n_bpir2_defconfig | 1 -
> configs/mt7629_rfb_defconfig | 1 -
> configs/mt8183_pumpkin_defconfig | 1 -
> configs/mt8516_pumpkin_defconfig | 1 -
> configs/mvebu_puzzle-m801-88f8040_defconfig | 1 -
> configs/mx6memcal_defconfig | 1 -
> configs/octeontx2_95xx_defconfig | 1 -
> configs/octeontx2_96xx_defconfig | 1 -
> configs/octeontx_81xx_defconfig | 1 -
> configs/octeontx_83xx_defconfig | 1 -
> configs/omap4_sdp4430_defconfig | 1 -
> configs/opos6uldev_defconfig | 1 -
> configs/pcm052_defconfig | 1 -
> configs/phycore-am335x-r2-regor_defconfig | 1 -
> configs/phycore-am335x-r2-wega_defconfig | 1 -
> configs/pxm2_defconfig | 2 +-
> configs/qemu-riscv32_defconfig | 2 -
> configs/qemu-riscv32_smode_defconfig | 2 -
> configs/qemu-riscv64_defconfig | 2 -
> configs/qemu-riscv64_smode_defconfig | 2 -
> configs/qemu-x86_64_defconfig | 2 -
> configs/qemu-x86_defconfig | 2 -
> configs/qemu_arm64_defconfig | 2 -
> configs/qemu_arm_defconfig | 2 -
> configs/r8a779a0_falcon_defconfig | 3 +-
> configs/rastaban_defconfig | 2 +-
> configs/roc-cc-rk3308_defconfig | 1 -
> configs/rock-pi-n10-rk3399pro_defconfig | 1 -
> configs/rock-pi-n8-rk3288_defconfig | 1 -
> configs/rut_defconfig | 2 +-
> configs/sama5d27_wlsom1_ek_mmc_defconfig | 1 -
> .../sama5d27_wlsom1_ek_qspiflash_defconfig | 1 -
> configs/sama5d2_icp_mmc_defconfig | 1 -
> configs/sama7g5ek_mmc1_defconfig | 1 -
> configs/sama7g5ek_mmc_defconfig | 1 -
> configs/sandbox64_defconfig | 9 -
> configs/sandbox_defconfig | 9 -
> configs/sandbox_flattree_defconfig | 2 -
> configs/sandbox_noinst_defconfig | 2 -
> configs/sandbox_spl_defconfig | 2 -
> configs/sipeed_maix_bitm_defconfig | 1 -
> configs/sipeed_maix_smode_defconfig | 1 -
> configs/socfpga_de1_soc_defconfig | 1 -
> configs/somlabs_visionsom_6ull_defconfig | 1 -
> configs/stemmy_defconfig | 1 -
> configs/stm32mp15_basic_defconfig | 3 -
> configs/stm32mp15_trusted_defconfig | 3 -
> configs/tbs2910_defconfig | 1 -
> configs/thuban_defconfig | 2 +-
> configs/tools-only_defconfig | 1 -
> configs/vf610twr_defconfig | 1 -
> configs/vf610twr_nand_defconfig | 1 -
> configs/xenguest_arm64_defconfig | 1 -
> configs/xilinx_versal_mini_defconfig | 1 -
> configs/xilinx_versal_mini_emmc0_defconfig | 1 -
> configs/xilinx_versal_mini_emmc1_defconfig | 1 -
> configs/xilinx_versal_virt_defconfig | 2 -
> configs/xilinx_zynqmp_mini_defconfig | 1 -
> configs/xilinx_zynqmp_mini_emmc0_defconfig | 1 -
> configs/xilinx_zynqmp_mini_emmc1_defconfig | 1 -
> configs/xilinx_zynqmp_mini_nand_defconfig | 1 -
> .../xilinx_zynqmp_mini_nand_single_defconfig | 1 -
> configs/xilinx_zynqmp_mini_qspi_defconfig | 1 -
> configs/xilinx_zynqmp_r5_defconfig | 1 -
> configs/xilinx_zynqmp_virt_defconfig | 9 -
> configs/zynq_cse_nand_defconfig | 1 -
> configs/zynq_cse_nor_defconfig | 1 -
> configs/zynq_cse_qspi_defconfig | 1 -
> disk/part_efi.c | 11 +-
> drivers/core/Kconfig | 1 +
> fs/btrfs/Kconfig | 1 +
> include/efi_loader.h | 187 +++++++++---------
> lib/Kconfig | 8 +
> lib/Makefile | 2 +-
> lib/efi_loader/Kconfig | 5 +-
> 198 files changed, 160 insertions(+), 378 deletions(-)
>
> --
> 2.32.0.93.g670b81a890-goog
>
>
More information about the U-Boot
mailing list