diff options
author | Alper Nebi Yasak <alpernebiyasak@gmail.com> | 2023-10-13 22:41:15 +0300 |
---|---|---|
committer | Alper Nebi Yasak <alpernebiyasak@gmail.com> | 2023-10-14 16:48:41 +0300 |
commit | eb267733fabe6c773720706539ef37f1ce591f81 (patch) | |
tree | 3307f4a5cb385e4ce20a47432fe22533815fc24b | |
parent | 65af756fc33ce1a8960c690e681d12ebeef20750 (diff) |
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 <alpernebiyasak@gmail.com>
-rw-r--r-- | config/u-boot/build.list | 1 | ||||
-rwxr-xr-x | 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 <leah@libreboot.org> # SPDX-FileCopyrightText: 2021,2022 Ferass El Hafidi <vitali64pmemail@protonmail.com> # SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com> -# SPDX-FileCopyrightText: 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> +# SPDX-FileCopyrightText: 2022-2023 Alper Nebi Yasak <alpernebiyasak@gmail.com> # SPDX-FileCopyrightText: 2023 Riku Viitanen <riku.viitanen@protonmail.com> [ "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) |