summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlper Nebi Yasak <alpernebiyasak@gmail.com>2023-10-13 22:41:15 +0300
committerAlper Nebi Yasak <alpernebiyasak@gmail.com>2023-10-14 16:48:41 +0300
commiteb267733fabe6c773720706539ef37f1ce591f81 (patch)
tree3307f4a5cb385e4ce20a47432fe22533815fc24b
parent65af756fc33ce1a8960c690e681d12ebeef20750 (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.list1
-rwxr-xr-xscript/build/fw/coreboot8
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)