Commit Graph

23 Commits (b5c25efed46f0a9121023997c6758eda5c3f5017)

Author SHA1 Message Date
Alper Nebi Yasak 6d6bd5eee0 build/roms: Rebuild cbutils module before starting coreboot build
In recent coreboot versions, running distclean started to erase the
cbfstool binary we built earlier in the util/cbfstool dir via the
cbutils build script call. The coreboot build puts it in a different
directory, and the roms build script can't find it when trying to add
payloads to the roms. This doesn't make the script fail (because set -e
is stupid like that), and the build appears to succeed if you don't look
close enough to see the "cbfsutil not found" error.

Build the coreboot utils we want at the places we want them after
calling distclean, so that we can actually use cbfsutil and avoid
silently-broken roms with newer coreboot versions.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Alper Nebi Yasak 61ede99832 build/roms: Support using U-Boot as a coreboot payload
This enables embedding U-Boot into the coreboot roms as the payload. For
now, the ELF file generated by enabling CONFIG_REMAKE_ELF is used, which
includes the U-Boot binary and the board-specific device-tree file. It
might be better to use the FIT payload support for U-Boot, but that was
reportedly broken and is not tested yet.

Coreboot boards can specify payload_uboot="y" in their board.cfg to
enable building a rom with U-Boot as the payload, which is built from
the U-Boot board with the same name. Boards can further specify a
uboot_config option, to choose which board-specific config file U-Boot
should be built with.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Alper Nebi Yasak a69855f7e4 build/roms: Build 32-bit crossgcc for AArch64 as well
The 32-bit ARM cross compiler toolchain is used to build parts of
arm-trusted-firmware needed by AArch64 boards, compile the toolchain for
those boards as well.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Alper Nebi Yasak 769f18f2f6 build/roms: Fix building for ARMv7 and AArch64 boards
The code that compiles coreboot crossgcc changes the working directory
to the coreboot directory, and the following code cannot find the lbmk
scripts that it needs to run. Compile ARMv7 and AArch64 cross compilers
in a subshell like in the x86 case so the rest of the script can work.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Leah Rowe 2701555582 build/boot/roms: fix wrong variable name 2021-12-29 07:37:11 +00:00
Leah Rowe 6b4b49cf8f build/boot/roms: substitute grub_scan_disk according to board.cfg 2021-12-29 07:10:56 +00:00
Vitali64 7e6691e999 Add ARMv7 and AArch64 support 2021-12-11 13:38:43 +00:00
Vitali64 dec2d7206e add myself in the build/roms_helper script 2021-12-09 06:46:18 +00:00
Leah Rowe 4b64e34fc2 build/roms: warn if grub_scan_disk is not set at all 2021-11-30 18:44:08 +00:00
Leah Rowe c7944c0e01 build/roms: warn when grub_scan_disk is set incorrectly 2021-11-30 18:40:27 +00:00
Leah Rowe c87b6f6369 build/boot/roms: don't error out if grub_scan_disk is invalid
just set it to the default, instead
2021-11-30 18:35:52 +00:00
Leah Rowe 9a0677eafd fix incorrect logic on recent grub optimization patch
or was used, instead of and
2021-11-30 18:31:19 +00:00
Vitali64 b74056563f Workaround for grub's slow boot 2021-11-28 17:16:18 +00:00
Leah Rowe eed25bd220 update coreboot and nuke tianocore
tianocore is a liability for the libreboot project. it's a bloated mess, and
unreliable, broken on many boards, and basically impossible to audit.

i don't trust tianocore, so i'm removing it.
2021-11-22 10:03:50 +00:00
Leah Rowe bc7243f1e1 build/boot/roms: fix wrong filename for pike2008 option roms 2021-11-18 17:02:36 +00:00
Leah Rowe 68d3c9372a Revert "nuke memtest86+"
This reverts commit 84a1bc502b.
2021-11-01 02:51:10 +00:00
Leah Rowe 84a1bc502b nuke memtest86+ 2021-10-31 20:52:01 +00:00
Leah Rowe 62fa042a17 re-add grub backgrounds and update grub. mitigate missing characters
mitigate missing characters in unifont for border/arrow characters. this saves
space because now it is no longer necessary to add a custom font

the background added has the libreboot logo on it, and it's 10kb in size unlike
the old gnulove background that was hundreds of KB
2021-10-31 07:13:46 +00:00
Leah Rowe 49198fe3d1 Disable PIKE2008 option ROM loading on KGPE-D16/KCMA-D8
These option ROMs are known to cause a system hang. If you insert an empty
option ROM into CBFS, it disables any option ROM loading for those devices
when using SeaBIOS.
2021-10-30 21:22:27 +01:00
Ron Nazarov 0fadeed493 replace #!/bin/bash with #!/usr/bin/env bash 2021-06-03 12:47:08 +01:00
Leah Rowe 15e4b8a00c build/crossgcc: insert .coreboot-version 2021-05-22 20:28:41 +01:00
Leah Rowe 52d8fccaae don't include memtest by default. make it a board.cfg option 2021-05-22 19:21:24 +01:00
Leah Rowe 89517ed6b9 libreboot!
this is forked from the "libre" branch in osboot, which is itself a libre,
deblobbed fork of osboot, a blobbed up fork of libreboot

libreboot needed to be purged clean. this is the new libreboot development
repository. the old one has been abandoned
2021-05-18 13:56:12 +01:00