From b6036e81d207feda91f6d31f507610f44c434f7d Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 6 Oct 2024 09:21:08 +0100 Subject: [PATCH] coreboot target.cfg: permit GRUB as primary payload Dell OptiPlex 3050 Micro support was added to Libreboot, which we can't add in Canoeboot, but SeaBIOS hung on that board so we made GRUB the primary payload on that board. SeaGRUB is still enforced on all Canoeboot targets at present, but we want cbmk to maintain parity with lbmk. Therefore, import this functionality into cbmk, but without actually using it. Add two variable options for target.cfg files: * seabiosname * grubname This string defines where it would be located in CBFS. Signed-off-by: Leah Rowe --- include/rom.sh | 6 ++++-- script/trees | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/include/rom.sh b/include/rom.sh index 2fa8c0f..4b2bc27 100644 --- a/include/rom.sh +++ b/include/rom.sh @@ -116,9 +116,10 @@ mkcorebootbin() add_seabios() { + [ -n "$seabiosname" ] || seabiosname="fallback/payload" _seabioself="elf/seabios/default/$initmode/bios.bin.elf" - cbfs "$tmprom" "$_seabioself" "fallback/payload" + cbfs "$tmprom" "$_seabioself" "$seabiosname" x_ "$cbfstool" "$tmprom" add-int -i 3000 -n etc/ps2-keyboard-spinup _z="2"; [ "$initmode" = "vgarom" ] && _z="0" @@ -137,7 +138,8 @@ add_seabios() add_grub() { - cbfs "$tmprom" "$grubelf" "img/grub2" + [ -n "$grubname" ] || grubname="img/grub2" + cbfs "$tmprom" "$grubelf" "$grubname" printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" \ > "$TMPDIR/tmpcfg" || $err "$target: !insert scandisk" cbfs "$tmprom" "$TMPDIR/tmpcfg" scan.cfg raw diff --git a/script/trees b/script/trees index 5be43dc..e219d64 100755 --- a/script/trees +++ b/script/trees @@ -12,7 +12,8 @@ set -u -e eval `setvars "" xarch srcdir premake cmakedir xlang mode makeargs elfdir cmd \ project target target_dir targets xtree _f release bootstrapargs mkhelper \ autoconfargs listfile autogenargs btype tree rev tree_depend build_depend \ - defconfig postmake mkhelpercfg dry dest_dir mdir cleanargs`; badhash="n" + defconfig postmake mkhelpercfg dry dest_dir mdir cleanargs seabiosname \ + grubname`; badhash="n" main() { @@ -112,7 +113,7 @@ configure_project() { eval `setvars "" xarch xlang build_depend autoconfargs xtree postmake \ tree_depend makeargs btype mkhelper bootstrapargs premake release \ - cleanargs` + cleanargs grubname seabiosname` _tcfg="$1/target.cfg"; badhash="n"; [ -f "$_tcfg" ] || btype="auto" [ -f "$datadir/mkhelper.cfg" ] && eval `setcfg "$datadir/mkhelper.cfg"`