From eb267733fabe6c773720706539ef37f1ce591f81 Mon Sep 17 00:00:00 2001 From: Alper Nebi Yasak Date: Fri, 13 Oct 2023 22:41:15 +0300 Subject: build/fw/coreboot: Fix misuse of raw u-boot.bin as payload The "u-boot.bin" file generated by U-Boot builds is a raw binary. When adding payloads to a CBFS, we need to use ELF files with add-payload or manually pass the entry point and load address of the payload binary with add-flat-binary. We primarily use the "u-boot.elf" which gets build with the REMAKE_ELF option, as it also has the necessary device-tree binary that U-Boot usually needs to work. When the option is not set (e.g. for QEMU), we need to use the "u-boot" file which is an ELF. Signed-off-by: Alper Nebi Yasak --- config/u-boot/build.list | 1 + script/build/fw/coreboot | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/config/u-boot/build.list b/config/u-boot/build.list index 1bb9a446..8d9a5cf0 100644 --- a/config/u-boot/build.list +++ b/config/u-boot/build.list @@ -1,3 +1,4 @@ +u-boot u-boot.bin u-boot.dtb u-boot.img diff --git a/script/build/fw/coreboot b/script/build/fw/coreboot index 934d6ffd..487bfa31 100755 --- a/script/build/fw/coreboot +++ b/script/build/fw/coreboot @@ -3,7 +3,7 @@ # SPDX-FileCopyrightText: 2014-2016,2020,2021,2023 Leah Rowe # SPDX-FileCopyrightText: 2021,2022 Ferass El Hafidi # SPDX-FileCopyrightText: 2022 Caleb La Grange -# SPDX-FileCopyrightText: 2022 Alper Nebi Yasak +# SPDX-FileCopyrightText: 2022-2023 Alper Nebi Yasak # SPDX-FileCopyrightText: 2023 Riku Viitanen [ "x${DEBUG+set}" = 'xset' ] && set -v @@ -187,8 +187,8 @@ build_dependency_uboot() x_ ./update project trees -b u-boot ${board} ubdir="elf/u-boot/${board}/${uboot_config}" ubootelf="${ubdir}/u-boot.elf" - [ ! -f "${ubootelf}" ] && [ -f "${ubdir}/u-boot.bin" ] && \ - ubootelf="${ubdir}/u-boot.bin" + [ ! -f "${ubootelf}" ] && [ -f "${ubdir}/u-boot" ] && \ + ubootelf="${ubdir}/u-boot" [ -f "${ubootelf}" ] && return 0 err "Could not find u-boot build for board, ${board}" } @@ -369,7 +369,7 @@ mkUbootRom() { _ubdir="elf/u-boot/${board}/${uboot_config}" _ubootelf="${_ubdir}/u-boot.elf" - [ -f "${_ubootelf}" ] || _ubootelf="${_ubdir}/u-boot.bin" + [ -f "${_ubootelf}" ] || _ubootelf="${_ubdir}/u-boot" [ -f "${_ubootelf}" ] || err "mkUbootRom: ${board}: cant find u-boot" tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) -- cgit v1.2.1