summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2024-10-06 09:21:08 +0100
committerLeah Rowe <leah@libreboot.org>2024-10-06 09:22:21 +0100
commitc99dced5b1022fd2053fa8e47785ce83f4e05f90 (patch)
treee7d77d0e9b3a8ef7eb2b2ef39aabf2fc5ef12939
parented8178e83b8fe294094fbf797d0872125ea69c10 (diff)
dell3050micro: make GRUB the primary payload
SeaBIOS is known to hang on this board. It is being investigated. 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 <leah@libreboot.org>
-rw-r--r--config/coreboot/dell3050micro_fsp_16mb/target.cfg2
-rw-r--r--include/rom.sh6
-rwxr-xr-xscript/trees5
3 files changed, 9 insertions, 4 deletions
diff --git a/config/coreboot/dell3050micro_fsp_16mb/target.cfg b/config/coreboot/dell3050micro_fsp_16mb/target.cfg
index 79dc358f..03ad3ecb 100644
--- a/config/coreboot/dell3050micro_fsp_16mb/target.cfg
+++ b/config/coreboot/dell3050micro_fsp_16mb/target.cfg
@@ -8,3 +8,5 @@ grubtree="xhci"
vcfg="3050micro"
build_depend="seabios/default grub/xhci memtest86plus"
IFD_platform="sklkbl"
+grubname="fallback/payload" # make GRUB the primary payload on this board
+seabiosname="seabios.elf" # seabios is known to hang on this board
diff --git a/include/rom.sh b/include/rom.sh
index cfd00a86..d4071169 100644
--- a/include/rom.sh
+++ b/include/rom.sh
@@ -118,9 +118,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"
@@ -139,7 +140,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 5be43dcc..e219d649 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"`