summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild43
-rw-r--r--config/coreboot/d510mo_16mb/target.cfg2
-rw-r--r--config/coreboot/d945gclf_8mb/target.cfg2
-rw-r--r--config/coreboot/dell9020mt_nri_12mb/target.cfg3
-rw-r--r--config/coreboot/dell9020sff_nri_12mb/target.cfg3
-rw-r--r--config/coreboot/e5420_6mb/target.cfg3
-rw-r--r--config/coreboot/e5520_6mb/target.cfg3
-rw-r--r--config/coreboot/e5530_12mb/target.cfg3
-rw-r--r--config/coreboot/e6400_4mb/target.cfg3
-rw-r--r--config/coreboot/e6400nvidia_4mb/target.cfg3
-rw-r--r--config/coreboot/e6420_10mb/target.cfg3
-rw-r--r--config/coreboot/e6430_12mb/target.cfg3
-rw-r--r--config/coreboot/e6520_10mb/target.cfg3
-rw-r--r--config/coreboot/e6530_12mb/target.cfg3
-rw-r--r--config/coreboot/g43t_am3/target.cfg1
-rw-r--r--config/coreboot/g43t_am3_16mb/target.cfg1
-rw-r--r--config/coreboot/ga_g41m_es2l/target.cfg1
-rw-r--r--config/coreboot/hp2170p_16mb/target.cfg4
-rw-r--r--config/coreboot/hp2560p_8mb/target.cfg4
-rw-r--r--config/coreboot/hp2570p_16mb/target.cfg4
-rw-r--r--config/coreboot/hp8200sff_4mb/target.cfg4
-rw-r--r--config/coreboot/hp8200sff_8mb/target.cfg4
-rw-r--r--config/coreboot/hp820g2_12mb/target.cfg3
-rw-r--r--config/coreboot/hp8300cmt_16mb/target.cfg4
-rw-r--r--config/coreboot/hp8300usdt_16mb/target.cfg4
-rw-r--r--config/coreboot/hp8460pintel_8mb/target.cfg4
-rw-r--r--config/coreboot/hp8470pintel_16mb/target.cfg4
-rw-r--r--config/coreboot/hp8560w_8mb/target.cfg4
-rw-r--r--config/coreboot/hp9470m_16mb/target.cfg4
-rw-r--r--config/coreboot/kcma_d8-udimm_16mb/target.cfg2
-rw-r--r--config/coreboot/kcma_d8_rdimm_16mb/target.cfg3
-rw-r--r--config/coreboot/kcma_d8_rdimm_2mb/target.cfg2
-rw-r--r--config/coreboot/kcma_d8_udimm_2mb/target.cfg3
-rw-r--r--config/coreboot/kfsn4_dre_1mb/target.cfg1
-rw-r--r--config/coreboot/kfsn4_dre_2mb/target.cfg3
-rw-r--r--config/coreboot/kgpe_d16_rdimm_16mb/target.cfg3
-rw-r--r--config/coreboot/kgpe_d16_rdimm_2mb/target.cfg3
-rw-r--r--config/coreboot/kgpe_d16_udimm_16mb/target.cfg3
-rw-r--r--config/coreboot/kgpe_d16_udimm_2mb/target.cfg3
-rw-r--r--config/coreboot/macbook11/target.cfg2
-rw-r--r--config/coreboot/macbook11_16mb/target.cfg2
-rw-r--r--config/coreboot/macbook21/target.cfg2
-rw-r--r--config/coreboot/macbook21_16mb/target.cfg2
-rw-r--r--config/coreboot/qemu_x86_12mb/target.cfg1
-rw-r--r--config/coreboot/r400_16mb/target.cfg2
-rw-r--r--config/coreboot/r400_4mb/target.cfg2
-rw-r--r--config/coreboot/r400_8mb/target.cfg2
-rw-r--r--config/coreboot/r500_4mb/target.cfg2
-rw-r--r--config/coreboot/t1650_12mb/target.cfg3
-rw-r--r--config/coreboot/t400_16mb/target.cfg2
-rw-r--r--config/coreboot/t400_4mb/target.cfg2
-rw-r--r--config/coreboot/t400_8mb/target.cfg2
-rw-r--r--config/coreboot/t420_8mb/target.cfg3
-rw-r--r--config/coreboot/t420s_8mb/target.cfg3
-rw-r--r--config/coreboot/t430_12mb/target.cfg3
-rw-r--r--config/coreboot/t440plibremrc_12mb/target.cfg3
-rw-r--r--config/coreboot/t500_16mb/target.cfg2
-rw-r--r--config/coreboot/t500_4mb/target.cfg2
-rw-r--r--config/coreboot/t500_8mb/target.cfg2
-rw-r--r--config/coreboot/t520_8mb/target.cfg3
-rw-r--r--config/coreboot/t530_12mb/target.cfg3
-rw-r--r--config/coreboot/t60_16mb_intelgpu/target.cfg2
-rw-r--r--config/coreboot/t60_intelgpu/target.cfg2
-rw-r--r--config/coreboot/w500_16mb/target.cfg2
-rw-r--r--config/coreboot/w500_4mb/target.cfg2
-rw-r--r--config/coreboot/w500_8mb/target.cfg2
-rw-r--r--config/coreboot/w530_12mb/target.cfg3
-rw-r--r--config/coreboot/w541_12mb/target.cfg3
-rw-r--r--config/coreboot/x200_16mb/target.cfg2
-rw-r--r--config/coreboot/x200_4mb/target.cfg2
-rw-r--r--config/coreboot/x200_8mb/target.cfg2
-rw-r--r--config/coreboot/x220_8mb/target.cfg3
-rw-r--r--config/coreboot/x230_12mb/target.cfg3
-rw-r--r--config/coreboot/x230_16mb/target.cfg3
-rw-r--r--config/coreboot/x230t_12mb/target.cfg3
-rw-r--r--config/coreboot/x230t_16mb/target.cfg3
-rw-r--r--config/coreboot/x301_16mb/target.cfg2
-rw-r--r--config/coreboot/x301_4mb/target.cfg2
-rw-r--r--config/coreboot/x301_8mb/target.cfg2
-rw-r--r--config/coreboot/x60/target.cfg2
-rw-r--r--config/coreboot/x60_16mb/target.cfg2
-rw-r--r--config/git/bios_extract6
-rw-r--r--config/git/bios_extract/pkg.cfg3
-rw-r--r--config/git/biosutilities6
-rw-r--r--config/git/biosutilities/pkg.cfg3
-rw-r--r--config/git/coreboot6
-rw-r--r--config/git/coreboot/pkg.cfg3
-rw-r--r--config/git/docs6
-rw-r--r--config/git/docs/pkg.cfg3
-rw-r--r--config/git/flashprog6
-rw-r--r--config/git/flashprog/pkg.cfg3
-rw-r--r--config/git/grub6
-rw-r--r--config/git/grub/pkg.cfg3
-rw-r--r--config/git/memtest86plus6
-rw-r--r--config/git/memtest86plus/pkg.cfg3
-rw-r--r--config/git/pico-sdk6
-rw-r--r--config/git/pico-sdk/pkg.cfg3
-rw-r--r--config/git/pico-serprog7
-rw-r--r--config/git/pico-serprog/pkg.cfg4
-rw-r--r--config/git/seabios6
-rw-r--r--config/git/seabios/pkg.cfg3
-rw-r--r--config/git/stm32-vserprog6
-rw-r--r--config/git/stm32-vserprog/pkg.cfg3
-rw-r--r--config/git/u-boot6
-rw-r--r--config/git/u-boot/pkg.cfg3
-rw-r--r--config/git/uefitool6
-rw-r--r--config/git/uefitool/pkg.cfg3
-rw-r--r--config/grub/default/config/payload2
-rw-r--r--config/grub/default/target.cfg2
-rw-r--r--config/grub/nvme/config/payload2
-rw-r--r--config/grub/nvme/target.cfg2
-rw-r--r--config/grub/xhci/config/payload2
-rw-r--r--config/grub/xhci/target.cfg2
-rw-r--r--config/uefitool/target.cfg1
-rw-r--r--config/vendor/e6400/pkg.cfg5
-rw-r--r--config/vendor/haswell/pkg.cfg3
-rw-r--r--config/vendor/hp2170p/pkg.cfg6
-rw-r--r--config/vendor/hp2560p/pkg.cfg6
-rw-r--r--config/vendor/hp2570p/pkg.cfg6
-rw-r--r--config/vendor/hp8200sff/pkg.cfg3
-rw-r--r--config/vendor/hp820g2/pkg.cfg9
-rw-r--r--config/vendor/hp8460pintel/pkg.cfg6
-rw-r--r--config/vendor/hp8470pintel/pkg.cfg6
-rw-r--r--config/vendor/hp8560w/pkg.cfg6
-rw-r--r--config/vendor/hp9470m/pkg.cfg6
-rw-r--r--config/vendor/ivybridge/pkg.cfg3
-rw-r--r--config/vendor/sandybridge/pkg.cfg3
-rw-r--r--config/vendor/sources166
-rw-r--r--config/vendor/t1650/pkg.cfg6
-rwxr-xr-xinclude/git.sh64
-rwxr-xr-xinclude/lib.sh155
-rwxr-xr-xinclude/mrc.sh2
-rwxr-xr-xinclude/vendor.sh264
-rwxr-xr-xscript/roms333
-rwxr-xr-xscript/trees99
135 files changed, 601 insertions, 941 deletions
diff --git a/build b/build
index d3e86519..b7af9048 100755
--- a/build
+++ b/build
@@ -16,12 +16,12 @@ fi
. "include/vendor.sh"
. "include/mrc.sh"
-eval "$(setvars "" vdir src_dirname srcdir _xm mode xp)"
+eval `setvars "" vdir src_dirname srcdir mode xp`
err="fail"
main()
{
- [ $# -lt 1 ] && badcmd
+ [ $# -lt 1 ] && $err "bad command"
spath="script/$1"
for g in "which git" "git config --global user.name" \
@@ -35,7 +35,7 @@ main()
inject) shift 1; vendor_inject $@ ;;
download) shift 1; vendor_download $@ ;;
*)
- [ -f "$spath" ] || badcmd
+ [ -f "$spath" ] || $err "bad command"
shift 1; "$spath" $@ || $err "excmd: $spath $@" ;;
esac
set -u -e # some commands disable them. turn them on!
@@ -45,7 +45,7 @@ git_init()
{
[ -L ".git" ] && return 1
[ -e ".git" ] && return 0
- eval "$(setvars "$(date -Rud @$versiondate)" cdate _nogit)"
+ eval `setvars "$(date -Rud @$versiondate)" cdate _nogit`
git init || return 1
git add -A . || return 1
@@ -54,17 +54,23 @@ git_init()
git tag -a "$version" -m "$projectname $version" || return 1
}
+git_err()
+{
+ printf "You need to set git name/email, like so:\n%s\n\n" "$1" 1>&2
+ $err "Git name/email not configured"
+}
+
mkrelease()
{
export XBMK_RELEASE="y"
vdir="release"
while getopts d:m: option; do
- [ -z "$OPTARG" ] && badcmd "empty argument not allowed"
+ [ -z "$OPTARG" ] && $err "empty argument not allowed"
case "$option" in
d) vdir="$OPTARG" ;;
m) mode="$OPTARG" ;;
- *) badcmd "invalid option '-$option'" ;;
+ *) $err "invalid option '-$option'" ;;
esac
done
@@ -84,9 +90,8 @@ mkrelease()
build_release()
{
- _xm="build_release $vdir"
(
- cd "$srcdir" || $err "$_xm: !cd \"$srcdir\""
+ cd "$srcdir" || $err "$vdir: !cd \"$srcdir\""
fetch_trees
x_ mv src/docs docs
) || $err "can't create release files"
@@ -96,18 +101,18 @@ build_release()
rm -f "$srcdir/lock" || $err "can't remove lock file in $srcdir"
(
- cd "${srcdir%/*}" || $err "$_xm: mktarball \"$srcdir\""
- mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || $err "$_xm: mksrc"
+ cd "${srcdir%/*}" || $err "$vdir: mktarball \"$srcdir\""
+ mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || $err "$vdir: mksrc"
) || $err "can't create src tarball"
[ "$mode" = "src" ] && return 0
touch "$srcdir/lock" || $err "can't make lock file in $srcdir/"
(
- cd "$srcdir" || $err "$_xm: 2 !cd \"$srcdir\""
- ./build roms all || $err "$_xm: roms-all"
- ./build roms serprog rp2040 || $err "$_xm: rp2040"
- ./build roms serprog stm32 || $err "$_xm: stm32"
+ cd "$srcdir" || $err "$vdir: 2 !cd \"$srcdir\""
+ ./build roms all || $err "$vdir: roms-all"
+ ./build roms serprog rp2040 || $err "$vdir: rp2040"
+ ./build roms serprog stm32 || $err "$vdir: stm32"
x_ mv bin ../roms
) || $err "can't build rom images"
@@ -117,7 +122,7 @@ build_release()
fetch_trees()
{
for x in $(ls -1 config/git); do
- ./update trees -f "$x" || $err "$_xm: fetch $x"
+ ./update trees -f "$x" || $err "$vdir: fetch $x"
singletree "$x" || x_ rm -Rf "src/$x/$x"
done
rmgit .
@@ -125,16 +130,16 @@ fetch_trees()
fail()
{
- tmp_cleanup || printf "WARNING: can't rm tmpfiles: %s\n" "$tmpdir" 1>&2
+ tmp_cleanup || printf "WARNING: can't rm tmpfiles: %s\n" "$TMPDIR" 1>&2
err_ "${1}"
}
tmp_cleanup()
{
- [ "$tmpdir_was_set" = "n" ] || return 0
- rm -Rf "$tmpdir" || return 1
+ [ "$xbmk_parent" = "y" ] || return 0
+ [ "$TMPDIR" = "/tmp" ] || rm -Rf "$TMPDIR" || return 1
rm -f lock || return 1
}
main $@
-tmp_cleanup || err_ "can't rm tmpdir upon non-zero exit: $tmpdir"
+tmp_cleanup || err_ "can't rm TMPDIR upon non-zero exit: $TMPDIR"
diff --git a/config/coreboot/d510mo_16mb/target.cfg b/config/coreboot/d510mo_16mb/target.cfg
index ef75af4a..62768ec7 100644
--- a/config/coreboot/d510mo_16mb/target.cfg
+++ b/config/coreboot/d510mo_16mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
release="n"
diff --git a/config/coreboot/d945gclf_8mb/target.cfg b/config/coreboot/d945gclf_8mb/target.cfg
index 38e5763e..3f020323 100644
--- a/config/coreboot/d945gclf_8mb/target.cfg
+++ b/config/coreboot/d945gclf_8mb/target.cfg
@@ -1,5 +1,5 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
release="n"
diff --git a/config/coreboot/dell9020mt_nri_12mb/target.cfg b/config/coreboot/dell9020mt_nri_12mb/target.cfg
index b513e2b5..3c3f9802 100644
--- a/config/coreboot/dell9020mt_nri_12mb/target.cfg
+++ b/config/coreboot/dell9020mt_nri_12mb/target.cfg
@@ -1,7 +1,8 @@
tree="haswell"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="nvme ahci"
grubtree="xhci"
+vcfg="haswell"
diff --git a/config/coreboot/dell9020sff_nri_12mb/target.cfg b/config/coreboot/dell9020sff_nri_12mb/target.cfg
index b513e2b5..3c3f9802 100644
--- a/config/coreboot/dell9020sff_nri_12mb/target.cfg
+++ b/config/coreboot/dell9020sff_nri_12mb/target.cfg
@@ -1,7 +1,8 @@
tree="haswell"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="nvme ahci"
grubtree="xhci"
+vcfg="haswell"
diff --git a/config/coreboot/e5420_6mb/target.cfg b/config/coreboot/e5420_6mb/target.cfg
index 341e655e..4201beb1 100644
--- a/config/coreboot/e5420_6mb/target.cfg
+++ b/config/coreboot/e5420_6mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="sandybridge"
diff --git a/config/coreboot/e5520_6mb/target.cfg b/config/coreboot/e5520_6mb/target.cfg
index 341e655e..4201beb1 100644
--- a/config/coreboot/e5520_6mb/target.cfg
+++ b/config/coreboot/e5520_6mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="sandybridge"
diff --git a/config/coreboot/e5530_12mb/target.cfg b/config/coreboot/e5530_12mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/e5530_12mb/target.cfg
+++ b/config/coreboot/e5530_12mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/e6400_4mb/target.cfg b/config/coreboot/e6400_4mb/target.cfg
index 8eeb3443..f6d540d5 100644
--- a/config/coreboot/e6400_4mb/target.cfg
+++ b/config/coreboot/e6400_4mb/target.cfg
@@ -1,6 +1,7 @@
tree="dell"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="e6400"
diff --git a/config/coreboot/e6400nvidia_4mb/target.cfg b/config/coreboot/e6400nvidia_4mb/target.cfg
index 8eeb3443..f6d540d5 100644
--- a/config/coreboot/e6400nvidia_4mb/target.cfg
+++ b/config/coreboot/e6400nvidia_4mb/target.cfg
@@ -1,6 +1,7 @@
tree="dell"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="e6400"
diff --git a/config/coreboot/e6420_10mb/target.cfg b/config/coreboot/e6420_10mb/target.cfg
index 341e655e..4201beb1 100644
--- a/config/coreboot/e6420_10mb/target.cfg
+++ b/config/coreboot/e6420_10mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="sandybridge"
diff --git a/config/coreboot/e6430_12mb/target.cfg b/config/coreboot/e6430_12mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/e6430_12mb/target.cfg
+++ b/config/coreboot/e6430_12mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/e6520_10mb/target.cfg b/config/coreboot/e6520_10mb/target.cfg
index 341e655e..4201beb1 100644
--- a/config/coreboot/e6520_10mb/target.cfg
+++ b/config/coreboot/e6520_10mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="sandybridge"
diff --git a/config/coreboot/e6530_12mb/target.cfg b/config/coreboot/e6530_12mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/e6530_12mb/target.cfg
+++ b/config/coreboot/e6530_12mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/g43t_am3/target.cfg b/config/coreboot/g43t_am3/target.cfg
index f0e838fb..796ceabf 100644
--- a/config/coreboot/g43t_am3/target.cfg
+++ b/config/coreboot/g43t_am3/target.cfg
@@ -2,5 +2,4 @@ tree="default"
xarch="i386-elf"
payload_seabios="y"
payload_memtest="y"
-grub_timeout=10
grubtree="nvme"
diff --git a/config/coreboot/g43t_am3_16mb/target.cfg b/config/coreboot/g43t_am3_16mb/target.cfg
index 533d8b5a..46e8fc4f 100644
--- a/config/coreboot/g43t_am3_16mb/target.cfg
+++ b/config/coreboot/g43t_am3_16mb/target.cfg
@@ -2,6 +2,5 @@ tree="default"
xarch="i386-elf"
payload_seabios="y"
payload_memtest="y"
-grub_timeout=10
release="n"
grubtree="nvme"
diff --git a/config/coreboot/ga_g41m_es2l/target.cfg b/config/coreboot/ga_g41m_es2l/target.cfg
index f0e838fb..796ceabf 100644
--- a/config/coreboot/ga_g41m_es2l/target.cfg
+++ b/config/coreboot/ga_g41m_es2l/target.cfg
@@ -2,5 +2,4 @@ tree="default"
xarch="i386-elf"
payload_seabios="y"
payload_memtest="y"
-grub_timeout=10
grubtree="nvme"
diff --git a/config/coreboot/hp2170p_16mb/target.cfg b/config/coreboot/hp2170p_16mb/target.cfg
index 2e48c44d..f7544548 100644
--- a/config/coreboot/hp2170p_16mb/target.cfg
+++ b/config/coreboot/hp2170p_16mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="ahci"
+vcfg="hp2170p"
diff --git a/config/coreboot/hp2560p_8mb/target.cfg b/config/coreboot/hp2560p_8mb/target.cfg
index 2e48c44d..a9dfe4e4 100644
--- a/config/coreboot/hp2560p_8mb/target.cfg
+++ b/config/coreboot/hp2560p_8mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="ahci"
+vcfg="hp2560p"
diff --git a/config/coreboot/hp2570p_16mb/target.cfg b/config/coreboot/hp2570p_16mb/target.cfg
index 2e48c44d..928527da 100644
--- a/config/coreboot/hp2570p_16mb/target.cfg
+++ b/config/coreboot/hp2570p_16mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="ahci"
+vcfg="hp2570p"
diff --git a/config/coreboot/hp8200sff_4mb/target.cfg b/config/coreboot/hp8200sff_4mb/target.cfg
index 82169ae7..59c6f1d1 100644
--- a/config/coreboot/hp8200sff_4mb/target.cfg
+++ b/config/coreboot/hp8200sff_4mb/target.cfg
@@ -1,8 +1,8 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="nvme ahci"
grubtree="nvme"
+vcfg="hp8200sff"
diff --git a/config/coreboot/hp8200sff_8mb/target.cfg b/config/coreboot/hp8200sff_8mb/target.cfg
index 82169ae7..59c6f1d1 100644
--- a/config/coreboot/hp8200sff_8mb/target.cfg
+++ b/config/coreboot/hp8200sff_8mb/target.cfg
@@ -1,8 +1,8 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="nvme ahci"
grubtree="nvme"
+vcfg="hp8200sff"
diff --git a/config/coreboot/hp820g2_12mb/target.cfg b/config/coreboot/hp820g2_12mb/target.cfg
index ada696cf..26a51303 100644
--- a/config/coreboot/hp820g2_12mb/target.cfg
+++ b/config/coreboot/hp820g2_12mb/target.cfg
@@ -1,8 +1,9 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
release="n"
grub_scan_disk="nvme ahci"
grubtree="xhci"
+vcfg="hp820g2"
diff --git a/config/coreboot/hp8300cmt_16mb/target.cfg b/config/coreboot/hp8300cmt_16mb/target.cfg
index 82169ae7..247bb3f1 100644
--- a/config/coreboot/hp8300cmt_16mb/target.cfg
+++ b/config/coreboot/hp8300cmt_16mb/target.cfg
@@ -1,8 +1,8 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="nvme ahci"
grubtree="nvme"
+vcfg="ivybridge"
diff --git a/config/coreboot/hp8300usdt_16mb/target.cfg b/config/coreboot/hp8300usdt_16mb/target.cfg
index 2e48c44d..2556a4ce 100644
--- a/config/coreboot/hp8300usdt_16mb/target.cfg
+++ b/config/coreboot/hp8300usdt_16mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/hp8460pintel_8mb/target.cfg b/config/coreboot/hp8460pintel_8mb/target.cfg
index 2e48c44d..b39036ba 100644
--- a/config/coreboot/hp8460pintel_8mb/target.cfg
+++ b/config/coreboot/hp8460pintel_8mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="ahci"
+vcfg="hp8460pintel"
diff --git a/config/coreboot/hp8470pintel_16mb/target.cfg b/config/coreboot/hp8470pintel_16mb/target.cfg
index 2e48c44d..d960f36b 100644
--- a/config/coreboot/hp8470pintel_16mb/target.cfg
+++ b/config/coreboot/hp8470pintel_16mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="ahci"
+vcfg="hp8470pintel"
diff --git a/config/coreboot/hp8560w_8mb/target.cfg b/config/coreboot/hp8560w_8mb/target.cfg
index 2e48c44d..7bad4889 100644
--- a/config/coreboot/hp8560w_8mb/target.cfg
+++ b/config/coreboot/hp8560w_8mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="ahci"
+vcfg="hp8560w"
diff --git a/config/coreboot/hp9470m_16mb/target.cfg b/config/coreboot/hp9470m_16mb/target.cfg
index 2e48c44d..35a0a6fd 100644
--- a/config/coreboot/hp9470m_16mb/target.cfg
+++ b/config/coreboot/hp9470m_16mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
-grub_timeout=10
grub_scan_disk="ahci"
+vcfg="hp9470m"
diff --git a/config/coreboot/kcma_d8-udimm_16mb/target.cfg b/config/coreboot/kcma_d8-udimm_16mb/target.cfg
index 749c4e46..ce97e14f 100644
--- a/config/coreboot/kcma_d8-udimm_16mb/target.cfg
+++ b/config/coreboot/kcma_d8-udimm_16mb/target.cfg
@@ -2,7 +2,7 @@ tree="fam15h_udimm"
xtree="fam15h_rdimm"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
xlang="c"
grub_timout=10
diff --git a/config/coreboot/kcma_d8_rdimm_16mb/target.cfg b/config/coreboot/kcma_d8_rdimm_16mb/target.cfg
index 80d2018e..cb012f9f 100644
--- a/config/coreboot/kcma_d8_rdimm_16mb/target.cfg
+++ b/config/coreboot/kcma_d8_rdimm_16mb/target.cfg
@@ -1,9 +1,8 @@
tree="fam15h_rdimm"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
xlang="c"
-grub_timeout=10
grub_scan_disk="nvme ahci"
grubtree="nvme"
diff --git a/config/coreboot/kcma_d8_rdimm_2mb/target.cfg b/config/coreboot/kcma_d8_rdimm_2mb/target.cfg
index 744b6e10..cb012f9f 100644
--- a/config/coreboot/kcma_d8_rdimm_2mb/target.cfg
+++ b/config/coreboot/kcma_d8_rdimm_2mb/target.cfg
@@ -1,7 +1,7 @@
tree="fam15h_rdimm"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
xlang="c"
grub_scan_disk="nvme ahci"
diff --git a/config/coreboot/kcma_d8_udimm_2mb/target.cfg b/config/coreboot/kcma_d8_udimm_2mb/target.cfg
index d4079eb4..9c3a0902 100644
--- a/config/coreboot/kcma_d8_udimm_2mb/target.cfg
+++ b/config/coreboot/kcma_d8_udimm_2mb/target.cfg
@@ -2,9 +2,8 @@ tree="fam15h_udimm"
xtree="fam15h_rdimm"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
xlang="c"
-grub_timeout=10
grub_scan_disk="nvme ahci"
grubtree="nvme"
diff --git a/config/coreboot/kfsn4_dre_1mb/target.cfg b/config/coreboot/kfsn4_dre_1mb/target.cfg
index 19c57b8d..79ca98c4 100644
--- a/config/coreboot/kfsn4_dre_1mb/target.cfg
+++ b/config/coreboot/kfsn4_dre_1mb/target.cfg
@@ -3,4 +3,3 @@ xarch="i386-elf"
payload_seabios="y"
payload_memtest="y"
xlang="c"
-grub_timeout=10
diff --git a/config/coreboot/kfsn4_dre_2mb/target.cfg b/config/coreboot/kfsn4_dre_2mb/target.cfg
index 9bd20d45..ab87dd2f 100644
--- a/config/coreboot/kfsn4_dre_2mb/target.cfg
+++ b/config/coreboot/kfsn4_dre_2mb/target.cfg
@@ -1,7 +1,6 @@
tree="fam15h_udimm"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
xlang="c"
-grub_timeout=10
diff --git a/config/coreboot/kgpe_d16_rdimm_16mb/target.cfg b/config/coreboot/kgpe_d16_rdimm_16mb/target.cfg
index 80d2018e..cb012f9f 100644
--- a/config/coreboot/kgpe_d16_rdimm_16mb/target.cfg
+++ b/config/coreboot/kgpe_d16_rdimm_16mb/target.cfg
@@ -1,9 +1,8 @@
tree="fam15h_rdimm"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
xlang="c"
-grub_timeout=10
grub_scan_disk="nvme ahci"
grubtree="nvme"
diff --git a/config/coreboot/kgpe_d16_rdimm_2mb/target.cfg b/config/coreboot/kgpe_d16_rdimm_2mb/target.cfg
index 80d2018e..cb012f9f 100644
--- a/config/coreboot/kgpe_d16_rdimm_2mb/target.cfg
+++ b/config/coreboot/kgpe_d16_rdimm_2mb/target.cfg
@@ -1,9 +1,8 @@
tree="fam15h_rdimm"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
xlang="c"
-grub_timeout=10
grub_scan_disk="nvme ahci"
grubtree="nvme"
diff --git a/config/coreboot/kgpe_d16_udimm_16mb/target.cfg b/config/coreboot/kgpe_d16_udimm_16mb/target.cfg
index d4079eb4..9c3a0902 100644
--- a/config/coreboot/kgpe_d16_udimm_16mb/target.cfg
+++ b/config/coreboot/kgpe_d16_udimm_16mb/target.cfg
@@ -2,9 +2,8 @@ tree="fam15h_udimm"
xtree="fam15h_rdimm"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
xlang="c"
-grub_timeout=10
grub_scan_disk="nvme ahci"
grubtree="nvme"
diff --git a/config/coreboot/kgpe_d16_udimm_2mb/target.cfg b/config/coreboot/kgpe_d16_udimm_2mb/target.cfg
index d4079eb4..9c3a0902 100644
--- a/config/coreboot/kgpe_d16_udimm_2mb/target.cfg
+++ b/config/coreboot/kgpe_d16_udimm_2mb/target.cfg
@@ -2,9 +2,8 @@ tree="fam15h_udimm"
xtree="fam15h_rdimm"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
xlang="c"
-grub_timeout=10
grub_scan_disk="nvme ahci"
grubtree="nvme"
diff --git a/config/coreboot/macbook11/target.cfg b/config/coreboot/macbook11/target.cfg
index 043bd365..c7eddcc2 100644
--- a/config/coreboot/macbook11/target.cfg
+++ b/config/coreboot/macbook11/target.cfg
@@ -1,5 +1,5 @@
tree="i945"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/macbook11_16mb/target.cfg b/config/coreboot/macbook11_16mb/target.cfg
index a2231fc5..1bdb98f1 100644
--- a/config/coreboot/macbook11_16mb/target.cfg
+++ b/config/coreboot/macbook11_16mb/target.cfg
@@ -1,5 +1,5 @@
tree="i945"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
scan_scan_disk="ahci"
diff --git a/config/coreboot/macbook21/target.cfg b/config/coreboot/macbook21/target.cfg
index 12e51f9b..7e716a43 100644
--- a/config/coreboot/macbook21/target.cfg
+++ b/config/coreboot/macbook21/target.cfg
@@ -1,6 +1,6 @@
tree="i945"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/macbook21_16mb/target.cfg b/config/coreboot/macbook21_16mb/target.cfg
index 12e51f9b..7e716a43 100644
--- a/config/coreboot/macbook21_16mb/target.cfg
+++ b/config/coreboot/macbook21_16mb/target.cfg
@@ -1,6 +1,6 @@
tree="i945"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/qemu_x86_12mb/target.cfg b/config/coreboot/qemu_x86_12mb/target.cfg
index 9572fdc8..27921ff9 100644
--- a/config/coreboot/qemu_x86_12mb/target.cfg
+++ b/config/coreboot/qemu_x86_12mb/target.cfg
@@ -1,6 +1,5 @@
tree="default"
xarch="i386-elf"
payload_grub="y"
-payload_grub_withseabios="y"
payload_seabios="y"
payload_memtest="y"
diff --git a/config/coreboot/r400_16mb/target.cfg b/config/coreboot/r400_16mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/r400_16mb/target.cfg
+++ b/config/coreboot/r400_16mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/r400_4mb/target.cfg b/config/coreboot/r400_4mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/r400_4mb/target.cfg
+++ b/config/coreboot/r400_4mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/r400_8mb/target.cfg b/config/coreboot/r400_8mb/target.cfg
index 1e7b56ca..f596cc06 100644
--- a/config/coreboot/r400_8mb/target.cfg
+++ b/config/coreboot/r400_8mb/target.cfg
@@ -1,5 +1,5 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
diff --git a/config/coreboot/r500_4mb/target.cfg b/config/coreboot/r500_4mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/r500_4mb/target.cfg
+++ b/config/coreboot/r500_4mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/t1650_12mb/target.cfg b/config/coreboot/t1650_12mb/target.cfg
index a2b3d31f..edbca096 100644
--- a/config/coreboot/t1650_12mb/target.cfg
+++ b/config/coreboot/t1650_12mb/target.cfg
@@ -1,7 +1,8 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="nvme ahci"
grubtree="nvme"
+vcfg="t1650"
diff --git a/config/coreboot/t400_16mb/target.cfg b/config/coreboot/t400_16mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/t400_16mb/target.cfg
+++ b/config/coreboot/t400_16mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/t400_4mb/target.cfg b/config/coreboot/t400_4mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/t400_4mb/target.cfg
+++ b/config/coreboot/t400_4mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/t400_8mb/target.cfg b/config/coreboot/t400_8mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/t400_8mb/target.cfg
+++ b/config/coreboot/t400_8mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/t420_8mb/target.cfg b/config/coreboot/t420_8mb/target.cfg
index 341e655e..4201beb1 100644
--- a/config/coreboot/t420_8mb/target.cfg
+++ b/config/coreboot/t420_8mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="sandybridge"
diff --git a/config/coreboot/t420s_8mb/target.cfg b/config/coreboot/t420s_8mb/target.cfg
index 341e655e..4201beb1 100644
--- a/config/coreboot/t420s_8mb/target.cfg
+++ b/config/coreboot/t420s_8mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="sandybridge"
diff --git a/config/coreboot/t430_12mb/target.cfg b/config/coreboot/t430_12mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/t430_12mb/target.cfg
+++ b/config/coreboot/t430_12mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/t440plibremrc_12mb/target.cfg b/config/coreboot/t440plibremrc_12mb/target.cfg
index b513e2b5..3c3f9802 100644
--- a/config/coreboot/t440plibremrc_12mb/target.cfg
+++ b/config/coreboot/t440plibremrc_12mb/target.cfg
@@ -1,7 +1,8 @@
tree="haswell"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="nvme ahci"
grubtree="xhci"
+vcfg="haswell"
diff --git a/config/coreboot/t500_16mb/target.cfg b/config/coreboot/t500_16mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/t500_16mb/target.cfg
+++ b/config/coreboot/t500_16mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/t500_4mb/target.cfg b/config/coreboot/t500_4mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/t500_4mb/target.cfg
+++ b/config/coreboot/t500_4mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/t500_8mb/target.cfg b/config/coreboot/t500_8mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/t500_8mb/target.cfg
+++ b/config/coreboot/t500_8mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/t520_8mb/target.cfg b/config/coreboot/t520_8mb/target.cfg
index 341e655e..4201beb1 100644
--- a/config/coreboot/t520_8mb/target.cfg
+++ b/config/coreboot/t520_8mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="sandybridge"
diff --git a/config/coreboot/t530_12mb/target.cfg b/config/coreboot/t530_12mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/t530_12mb/target.cfg
+++ b/config/coreboot/t530_12mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/t60_16mb_intelgpu/target.cfg b/config/coreboot/t60_16mb_intelgpu/target.cfg
index 043bd365..c7eddcc2 100644
--- a/config/coreboot/t60_16mb_intelgpu/target.cfg
+++ b/config/coreboot/t60_16mb_intelgpu/target.cfg
@@ -1,5 +1,5 @@
tree="i945"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/t60_intelgpu/target.cfg b/config/coreboot/t60_intelgpu/target.cfg
index 043bd365..c7eddcc2 100644
--- a/config/coreboot/t60_intelgpu/target.cfg
+++ b/config/coreboot/t60_intelgpu/target.cfg
@@ -1,5 +1,5 @@
tree="i945"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/w500_16mb/target.cfg b/config/coreboot/w500_16mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/w500_16mb/target.cfg
+++ b/config/coreboot/w500_16mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/w500_4mb/target.cfg b/config/coreboot/w500_4mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/w500_4mb/target.cfg
+++ b/config/coreboot/w500_4mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/w500_8mb/target.cfg b/config/coreboot/w500_8mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/w500_8mb/target.cfg
+++ b/config/coreboot/w500_8mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/w530_12mb/target.cfg b/config/coreboot/w530_12mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/w530_12mb/target.cfg
+++ b/config/coreboot/w530_12mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/w541_12mb/target.cfg b/config/coreboot/w541_12mb/target.cfg
index b513e2b5..3c3f9802 100644
--- a/config/coreboot/w541_12mb/target.cfg
+++ b/config/coreboot/w541_12mb/target.cfg
@@ -1,7 +1,8 @@
tree="haswell"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="nvme ahci"
grubtree="xhci"
+vcfg="haswell"
diff --git a/config/coreboot/x200_16mb/target.cfg b/config/coreboot/x200_16mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/x200_16mb/target.cfg
+++ b/config/coreboot/x200_16mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/x200_4mb/target.cfg b/config/coreboot/x200_4mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/x200_4mb/target.cfg
+++ b/config/coreboot/x200_4mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/x200_8mb/target.cfg b/config/coreboot/x200_8mb/target.cfg
index 341e655e..4a9af479 100644
--- a/config/coreboot/x200_8mb/target.cfg
+++ b/config/coreboot/x200_8mb/target.cfg
@@ -1,6 +1,6 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/x220_8mb/target.cfg b/config/coreboot/x220_8mb/target.cfg
index 341e655e..4201beb1 100644
--- a/config/coreboot/x220_8mb/target.cfg
+++ b/config/coreboot/x220_8mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="sandybridge"
diff --git a/config/coreboot/x230_12mb/target.cfg b/config/coreboot/x230_12mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/x230_12mb/target.cfg
+++ b/config/coreboot/x230_12mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/x230_16mb/target.cfg b/config/coreboot/x230_16mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/x230_16mb/target.cfg
+++ b/config/coreboot/x230_16mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/x230t_12mb/target.cfg b/config/coreboot/x230t_12mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/x230t_12mb/target.cfg
+++ b/config/coreboot/x230t_12mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/x230t_16mb/target.cfg b/config/coreboot/x230t_16mb/target.cfg
index 341e655e..2556a4ce 100644
--- a/config/coreboot/x230t_16mb/target.cfg
+++ b/config/coreboot/x230t_16mb/target.cfg
@@ -1,6 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
grub_scan_disk="ahci"
+vcfg="ivybridge"
diff --git a/config/coreboot/x301_16mb/target.cfg b/config/coreboot/x301_16mb/target.cfg
index 50e91f61..16ffc818 100644
--- a/config/coreboot/x301_16mb/target.cfg
+++ b/config/coreboot/x301_16mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
release="n"
grub_scan_disk="ahci"
diff --git a/config/coreboot/x301_4mb/target.cfg b/config/coreboot/x301_4mb/target.cfg
index 50e91f61..16ffc818 100644
--- a/config/coreboot/x301_4mb/target.cfg
+++ b/config/coreboot/x301_4mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
release="n"
grub_scan_disk="ahci"
diff --git a/config/coreboot/x301_8mb/target.cfg b/config/coreboot/x301_8mb/target.cfg
index 50e91f61..16ffc818 100644
--- a/config/coreboot/x301_8mb/target.cfg
+++ b/config/coreboot/x301_8mb/target.cfg
@@ -1,7 +1,7 @@
tree="default"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
payload_memtest="y"
release="n"
grub_scan_disk="ahci"
diff --git a/config/coreboot/x60/target.cfg b/config/coreboot/x60/target.cfg
index 043bd365..c7eddcc2 100644
--- a/config/coreboot/x60/target.cfg
+++ b/config/coreboot/x60/target.cfg
@@ -1,5 +1,5 @@
tree="i945"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
grub_scan_disk="ahci"
diff --git a/config/coreboot/x60_16mb/target.cfg b/config/coreboot/x60_16mb/target.cfg
index 043bd365..c7eddcc2 100644
--- a/config/coreboot/x60_16mb/target.cfg
+++ b/config/coreboot/x60_16mb/target.cfg
@@ -1,5 +1,5 @@
tree="i945"
xarch="i386-elf"
payload_seabios="y"
-payload_seabios_withgrub="y"
+payload_grub="y"
grub_scan_disk="ahci"
diff --git a/config/git/bios_extract b/config/git/bios_extract
deleted file mode 100644
index 2b313e83..00000000
--- a/config/git/bios_extract
+++ /dev/null
@@ -1,6 +0,0 @@
-{bios_extract}{
- rev: 0a7bc1d71735ef97b00dfec0fd54a02fcc5d1bb0
- loc: bios_extract
- url: https://review.coreboot.org/bios_extract
- bkup_url: https://github.com/coreboot/bios_extract/
-}
diff --git a/config/git/bios_extract/pkg.cfg b/config/git/bios_extract/pkg.cfg
new file mode 100644
index 00000000..4b203544
--- /dev/null
+++ b/config/git/bios_extract/pkg.cfg
@@ -0,0 +1,3 @@
+rev="0a7bc1d71735ef97b00dfec0fd54a02fcc5d1bb0"
+url="https://review.coreboot.org/bios_extract"
+bkup_url="https://github.com/coreboot/bios_extract/"
diff --git a/config/git/biosutilities b/config/git/biosutilities
deleted file mode 100644
index bd11c88a..00000000
--- a/config/git/biosutilities
+++ /dev/null
@@ -1,6 +0,0 @@
-{biosutilities}{
- rev: 03ae0cf0706ede5a2a15da0986c19c776d0e6b26
- loc: biosutilities
- url: https://codeberg.org/libreboot/BIOSUtilities
- bkup_url: https://github.com/platomav/BIOSUtilities
-}
diff --git a/config/git/biosutilities/pkg.cfg b/config/git/biosutilities/pkg.cfg
new file mode 100644
index 00000000..a1c02015
--- /dev/null
+++ b/config/git/biosutilities/pkg.cfg
@@ -0,0 +1,3 @@
+rev="03ae0cf0706ede5a2a15da0986c19c776d0e6b26"
+url="https://codeberg.org/libreboot/BIOSUtilities"
+bkup_url="https://github.com/platomav/BIOSUtilities"
diff --git a/config/git/coreboot b/config/git/coreboot
deleted file mode 100644
index 4b139e19..00000000
--- a/config/git/coreboot
+++ /dev/null
@@ -1,6 +0,0 @@
-{coreboot}{
- rev: HEAD
- loc: coreboot/coreboot
- url: https://review.coreboot.org/coreboot
- bkup_url: https://github.com/coreboot/coreboot.git
-}
diff --git a/config/git/coreboot/pkg.cfg b/config/git/coreboot/pkg.cfg
new file mode 100644
index 00000000..f4ed31e8
--- /dev/null
+++ b/config/git/coreboot/pkg.cfg
@@ -0,0 +1,3 @@
+rev="HEAD"
+url="https://review.coreboot.org/coreboot"
+bkup_url="https://github.com/coreboot/coreboot.git"
diff --git a/config/git/docs b/config/git/docs
deleted file mode 100644
index 22892a21..00000000
--- a/config/git/docs
+++ /dev/null
@@ -1,6 +0,0 @@
-{docs}{
- rev: e72d055915c3a9ffe739982946e101b146b2483c
- loc: docs
- url: https://codeberg.org/vimuser/untitled
- bkup_url: https://notabug.org/untitled/untitled
-}
diff --git a/config/git/docs/pkg.cfg b/config/git/docs/pkg.cfg
new file mode 100644
index 00000000..9913ee5f
--- /dev/null
+++ b/config/git/docs/pkg.cfg
@@ -0,0 +1,3 @@
+rev="e72d055915c3a9ffe739982946e101b146b2483c"
+url="https://codeberg.org/vimuser/untitled"
+bkup_url="https://notabug.org/untitled/untitled"
diff --git a/config/git/flashprog b/config/git/flashprog
deleted file mode 100644
index 98a0539b..00000000
--- a/config/git/flashprog
+++ /dev/null
@@ -1,6 +0,0 @@
-{flashprog}{
- rev: 5b4fdd11dd74c7f018cb04f7a27a2badc02fe182
- loc: flashprog
- url: https://review.sourcearcade.org/flashprog
- bkup_url: https://github.com/SourceArcade/flashprog.git
-}
diff --git a/config/git/flashprog/pkg.cfg b/config/git/flashprog/pkg.cfg
new file mode 100644
index 00000000..ddbd60a2
--- /dev/null
+++ b/config/git/flashprog/pkg.cfg
@@ -0,0 +1,3 @@
+rev="5b4fdd11dd74c7f018cb04f7a27a2badc02fe182"
+url="https://review.sourcearcade.org/flashprog"
+bkup_url="https://github.com/SourceArcade/flashprog.git"
diff --git a/config/git/grub b/config/git/grub
deleted file mode 100644
index 21634cd6..00000000
--- a/config/git/grub
+++ /dev/null
@@ -1,6 +0,0 @@
-{grub}{
- rev: HEAD
- loc: grub/grub
- url: git://git.savannah.gnu.org/grub.git
- bkup_url: https://codeberg.org/libreboot/grub
-}
diff --git a/config/git/grub/pkg.cfg b/config/git/grub/pkg.cfg
new file mode 100644
index 00000000..ed26a766
--- /dev/null
+++ b/config/git/grub/pkg.cfg
@@ -0,0 +1,3 @@
+rev="HEAD"
+url="git://git.savannah.gnu.org/grub.git"
+bkup_url="https://codeberg.org/libreboot/grub"
diff --git a/config/git/memtest86plus b/config/git/memtest86plus
deleted file mode 100644
index c1f56623..00000000
--- a/config/git/memtest86plus
+++ /dev/null
@@ -1,6 +0,0 @@
-{memtest86plus}{
- rev: 5dcd424ea7afb857c1171e747ef064d98d26afeb
- loc: memtest86plus
- url: https://codeberg.org/libreboot/memtest86plus
- bkup_url: https://github.com/memtest86plus/memtest86plus.git
-}
diff --git a/config/git/memtest86plus/pkg.cfg b/config/git/memtest86plus/pkg.cfg
new file mode 100644
index 00000000..4bf44294
--- /dev/null
+++ b/config/git/memtest86plus/pkg.cfg
@@ -0,0 +1,3 @@
+rev="5dcd424ea7afb857c1171e747ef064d98d26afeb"
+url="https://codeberg.org/libreboot/memtest86plus"
+bkup_url="https://github.com/memtest86plus/memtest86plus.git"
diff --git a/config/git/pico-sdk b/config/git/pico-sdk
deleted file mode 100644
index 076a8e01..00000000
--- a/config/git/pico-sdk
+++ /dev/null
@@ -1,6 +0,0 @@
-{pico-sdk}{
- rev: 6a7db34ff63345a7badec79ebea3aaef1712f374
- loc: pico-sdk
- url: https://codeberg.org/libreboot/pico-sdk
- bkup_url: https://github.com/raspberrypi/pico-sdk
-}
diff --git a/config/git/pico-sdk/pkg.cfg b/config/git/pico-sdk/pkg.cfg
new file mode 100644
index 00000000..68b5bca6
--- /dev/null
+++ b/config/git/pico-sdk/pkg.cfg
@@ -0,0 +1,3 @@
+rev="6a7db34ff63345a7badec79ebea3aaef1712f374"
+url="https://codeberg.org/libreboot/pico-sdk"
+bkup_url="https://github.com/raspberrypi/pico-sdk"
diff --git a/config/git/pico-serprog b/config/git/pico-serprog
deleted file mode 100644
index 6d46566b..00000000
--- a/config/git/pico-serprog
+++ /dev/null
@@ -1,7 +0,0 @@
-{pico-serprog}{
- rev: e75e3a20e63269a5e3189bc2e49a6a81d45a636a
- loc: pico-serprog
- url: https://codeberg.org/libreboot/pico-serprog
- bkup_url: https://git.disroot.org/libreboot/pico-serprog
- depend: pico-sdk
-}
diff --git a/config/git/pico-serprog/pkg.cfg b/config/git/pico-serprog/pkg.cfg
new file mode 100644
index 00000000..54c5fa44
--- /dev/null
+++ b/config/git/pico-serprog/pkg.cfg
@@ -0,0 +1,4 @@
+rev="e75e3a20e63269a5e3189bc2e49a6a81d45a636a"
+url="https://codeberg.org/libreboot/pico-serprog"
+bkup_url="https://git.disroot.org/libreboot/pico-serprog"
+depend="pico-sdk"
diff --git a/config/git/seabios b/config/git/seabios
deleted file mode 100644
index 62c90d30..00000000
--- a/config/git/seabios
+++ /dev/null
@@ -1,6 +0,0 @@
-{seabios}{
- rev: HEAD
- loc: seabios/seabios
- url: https://review.coreboot.org/seabios
- bkup_url: https://github.com/coreboot/seabios
-}
diff --git a/config/git/seabios/pkg.cfg b/config/git/seabios/pkg.cfg
new file mode 100644
index 00000000..d8c6932b
--- /dev/null
+++ b/config/git/seabios/pkg.cfg
@@ -0,0 +1,3 @@
+rev="HEAD"
+url="https://review.coreboot.org/seabios"
+bkup_url="https://github.com/coreboot/seabios"
diff --git a/config/git/stm32-vserprog b/config/git/stm32-vserprog
deleted file mode 100644
index 37e901fc..00000000
--- a/config/git/stm32-vserprog
+++ /dev/null
@@ -1,6 +0,0 @@
-{stm32-vserprog}{
- rev: 8fcf0a4d41800631b571fa7bbd1d8b251f0a2111
- loc: stm32-vserprog
- url: https://codeberg.org/libreboot/stm32-vserprog
- bkup_url: https://git.disroot.org/libreboot/stm32-vserprog
-}
diff --git a/config/git/stm32-vserprog/pkg.cfg b/config/git/stm32-vserprog/pkg.cfg
new file mode 100644
index 00000000..9fb12c63
--- /dev/null
+++ b/config/git/stm32-vserprog/pkg.cfg
@@ -0,0 +1,3 @@
+rev="8fcf0a4d41800631b571fa7bbd1d8b251f0a2111"
+url="https://codeberg.org/libreboot/stm32-vserprog"
+bkup_url="https://git.disroot.org/libreboot/stm32-vserprog"
diff --git a/config/git/u-boot b/config/git/u-boot
deleted file mode 100644
index 4057c089..00000000
--- a/config/git/u-boot
+++ /dev/null
@@ -1,6 +0,0 @@
-{u-boot}{
- rev: HEAD
- loc: u-boot/u-boot
- url: https://source.denx.de/u-boot/u-boot.git
- bkup_url: https://github.com/u-boot/u-boot.git
-}
diff --git a/config/git/u-boot/pkg.cfg b/config/git/u-boot/pkg.cfg
new file mode 100644
index 00000000..e65ad63a
--- /dev/null
+++ b/config/git/u-boot/pkg.cfg
@@ -0,0 +1,3 @@
+rev="HEAD"
+url="https://source.denx.de/u-boot/u-boot.git"
+bkup_url="https://github.com/u-boot/u-boot.git"
diff --git a/config/git/uefitool b/config/git/uefitool
deleted file mode 100644
index e3ced920..00000000
--- a/config/git/uefitool
+++ /dev/null
@@ -1,6 +0,0 @@
-{uefitool}{
- rev: 4a41c33596e9bc3ae812e763965d91ac57553e02
- loc: uefitool
- url: https://codeberg.org/libreboot/UEFITool
- bkup_url: https://github.com/LongSoft/UEFITool
-}
diff --git a/config/git/uefitool/pkg.cfg b/config/git/uefitool/pkg.cfg
new file mode 100644
index 00000000..1602e6be
--- /dev/null
+++ b/config/git/uefitool/pkg.cfg
@@ -0,0 +1,3 @@
+rev="4a41c33596e9bc3ae812e763965d91ac57553e02"
+url="https://codeberg.org/libreboot/UEFITool"
+bkup_url="https://github.com/LongSoft/UEFITool"
diff --git a/config/grub/default/config/payload b/config/grub/default/config/payload
index 313290ed..cdd6c0f0 100644
--- a/config/grub/default/config/payload
+++ b/config/grub/default/config/payload
@@ -53,7 +53,7 @@ set default="0"
if [ -f (cbfsdisk)/timeout.cfg ]; then
source (cbfsdisk)/timeout.cfg
else
- set timeout=5
+ set timeout=8
fi
set grub_scan_disk="ahci ata"
if [ -f (cbfsdisk)/scan.cfg ]; then
diff --git a/config/grub/default/target.cfg b/config/grub/default/target.cfg
index fa5735e9..a5936693 100644
--- a/config/grub/default/target.cfg
+++ b/config/grub/default/target.cfg
@@ -3,3 +3,5 @@ rev="8719cc2040368d43ab2de0b6e1b850b2c9cfc5b7"
bootstrapargs="--gnulib-srcdir=gnulib/ --no-git"
autoconfargs="--with-platform=coreboot --disable-werror"
makeargs="FS_PAYLOAD_MODULES=\"\""
+btype="autohell"
+mkhelper="mkpayload_grub"
diff --git a/config/grub/nvme/config/payload b/config/grub/nvme/config/payload
index d7a3c57d..2f9c7114 100644
--- a/config/grub/nvme/config/payload
+++ b/config/grub/nvme/config/payload
@@ -53,7 +53,7 @@ set default="0"
if [ -f (cbfsdisk)/timeout.cfg ]; then
source (cbfsdisk)/timeout.cfg
else
- set timeout=5
+ set timeout=8
fi
set grub_scan_disk="nvme ahci ata"
if [ -f (cbfsdisk)/scan.cfg ]; then
diff --git a/config/grub/nvme/target.cfg b/config/grub/nvme/target.cfg
index a85c97f5..f5e95daf 100644
--- a/config/grub/nvme/target.cfg
+++ b/config/grub/nvme/target.cfg
@@ -3,3 +3,5 @@ rev="8719cc2040368d43ab2de0b6e1b850b2c9cfc5b7"
bootstrapargs="--gnulib-srcdir=gnulib/ --no-git"
autoconfargs="--with-platform=coreboot --disable-werror"
makeargs="FS_PAYLOAD_MODULES=\"\""
+btype="autohell"
+mkhelper="mkpayload_grub"
diff --git a/config/grub/xhci/config/payload b/config/grub/xhci/config/payload
index cd5b49b3..923e3551 100644
--- a/config/grub/xhci/config/payload
+++ b/config/grub/xhci/config/payload
@@ -54,7 +54,7 @@ set default="0"
if [ -f (cbfsdisk)/timeout.cfg ]; then
source (cbfsdisk)/timeout.cfg
else
- set timeout=5
+ set timeout=8
fi
set grub_scan_disk="nvme ahci ata"
if [ -f (cbfsdisk)/scan.cfg ]; then
diff --git a/config/grub/xhci/target.cfg b/config/grub/xhci/target.cfg
index 34ab2d24..3cdcb5d8 100644
--- a/config/grub/xhci/target.cfg
+++ b/config/grub/xhci/target.cfg
@@ -3,3 +3,5 @@ rev="8719cc2040368d43ab2de0b6e1b850b2c9cfc5b7"
bootstrapargs="--gnulib-srcdir=gnulib/ --no-git"
autoconfargs="--with-platform=coreboot --disable-werror"
makeargs="FS_PAYLOAD_MODULES=\"\""
+btype="autohell"
+mkhelper="mkpayload_grub"
diff --git a/config/uefitool/target.cfg b/config/uefitool/target.cfg
index 98d5e03d..909568a7 100644
--- a/config/uefitool/target.cfg
+++ b/config/uefitool/target.cfg
@@ -1 +1,2 @@
cmakedir="UEFIExtract"
+btype="cmake"
diff --git a/config/vendor/e6400/pkg.cfg b/config/vendor/e6400/pkg.cfg
new file mode 100644
index 00000000..5274f51b
--- /dev/null
+++ b/config/vendor/e6400/pkg.cfg
@@ -0,0 +1,5 @@
+E6400_VGA_DL_hash="6217d5fce2291d15bb0649fd2faaeb78e4c48962b07a2bea6af60466bfdc5f233af0d077c2c6e71dd96047bdbb1f612324cef0a5e728ba9a9ec5c69a4022cd8d"
+E6400_VGA_DL_url="https://dl.dell.com/FOLDER01530530M/1/E6400A34.exe"
+E6400_VGA_DL_url_bkup="https://web.archive.org/web/20230506014903/https://dl.dell.com/FOLDER01530530M/1/E6400A34.exe"
+E6400_VGA_offset="274451"
+E6400_VGA_romname="mod_21.bin"
diff --git a/config/vendor/haswell/pkg.cfg b/config/vendor/haswell/pkg.cfg
new file mode 100644
index 00000000..d43fab3c
--- /dev/null
+++ b/config/vendor/haswell/pkg.cfg
@@ -0,0 +1,3 @@
+DL_hash="f3d79aec805c8b0094a4081be76b3a22d329c479ad18210449b7acc3236ccfc4a2103eaa7c5b79a4872bfd699eede047efd46dfb06dc8f47e3216fc254612998"
+DL_url="https://download.lenovo.com/pccbbs/mobiles/glrg22ww.exe"
+DL_url_bkup="https://web.archive.org/web/20211120031520/https://download.lenovo.com/pccbbs/mobiles/glrg22ww.exe"
diff --git a/config/vendor/hp2170p/pkg.cfg b/config/vendor/hp2170p/pkg.cfg
new file mode 100644
index 00000000..71c4d637
--- /dev/null
+++ b/config/vendor/hp2170p/pkg.cfg
@@ -0,0 +1,6 @@
+DL_hash="4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c"
+DL_url="https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+DL_url_bkup="https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+EC_hash="940e533b6a276c13a6e46a93795ca84b19877b05e82c0c1795b7fea9cbea63c28e606ef994352fc77c4fdfb2e0c31c5edeefa98b989e1990364dfc6417b25460"
+EC_url="https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96088.exe"
+EC_url_bkup="https://web.archive.org/web/20230909164345/https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96088.exe"
diff --git a/config/vendor/hp2560p/pkg.cfg b/config/vendor/hp2560p/pkg.cfg
new file mode 100644
index 00000000..21d00424
--- /dev/null
+++ b/config/vendor/hp2560p/pkg.cfg
@@ -0,0 +1,6 @@
+DL_hash="81c9917938c4a2a4f128c976250451931efd0f25b51ff34f058ddacb8eec27272691371864a683ec7abcb924fea32592d061584c7b2571a5d3e84eb870281cc3"
+DL_url="https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe"
+DL_url_bkup="https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe"
+EC_hash="a602cc7627c569bc423a5857cf506fbc3bcd68cb6b43a7c1b99d12a569b4107c412748cf49605ef4d5b930eb14b6815c4d1b1dc20145fe9d707e445fc201cea2"
+EC_url="https://ftp.hp.com/pub/softpaq/sp85501-86000/sp85526.exe"
+EC_url_bkup="https://web.archive.org/web/20230416125725/https://ftp.hp.com/pub/softpaq/sp85501-86000/sp85526.exe"
diff --git a/config/vendor/hp2570p/pkg.cfg b/config/vendor/hp2570p/pkg.cfg
new file mode 100644
index 00000000..de7f768e
--- /dev/null
+++ b/config/vendor/hp2570p/pkg.cfg
@@ -0,0 +1,6 @@
+DL_hash="4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c"
+DL_url="https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+DL_url_bkup="https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+EC_hash="61ed284bdf938c5f36ad3267263fb3963a6608339425bc41aaef3ab0cd98f07c998d816b0233735ca35dc6cb771257da3f09a40d5cfc96bb6388b4366348275e"
+EC_url="https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96085.exe"
+EC_url_bkup="https://web.archive.org/web/20230610174558/https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96085.exe"
diff --git a/config/vendor/hp8200sff/pkg.cfg b/config/vendor/hp8200sff/pkg.cfg
new file mode 100644
index 00000000..079bd0be
--- /dev/null
+++ b/config/vendor/hp8200sff/pkg.cfg
@@ -0,0 +1,3 @@
+DL_hash="8fcb691bf84dc1feefc3c84f7cc59eadaabb200477bb3ecba1b050f23f133b0a8c2539015a523f676544c2dff64599bcba7e844e8c31757b90d70bb4485b5664"
+DL_url="https://ftp.ext.hp.com/pub/softpaq/sp96001-96500/sp96026.exe"
+DL_url_bkup="https://web.archive.org/web/20220708171920/https://ftp.ext.hp.com/pub/softpaq/sp96001-96500/sp96026.exe"
diff --git a/config/vendor/hp820g2/pkg.cfg b/config/vendor/hp820g2/pkg.cfg
new file mode 100644
index 00000000..3a95b5ea
--- /dev/null
+++ b/config/vendor/hp820g2/pkg.cfg
@@ -0,0 +1,9 @@
+DL_hash="1ac05a3e4f46426eeb77f89c4aca25ed1ad64479d8fcba6a3ab63a944512bacbc5d148cc7b9c4ff4b8c90a1fb1de4776e46f14aca8021900e0df37246aa0b717"
+DL_url="https://download.lenovo.com/pccbbs/mobiles/n10rg50w.exe"
+DL_url_bkup="https://download.lenovo.com/pccbbs/mobiles/n10rg50w.exe"
+MRC_url="https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_13904.77.0_samus_recovery_stable-channel_mp-v3.bin.zip"
+MRC_url_bkup="https://web.archive.org/web/20220310155922/https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_13904.77.0_samus_recovery_stable-channel_mp-v3.bin.zip"
+MRC_hash="3ff1599c52539f0707a07a8664a84ce51cd3fed1569df4bb7aa6722fc8dec0af1754250333b6ca1a9794d970a4de7b29a5cf2499f5b61e4c3eab64d1314aaea9"
+MRC_board="samus"
+MRC_refcode_cbtree="coreboot413"
+MRC_refcode_gbe="131253"
diff --git a/config/vendor/hp8460pintel/pkg.cfg b/config/vendor/hp8460pintel/pkg.cfg
new file mode 100644
index 00000000..d818a00b
--- /dev/null
+++ b/config/vendor/hp8460pintel/pkg.cfg
@@ -0,0 +1,6 @@
+DL_hash="81c9917938c4a2a4f128c976250451931efd0f25b51ff34f058ddacb8eec27272691371864a683ec7abcb924fea32592d061584c7b2571a5d3e84eb870281cc3"
+DL_url="https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe"
+DL_url_bkup="https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe"
+EC_hash="9be5511d7ba07a376583cbd0b7fa4d7dff87ebc94b78d489fd62a14cb7f61eac99670e6a10ce374fe8e3c4bdafabbd1edce7774c3a482c15c2d4207b74ea49ed"
+EC_url="https://ftp.hp.com/pub/softpaq/sp85501-86000/sp85528.exe"
+EC_url_bkup="https://web.archive.org/web/20211231004901/https://ftp.ext.hp.com/pub/softpaq/sp85501-86000/sp85528.exe"
diff --git a/config/vendor/hp8470pintel/pkg.cfg b/config/vendor/hp8470pintel/pkg.cfg
new file mode 100644
index 00000000..3dce5557
--- /dev/null
+++ b/config/vendor/hp8470pintel/pkg.cfg
@@ -0,0 +1,6 @@
+DL_hash="4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c"
+DL_url="https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+DL_url_bkup="https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+EC_hash="b95c9cf909ed537fb448e2be69eddcb57459efbaf0a979a73cd2bce90a7014b110f4dbbeecfd596c072636396b8f20c229c59ffe34e45500ce9edb000c6ccaf9"
+EC_url="https://ftp.hp.com/pub/softpaq/sp77501-78000/sp77818.exe"
+EC_url_bkup="https://web.archive.org/web/20230909173821/https://ftp.hp.com/pub/softpaq/sp77501-78000/sp77818.exe"
diff --git a/config/vendor/hp8560w/pkg.cfg b/config/vendor/hp8560w/pkg.cfg
new file mode 100644
index 00000000..b9dc94c5
--- /dev/null
+++ b/config/vendor/hp8560w/pkg.cfg
@@ -0,0 +1,6 @@
+DL_hash="81c9917938c4a2a4f128c976250451931efd0f25b51ff34f058ddacb8eec27272691371864a683ec7abcb924fea32592d061584c7b2571a5d3e84eb870281cc3"
+DL_url="https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe"
+DL_url_bkup="https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe"
+EC_hash="8e2bc5dca1a1cf0cfc1ac9df74eb6fda333f8ae560019f8182a49d3a716d72938f6cde4aa5ee56942def08207d3ef95706653bd238768fd029da43e9a4fbcc67"
+EC_url="https://ftp.hp.com/pub/softpaq/sp78001-78500/sp78085.exe"
+EC_url_bkup="https://web.archive.org/web/20230402085323/https://ftp.hp.com/pub/softpaq/sp78001-78500/sp78085.exe"
diff --git a/config/vendor/hp9470m/pkg.cfg b/config/vendor/hp9470m/pkg.cfg
new file mode 100644
index 00000000..756e64bf
--- /dev/null
+++ b/config/vendor/hp9470m/pkg.cfg
@@ -0,0 +1,6 @@
+DL_hash="4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c"
+DL_url="https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+DL_url_bkup="https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+EC_hash="563422bf5420da18b89439f28a38ea28a175f0ad3588f0f5ea39b08dfdd14c8d513cbf11c2125ec3869fc3b7222c7dc3d111415185ea9b73f41410b1b57f13bd"
+EC_url="https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96090.exe"
+EC_url_bkup="http://web.archive.org/web/20220504072602/https://ftp.ext.hp.com/pub/softpaq/sp96001-96500/sp96090.exe"
diff --git a/config/vendor/ivybridge/pkg.cfg b/config/vendor/ivybridge/pkg.cfg
new file mode 100644
index 00000000..92b1eb43
--- /dev/null
+++ b/config/vendor/ivybridge/pkg.cfg
@@ -0,0 +1,3 @@
+DL_hash="4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c"
+DL_url="https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+DL_url_bkup="https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
diff --git a/config/vendor/sandybridge/pkg.cfg b/config/vendor/sandybridge/pkg.cfg
new file mode 100644
index 00000000..34add8d3
--- /dev/null
+++ b/config/vendor/sandybridge/pkg.cfg
@@ -0,0 +1,3 @@
+DL_hash="81c9917938c4a2a4f128c976250451931efd0f25b51ff34f058ddacb8eec27272691371864a683ec7abcb924fea32592d061584c7b2571a5d3e84eb870281cc3"
+DL_url="https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe"
+DL_url_bkup="https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe"
diff --git a/config/vendor/sources b/config/vendor/sources
deleted file mode 100644
index 2096af54..00000000
--- a/config/vendor/sources
+++ /dev/null
@@ -1,166 +0,0 @@
-# This file holds the download sources for various intel blobs
-# board shortnames are listed and enclosed by '{}' followed by an opening
-# and closing '{}' for all blobs available for the board.
-# The board shortname must be the name of the board minus the trailing rom size.
-# If you want to make additions, try to add a backup url for download links and
-# list hashes as sha1 sums.
-
-# NOTE: this file now defines checksums as sha512 (of the sha-2 family),
-# where previously we used 160-bit SHA-1 algorithm; SHA-1 is not secure,
-# having demonstrated collisions, so we have switched to using sha512sum
-
-{x230 x230t x230i t430 t530 w530}{
- DL_hash 4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c
- DL_url https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
- DL_url_bkup https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
-}
-
-{x220 x220t t420 t520 t420s}{
- DL_hash 81c9917938c4a2a4f128c976250451931efd0f25b51ff34f058ddacb8eec27272691371864a683ec7abcb924fea32592d061584c7b2571a5d3e84eb870281cc3
- DL_url https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
- DL_url_bkup https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
-}
-
-# NOTE: google's manifest for archives containing mrc.bin, used here:
-# https://web.archive.org/web/20210211071412/https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.conf
-{t440plibremrc w541 dell9020sff_nri dell9020mt_nri}{
- DL_hash f3d79aec805c8b0094a4081be76b3a22d329c479ad18210449b7acc3236ccfc4a2103eaa7c5b79a4872bfd699eede047efd46dfb06dc8f47e3216fc254612998
- DL_url https://download.lenovo.com/pccbbs/mobiles/glrg22ww.exe
- DL_url_bkup https://web.archive.org/web/20211120031520/https://download.lenovo.com/pccbbs/mobiles/glrg22ww.exe
-}
-
-# broadwell mrc, and use me10 plus broadwell refcode
-{hp820g2}{
- DL_hash 1ac05a3e4f46426eeb77f89c4aca25ed1ad64479d8fcba6a3ab63a944512bacbc5d148cc7b9c4ff4b8c90a1fb1de4776e46f14aca8021900e0df37246aa0b717
- DL_url https://download.lenovo.com/pccbbs/mobiles/n10rg50w.exe
- DL_url_bkup https://download.lenovo.com/pccbbs/mobiles/n10rg50w.exe
- MRC_url https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_13904.77.0_samus_recovery_stable-channel_mp-v3.bin.zip
- MRC_url_bkup https://web.archive.org/web/20220310155922/https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_13904.77.0_samus_recovery_stable-channel_mp-v3.bin.zip
- MRC_hash 3ff1599c52539f0707a07a8664a84ce51cd3fed1569df4bb7aa6722fc8dec0af1754250333b6ca1a9794d970a4de7b29a5cf2499f5b61e4c3eab64d1314aaea9
- MRC_board samus
- MRC_refcode_cbtree coreboot413
- MRC_refcode_gbe 131253
-}
-
-{hp8200sff}{
- DL_hash 8fcb691bf84dc1feefc3c84f7cc59eadaabb200477bb3ecba1b050f23f133b0a8c2539015a523f676544c2dff64599bcba7e844e8c31757b90d70bb4485b5664
- DL_url https://ftp.ext.hp.com/pub/softpaq/sp96001-96500/sp96026.exe
- DL_url_bkup https://web.archive.org/web/20220708171920/https://ftp.ext.hp.com/pub/softpaq/sp96001-96500/sp96026.exe
-}
-
-{hp8300usdt hp8300cmt}{
- DL_hash 4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c
- DL_url https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
- DL_url_bkup https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
-}
-
-{hp2560p}{
- DL_hash 81c9917938c4a2a4f128c976250451931efd0f25b51ff34f058ddacb8eec27272691371864a683ec7abcb924fea32592d061584c7b2571a5d3e84eb870281cc3
- DL_url https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
- DL_url_bkup https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
-
- EC_hash a602cc7627c569bc423a5857cf506fbc3bcd68cb6b43a7c1b99d12a569b4107c412748cf49605ef4d5b930eb14b6815c4d1b1dc20145fe9d707e445fc201cea2
- EC_url https://ftp.hp.com/pub/softpaq/sp85501-86000/sp85526.exe
- EC_url_bkup https://web.archive.org/web/20230416125725/https://ftp.hp.com/pub/softpaq/sp85501-86000/sp85526.exe
-}
-
-{hp2570p}{
- DL_hash 4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c
- DL_url https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
- DL_url_bkup https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
-
- EC_hash 61ed284bdf938c5f36ad3267263fb3963a6608339425bc41aaef3ab0cd98f07c998d816b0233735ca35dc6cb771257da3f09a40d5cfc96bb6388b4366348275e
- EC_url https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96085.exe
- EC_url_bkup https://web.archive.org/web/20230610174558/https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96085.exe
-}
-
-{hp9470m}{
- DL_hash 4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c
- DL_url https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
- DL_url_bkup https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
-
- EC_hash 563422bf5420da18b89439f28a38ea28a175f0ad3588f0f5ea39b08dfdd14c8d513cbf11c2125ec3869fc3b7222c7dc3d111415185ea9b73f41410b1b57f13bd
- EC_url https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96090.exe
- EC_url_bkup http://web.archive.org/web/20220504072602/https://ftp.ext.hp.com/pub/softpaq/sp96001-96500/sp96090.exe
-}
-
-{hp2170p}{
- DL_hash 4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c
- DL_url https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
- DL_url_bkup https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
-
- EC_hash 940e533b6a276c13a6e46a93795ca84b19877b05e82c0c1795b7fea9cbea63c28e606ef994352fc77c4fdfb2e0c31c5edeefa98b989e1990364dfc6417b25460
- EC_url https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96088.exe
- EC_url_bkup https://web.archive.org/web/20230909164345/https://ftp.hp.com/pub/softpaq/sp96001-96500/sp96088.exe
-}
-
-{t1650}{
- DL_hash 4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c
- DL_url https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
- DL_url_bkup https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
-
- SCH5545EC_DL_url https://dl.dell.com/FOLDER05065992M/1/T1650A28.exe
- SCH5545EC_DL_url_bkup https://web.archive.org/web/20230811151654/https://dl.dell.com/FOLDER05065992M/1/T1650A28.exe
- SCH5545EC_DL_hash 18261d0f7f27e9de3b0b5a25019b9a934ef1a61cd3f0140e34f38553695e91e671e227a8fa962774edceab5c7804d13ed9fe1c518c5643c7c8f15632f903a6c4
-}
-
-# 68SCF and 68SCE family ROM
-# for 8460p, 8460w, 6460b, 8560p, 6560b, 6360b
-# release notes: https://support.hp.com/soar-attachment/858/col37737-ob-206569-2-ob-206569-2_sp85528_releasedoc.html
-{hp8460pintel}{
- DL_hash 81c9917938c4a2a4f128c976250451931efd0f25b51ff34f058ddacb8eec27272691371864a683ec7abcb924fea32592d061584c7b2571a5d3e84eb870281cc3
- DL_url https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
- DL_url_bkup https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
-
- EC_hash 9be5511d7ba07a376583cbd0b7fa4d7dff87ebc94b78d489fd62a14cb7f61eac99670e6a10ce374fe8e3c4bdafabbd1edce7774c3a482c15c2d4207b74ea49ed
- EC_url https://ftp.hp.com/pub/softpaq/sp85501-86000/sp85528.exe
- EC_url_bkup https://web.archive.org/web/20211231004901/https://ftp.ext.hp.com/pub/softpaq/sp85501-86000/sp85528.exe
-}
-
-# 68SVD family ROM
-# for 8560w
-# release notes: https://support.hp.com/soar-attachment/519/col44309-ob-185196-2-ob-185196-2_sp78085_releasedoc.html
-{hp8560w}{
- DL_hash 81c9917938c4a2a4f128c976250451931efd0f25b51ff34f058ddacb8eec27272691371864a683ec7abcb924fea32592d061584c7b2571a5d3e84eb870281cc3
- DL_url https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
- DL_url_bkup https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
-
- EC_hash 8e2bc5dca1a1cf0cfc1ac9df74eb6fda333f8ae560019f8182a49d3a716d72938f6cde4aa5ee56942def08207d3ef95706653bd238768fd029da43e9a4fbcc67
- EC_url https://ftp.hp.com/pub/softpaq/sp78001-78500/sp78085.exe
- EC_url_bkup https://web.archive.org/web/20230402085323/https://ftp.hp.com/pub/softpaq/sp78001-78500/sp78085.exe
-}
-
-# 68ICE or 68ICF family ROM
-# for 8470p, 8470w, 6470b, 8570p, 6570b
-# release notes: https://support.hp.com/soar-attachment/1021/col43350-ob-229442-2-ob-229442-2_sp96091_releasedoc.html
-{hp8470pintel}{
- DL_hash 4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c
- DL_url https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
- DL_url_bkup https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
-
- EC_hash b95c9cf909ed537fb448e2be69eddcb57459efbaf0a979a73cd2bce90a7014b110f4dbbeecfd596c072636396b8f20c229c59ffe34e45500ce9edb000c6ccaf9
- EC_url https://ftp.hp.com/pub/softpaq/sp77501-78000/sp77818.exe
- EC_url_bkup https://web.archive.org/web/20230909173821/https://ftp.hp.com/pub/softpaq/sp77501-78000/sp77818.exe
-}
-
-# nvidia vga option rom for dgpu models of Dell Latitude E6400
-# for downloading the nvidia rom to pciroms/pci10de,06eb.rom
-{e6400 e6400nvidia}{
- E6400_VGA_DL_hash 6217d5fce2291d15bb0649fd2faaeb78e4c48962b07a2bea6af60466bfdc5f233af0d077c2c6e71dd96047bdbb1f612324cef0a5e728ba9a9ec5c69a4022cd8d
- E6400_VGA_DL_url https://dl.dell.com/FOLDER01530530M/1/E6400A34.exe
- E6400_VGA_DL_url_bkup https://web.archive.org/web/20230506014903/https://dl.dell.com/FOLDER01530530M/1/E6400A34.exe
- E6400_VGA_offset 274451
- E6400_VGA_romname mod_21.bin
-}
-
-{e5420 e5520 e6420 e6520}{
- DL_hash 81c9917938c4a2a4f128c976250451931efd0f25b51ff34f058ddacb8eec27272691371864a683ec7abcb924fea32592d061584c7b2571a5d3e84eb870281cc3
- DL_url https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
- DL_url_bkup https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
-}
-
-{e6430 e6530 e5530}{
- DL_hash 4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c
- DL_url https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
- DL_url_bkup https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
-}
diff --git a/config/vendor/t1650/pkg.cfg b/config/vendor/t1650/pkg.cfg
new file mode 100644
index 00000000..e4a49126
--- /dev/null
+++ b/config/vendor/t1650/pkg.cfg
@@ -0,0 +1,6 @@
+DL_hash="4dc908050c91c1227645c900ddee88652937540af4ba222b0239b7f459f260cdf6e5e8113ac14e5543d00cf53abdd6c7bd23e61f690de1ce45a3709a30cbb91c"
+DL_url="https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+DL_url_bkup="https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe"
+SCH5545EC_DL_url="https://dl.dell.com/FOLDER05065992M/1/T1650A28.exe"
+SCH5545EC_DL_url_bkup="https://web.archive.org/web/20230811151654/https://dl.dell.com/FOLDER05065992M/1/T1650A28.exe"
+SCH5545EC_DL_hash="18261d0f7f27e9de3b0b5a25019b9a934ef1a61cd3f0140e34f38553695e91e671e227a8fa962774edceab5c7804d13ed9fe1c518c5643c7c8f15632f903a6c4"
diff --git a/include/git.sh b/include/git.sh
index c1e7b4ba..6818578b 100755
--- a/include/git.sh
+++ b/include/git.sh
@@ -2,8 +2,8 @@
# Copyright (c) 2020-2021,2023-2024 Leah Rowe <leah@libreboot.org>
# Copyright (c) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
-eval "$(setvars "" _target rev _xm loc url bkup_url depend tree_depend xtree \
- mdir subhash subrepo subrepo_bkup subfile subfile_bkup)"
+eval `setvars "" _target rev loc url bkup_url depend tree_depend xtree mdir \
+ subhash subrepo subrepo_bkup subfile subfile_bkup`
fetch_project_trees()
{
@@ -17,10 +17,9 @@ fetch_project_trees()
fetch_config()
{
rm -f "$cfgsdir/"*/seen || $err "fetch_config $cfgsdir: !rm seen"
- eval "$(setvars "" xtree tree_depend)"
+ eval `setvars "" xtree tree_depend`
while true; do
- eval "$(setvars "" rev tree)"
- _xm="fetch_config $project/$_target"
+ eval `setvars "" rev tree`
load_target_config "$_target"
[ "$_target" = "$tree" ] && break
_target="$tree"
@@ -31,10 +30,8 @@ fetch_config()
load_target_config()
{
- [ -f "$cfgsdir/$1/target.cfg" ] || $err "$1: target.cfg missing"
- [ -f "$cfgsdir/$1/seen" ] && $err "$_xm cfg: infinite loop in trees"
-
- . "$cfgsdir/$1/target.cfg" || $err "load_target_config !$cfgsdir/$1"
+ [ -f "$cfgsdir/$1/seen" ] && $err "$project/$_target: tree loop"
+ eval `setcfg "$cfgsdir/$1/target.cfg"`
touch "$cfgsdir/$1/seen" || $err "load_config $cfgsdir/$1: !mk seen"
}
@@ -49,30 +46,27 @@ prepare_new_tree()
fetch_project_repo()
{
- eval "$(setvars "" xtree tree_depend)"
+ eval `setvars "" xtree tree_depend`
+ eval `setcfg "config/git/$project/pkg.cfg"`
- scan_config "$project" "config/git"
- chkvars loc url
+ chkvars url
- [ -n "$xtree" ] && [ ! -d "src/coreboot/$xtree" ] && \
- x_ ./update trees -f coreboot "$xtree"
+ [ -n "$xtree" ] && x_ ./update trees -f coreboot "$xtree"
[ -z "$depend" ] || for d in $depend ; do
- printf "'%s' needs dependency '%s'; grabbing '%s' now\n" \
- "$project" "$d" "$d"
+ printf "'%s' needs '%s'; grabbing '%s'\n" "$project" "$d" "$d"
x_ ./update trees -f $d
done
clone_project
for x in config/git/*; do
- [ -f "$x" ] && nuke "${x##*/}" "src/${x##*/}" 2>/dev/null; \
- continue
- done
+ [ -d "$x" ] && nuke "${x##*/}" "src/${x##*/}" 2>/dev/null
+ done; return 0
}
clone_project()
{
- loc="${loc#src/}"
- loc="src/$loc"
+ loc="src/$project"
+ singletree "$project" || loc="src/$project/$project"
printf "Downloading project '%s' to '%s'\n" "$project" "$loc"
e "$loc" d && return 0
@@ -96,7 +90,7 @@ git_prep()
[ "$project" = "coreboot" ] && [ -n "$xtree" ] && [ $# -gt 2 ] && \
[ "$xtree" != "$tree" ] && link_crossgcc "$_loc"
- [ "$xbmk_release" = "y" ] && [ "$_loc" != "src/$project/$project" ] \
+ [ "$XBMK_RELEASE" = "y" ] && [ "$_loc" != "src/$project/$project" ] \
&& rmgit "$tmpgit"
move_repo "$_loc"
@@ -115,29 +109,25 @@ prep_submodules()
fetch_submodule()
{
mcfgdir="$mdir/${1##*/}"
- eval "$(setvars "" subhash subrepo subrepo_bkup subfile subfile_bkup)"
+ eval `setvars "" subhash subrepo subrepo_bkup subfile subfile_bkup st`
[ ! -f "$mcfgdir/module.cfg" ] || . "$mcfgdir/module.cfg" || \
$err "! . $mcfgdir/module.cfg"
- st=""
- for _st in repo file; do
- _seval="if [ -n \"\$sub$_st\" ] || [ -n \"\$sub${_st}_bkup\" ]"
- eval "$_seval; then st=\"\$st \$_st\"; fi"
+ for xt in repo file; do
+ _seval="if [ -n \"\$sub$xt\" ] || [ -n \"\$sub${xt}_bkup\" ]"
+ eval "$_seval; then st=\"\$st \$xt\"; fi"
done
- st="${st# }"
- [ "$st" = "repo file" ] && $err "$mdir: repo/file both defined"
- [ -z "$st" ] && return 0 # subrepo/subfile not defined
+ st="${st# }" && [ "$st" = "repo file" ] && $err "$mdir: repo+file"
+ [ -z "$st" ] && return 0 # subrepo/subfile not defined
chkvars "sub${st}" "sub${st}_bkup" "subhash"
- if [ "$st" = "repo" ]; then
- rm -Rf "$tmpgit/$1" || $err "!rm '$mdir' '$1'"
- tmpclone "$subrepo" "$subrepo_bkup" "$tmpgit/$1" "$subhash" \
- "$mdir/${1##*/}/patches"
- else
- download "$subfile" "$subfile_bkup" "$tmpgit/$1" "$subhash"
- fi
+ [ "$st" = "file" ] && download "$subfile" "$subfile_bkup" \
+ "$tmpgit/$1" "$subhash" && return 0
+ rm -Rf "$tmpgit/$1" || $err "!rm '$mdir' '$1'"
+ tmpclone "$subrepo" "$subrepo_bkup" "$tmpgit/$1" "$subhash" \
+ "$mdir/${1##*/}/patches"
}
tmpclone()
diff --git a/include/lib.sh b/include/lib.sh
index 9f722313..e6a998d2 100755
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -7,99 +7,96 @@ export LC_COLLATE=C
export LC_ALL=C
_ua="Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0"
+kbnotice="Insert a .gkb file from config/data/grub/keymap/ as keymap.gkb \
+if you want a custom keymap in GRUB; use cbfstool from elf/cbfstool."
-tmpdir_was_set="y"
-cbdir="src/coreboot/default"
-cbelfdir="elf/coreboot_nopayload_DO_NOT_FLASH"
+cbelfdir="elf/.coreboot_nopayload_DO_NOT_FLASH"
ifdtool="elf/ifdtool/default/ifdtool"
cbfstool="elf/cbfstool/default/cbfstool"
tmpgit="$PWD/tmp/gitclone"
grubdata="config/data/grub"
err="err_"
-badcmd()
-{
- errmsg="Bad command"
- [ $# -gt 0 ] && errmsg="Bad command ($1)"
-
- dstr="See $projectname build system docs: ${projectsite}docs/maintain/"
- [ -d "docs" ] && dstr="$dstr (local docs available via docs/)"
- $err "$errmsg. $dstr"
-}
err_()
{
- printf "ERROR %s: %s\n" "$0" "$1" 1>&2
- exit 1
+ printf "ERROR %s: %s\n" "$0" "$1" 1>&2; exit 1
}
setvars()
{
- _setvars=""
- [ $# -lt 2 ] && $err "setvars: too few arguments"
- val="$1" && shift 1
- for var in $@; do
+ _setvars="" && [ $# -lt 2 ] && $err "setvars: too few arguments"
+ val="$1" && shift 1 && for var in $@; do
_setvars="$var=\"$val\"; $_setvars"
- done
- printf "%s\n" "${_setvars% }"
+ done; printf "%s\n" "${_setvars% }"
}
chkvars()
{
for var in $@; do
eval "[ -n "\${$var+x}" ] || \$err \"$var unset\""
- done
+ eval "[ -n "\$$var" ] || \$err \"$var unset\""
+ done; return 0
}
-eval "$(setvars "" xbmk_release tmpdir _nogit version board boarddir relname \
- versiondate threads projectname projectsite aur_notice cfgsdir datadir)"
+eval `setvars "" _nogit board xbmk_parent versiondate projectsite projectname \
+ aur_notice cfgsdir datadir version relname`
-read -r projectname < projectname || :
-read -r projectsite < projectsite || :
+for fv in projectname projectsite version versiondate; do
+ eval "[ ! -f "$fv" ] || read -r $fv < \"$fv\" || :"
+done; chkvars projectname projectsite
-install_packages()
+setcfg()
+{
+ [ $# -gt 1 ] && printf "e \"%s\" f missing && return %s;\n" "$1" "$2"
+ [ $# -gt 1 ] || \
+ printf "e \"%s\" f not && %s \"Missing config\";\n" "$1" "$err"
+ printf ". \"%s\" || %s \"Could not read config\";\n" "$1" "$err"
+}
+
+e()
{
- [ $# -lt 2 ] && badcmd "fewer than two arguments"
- [ -f "config/dependencies/$2" ] || badcmd "unsupported target"
+ es_t="e" && [ $# -gt 1 ] && es_t="$2"
+ es2="already exists"
+ estr="[ -$es_t \"\$1\" ] || return 1"
+ [ $# -gt 2 ] && estr="[ -$es_t \"\$1\" ] && return 1" && es2="missing"
- . "config/dependencies/$2" || $err "! . config/dependencies/$2"
+ eval "$estr"
+ printf "%s %s\n" "$1" "$es2" 1>&2
+}
+
+install_packages()
+{
+ [ $# -lt 2 ] && $err "fewer than two arguments"
+ eval `setcfg "config/dependencies/$2"`
$pkg_add $pkglist || $err "Cannot install packages"
[ -n "$aur_notice" ] && \
printf "You need AUR packages: %s\n" "$aur_notice" 1>&2; return 0
}
-[ $# -gt 0 ] && [ "$1" = "dependencies" ] && install_packages $@ && return 0
+[ $# -gt 0 ] && [ "$1" = "dependencies" ] && install_packages $@ && exit 0
id -u 1>/dev/null 2>/dev/null || $err "suid check failed (id -u)"
[ "$(id -u)" != "0" ] || $err "this command as root is not permitted"
-[ -z "${TMPDIR+x}" ] && tmpdir_was_set="n"
-if [ "$tmpdir_was_set" = "y" ]; then
- [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || tmpdir_was_set="n"
-fi
-if [ "$tmpdir_was_set" = "n" ]; then
- [ -f "lock" ] && \
- $err "$PWD/lock exists. If a build isn't going, delete and re-run."
+[ -z "${TMPDIR+x}" ] || [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || unset TMPDIR
+[ -n "${TMPDIR+x}" ] && export TMPDIR="$TMPDIR"
+
+if [ -z "${TMPDIR+x}" ]; then
+ [ -f "lock" ] && $err "$PWD/lock exists. Is a build running?"
export TMPDIR="/tmp"
- tmpdir="$(mktemp -d -t xbmk_XXXXXXXX)"
- export TMPDIR="$tmpdir"
+ export TMPDIR="$(mktemp -d -t xbmk_XXXXXXXX)"
touch lock || $err "cannot create 'lock' file"
-else
- export TMPDIR="$TMPDIR"
- tmpdir="$TMPDIR"
+ xbmk_parent="y"
fi
# if "y": a coreboot target won't be built if target.cfg says release="n"
# (this is used to exclude certain build targets from releases)
-[ -z "${XBMK_RELEASE+x}" ] && xbmk_release="n"
-[ -z "$xbmk_release" ] && xbmk_release="$XBMK_RELEASE"
-[ "$xbmk_release" = "n" ] || [ "$xbmk_release" = "y" ] || xbmk_release="n"
-export XBMK_RELEASE="$xbmk_release"
+[ -z "${XBMK_RELEASE+x}" ] && export XBMK_RELEASE="n"
+[ "$XBMK_RELEASE" = "y" ] || export XBMK_RELEASE="n"
-[ -z "${XBMK_THREADS+x}" ] || threads="$XBMK_THREADS"
-[ -z "$threads" ] && threads=1
-expr "X$threads" : "X-\{0,1\}[0123456789][0123456789]*$" \
- 1>/dev/null 2>/dev/null || threads=1 # user specified a non-integer
-export XBMK_THREADS="$threads"
+[ -z "${XBMK_THREADS+x}" ] && export XBMK_THREADS=1
+expr "X$XBMK_THREADS" : "X-\{0,1\}[0123456789][0123456789]*$" \
+ 1>/dev/null 2>/dev/null || export XBMK_THREADS=1 # user gave a non-integer
x_() {
[ $# -lt 1 ] || $@ || $err "Unhandled non-zero exit: $@"; return 0
@@ -107,14 +104,12 @@ x_() {
[ -e ".git" ] || [ -f "version" ] || printf "unknown\n" > version || \
$err "Cannot generate unknown version file"
-[ -e ".git" ] || [ -f "versiondate" ] || printf "1716415872\n" > versiondate || \
- $err "Cannot generate unknown versiondate file"
+[ -e ".git" ] || [ -f "versiondate" ] || printf "1716415872\n" > versiondate \
+ || $err "Cannot generate unknown versiondate file"
-[ ! -f version ] || read -r version < version || :
version_="$version"
[ ! -e ".git" ] || version="$(git describe --tags HEAD 2>&1)" || \
version="git-$(git rev-parse HEAD 2>&1)" || version="$version_"
-[ ! -f versiondate ] || read -r versiondate < versiondate || :
versiondate_="$versiondate"
[ ! -e ".git" ] || versiondate="$(git show --no-patch --no-notes \
--pretty='%ct' HEAD)" || versiondate="$versiondate_"
@@ -125,31 +120,12 @@ done
relname="$projectname-$version"
export LOCALVERSION="-$projectname-${version%%-*}"
-scan_config()
-{
- awkstr=" /\{.*$1.*}{/ {flag=1;next} /\}/{flag=0} flag { print }"
- confdir="$2"
- revfile="$(mktemp -t sources.XXXXXXXXXX)"
- cat "$confdir/"* > "$revfile" || $err "$confdir: can't cat files"
- while read -r line ; do
- set $line 1>/dev/null 2>/dev/null || :
- if [ "${1%:}" = "depend" ]; then
- depend="$depend $2"
- else
- eval "${1%:}=\"$2\""
- fi
- done << EOF
- $(eval "awk '$awkstr' \"$revfile\"")
-EOF
- rm -f "$revfile" || $err "scan_config: Cannot remove tmpfile"
-}
-
check_defconfig()
{
[ -d "$1" ] || $err "Target '$1' not defined."
for x in "$1"/config/*; do
[ -f "$x" ] && printf "%s\n" "$x" && return 1
- done
+ done; return 0
}
remkdir()
@@ -158,12 +134,6 @@ remkdir()
mkdir -p "$1" || $err "remkdir: !mkdir -p \"$1\""
}
-git_err()
-{
- printf "You need to set git name/email, like so:\n%s\n\n" "$1" 1>&2
- $err "Git name/email not configured"
-}
-
mkrom_tarball()
{
printf "%s\n" "$version" > "$1/version" || $err "$1 !version"
@@ -179,8 +149,7 @@ mktarball()
[ "${2%/*}" = "$2" ] || \
mkdir -p "${2%/*}" || $err "mk, !mkdir -p \"${2%/*}\""
printf "\nCreating archive: %s\n\n" "$2"
- tar -c "$1" | xz -T$threads -9e > "$2" || \
- $err "mktarball 2, $1"
+ tar -c "$1" | xz -T$XBMK_THREADS -9e > "$2" || $err "mktarball 2, $1"
mksha512sum "$2" "${2##*/}.sha512"
}
@@ -188,8 +157,7 @@ mksha512sum()
{
(
[ "${1%/*}" != "$1" ] && x_ cd "${1%/*}"
- sha512sum ./"${1##*/}" >> "$2" || \
- $err "!sha512sum \"$1\" > \"$2\""
+ sha512sum ./"${1##*/}" >> "$2" || $err "!sha512sum \"$1\" > \"$2\""
) || $err "failed to create tarball checksum"
}
@@ -202,26 +170,13 @@ rmgit()
) || $err "Cannot remove .git/.gitmodules in $1"
}
-e()
-{
- es_t="e"
- [ $# -gt 1 ] && es_t="$2"
- es2="already exists"
- estr="[ -$es_t \"\$1\" ] || return 1"
- [ $# -gt 2 ] && estr="[ -$es_t \"\$1\" ] && return 1" && es2="missing"
-
- eval "$estr"
- printf "%s %s\n" "$1" "$es2" 1>&2
-}
-
# return 0 if project is single-tree, otherwise 1
# e.g. coreboot is multi-tree, so 1
singletree()
{
for targetfile in "config/${1}/"*/target.cfg; do
- [ -e "$targetfile" ] || continue
- [ -f "$targetfile" ] && return 1
- done
+ [ -e "$targetfile" ] && [ -f "$targetfile" ] && return 1
+ done; return 0
}
download()
diff --git a/include/mrc.sh b/include/mrc.sh
index fddaef5d..2e00d9f9 100755
--- a/include/mrc.sh
+++ b/include/mrc.sh
@@ -4,7 +4,7 @@
# Modifications in this version are Copyright 2021, 2023 and 2024 Leah Rowe.
# Original copyright detailed in repo: https://review.coreboot.org/coreboot/
-eval "$(setvars "" MRC_url MRC_url_bkup MRC_hash MRC_board SHELLBALL)"
+eval `setvars "" MRC_url MRC_url_bkup MRC_hash MRC_board SHELLBALL`
extract_mrc()
{
diff --git a/include/vendor.sh b/include/vendor.sh
index b5fda8f3..26ea466e 100755
--- a/include/vendor.sh
+++ b/include/vendor.sh
@@ -3,90 +3,63 @@
# Copyright (c) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# Copyright (c) 2023-2024 Leah Rowe <leah@libreboot.org>
-_7ztest="a"
-
e6400_unpack="$PWD/src/bios_extract/dell_inspiron_1100_unpacker.py"
me7updateparser="$PWD/util/me7_update_parser/me7_update_parser.py"
pfs_extract="$PWD/src/biosutilities/Dell_PFS_Extract.py"
uefiextract="$PWD/elf/uefitool/uefiextract"
-nvmutil="util/nvmutil/nvm"
vendir="vendorfiles"
appdir="$vendir/app"
cbcfgsdir="config/coreboot"
-eval "$(setvars "" _b EC_url_bkup EC_hash DL_hash DL_url_bkup MRC_refcode_gbe \
+eval `setvars "" EC_url_bkup EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \
E6400_VGA_DL_hash E6400_VGA_DL_url E6400_VGA_DL_url_bkup E6400_VGA_offset \
E6400_VGA_romname CONFIG_HAVE_MRC SCH5545EC_DL_url_bkup SCH5545EC_DL_hash \
mecleaner kbc1126_ec_dump MRC_refcode_cbtree new_mac _dl SCH5545EC_DL_url \
- CONFIG_BOARD_DELL_E6400 CONFIG_HAVE_ME_BIN archive EC_url modifygbe rom \
+ CONFIG_BOARD_DELL_E6400 CONFIG_HAVE_ME_BIN archive EC_url boarddir rom \
CONFIG_ME_BIN_PATH CONFIG_KBC1126_FIRMWARE _dest tree CONFIG_GBE_BIN_PATH \
CONFIG_KBC1126_FW1_OFFSET CONFIG_KBC1126_FW2 CONFIG_KBC1126_FW2_OFFSET \
- CONFIG_VGA_BIOS_FILE CONFIG_VGA_BIOS_ID CONFIG_KBC1126_FW1 release DL_url \
+ CONFIG_VGA_BIOS_FILE CONFIG_VGA_BIOS_ID CONFIG_KBC1126_FW1 cbdir DL_url \
CONFIG_INCLUDE_SMSC_SCH5545_EC_FW CONFIG_SMSC_SCH5545_EC_FW_FILE nukemode \
CONFIG_IFD_BIN_PATH CONFIG_MRC_FILE CONFIG_HAVE_REFCODE_BLOB cbfstoolref \
- CONFIG_REFCODE_BLOB_FILE)"
+ CONFIG_REFCODE_BLOB_FILE vrelease verify _7ztest`
vendor_download()
{
export PATH="$PATH:/sbin"
[ $# -gt 0 ] || $err "No argument given"
- board="$1"
- boarddir="$cbcfgsdir/$board"
- _b="${board%%_*mb}" # shorthand (no duplication per rom size)
-
- detect_firmware && exit 0
- scan_config "$_b" "config/vendor"
-
- build_dependencies_download
- download_vendorfiles
+ board="$1" && readcfg && readkconfig && bootstrap && getfiles; return 0
}
-detect_firmware()
+readkconfig()
{
- [ -d "$boarddir" ] || $err "Target '$board' not defined."
- check_defconfig "$boarddir" 1>"$tmpdir/vendorcfg.list" && return 0
+ check_defconfig "$boarddir" 1>"$TMPDIR/vendorcfg.list" && return 1
while read -r cbcfgfile; do
- set +u +e
- . "$cbcfgfile" 2>/dev/null
- set -u -e
- done < "$tmpdir/vendorcfg.list"
- . "$boarddir/target.cfg" 2>/dev/null
-
- [ -z "$tree" ] && $err "detect_firmware $boarddir: tree undefined"
- cbdir="src/coreboot/$tree"
- cbfstool="elf/cbfstool/$tree/cbfstool"
-
- mecleaner="$PWD/$cbdir/util/me_cleaner/me_cleaner.py"
- kbc1126_ec_dump="$PWD/$cbdir/util/kbc1126/kbc1126_ec_dump"
+ set +u +e; . "$cbcfgfile" 2>/dev/null; set -u -e
+ done < "$TMPDIR/vendorcfg.list"
for c in CONFIG_HAVE_MRC CONFIG_HAVE_ME_BIN CONFIG_KBC1126_FIRMWARE \
CONFIG_VGA_BIOS_FILE CONFIG_INCLUDE_SMSC_SCH5545_EC_FW; do
eval "[ \"\${$c}\" = \"/dev/null\" ] && continue"
- eval "[ -z \"\${$c}\" ] || return 1"
+ eval "[ -z \"\${$c}\" ] && continue"
+ eval `setcfg "config/vendor/$vcfg/pkg.cfg"`; return 0
done
- printf "Vendor files not needed for: %s\n" "$board" 1>&2
+ printf "Vendor files not needed for: %s\n" "$board" 1>&2; return 1
}
-build_dependencies_download()
+bootstrap()
{
- [ -d "$cbdir" ] || x_ ./update trees -f coreboot ${cbdir##*/}
+ x_ ./update trees -f coreboot ${cbdir##*/}
for d in uefitool biosutilities bios_extract; do
- [ -d "src/$d" ] && continue
- x_ ./update trees -f "$d"
+ x_ ./update trees -b "$d"
done
- [ -f "$uefiextract" ] || x_ ./update trees -b uefitool
- [ ! -d "${kbc1126_ec_dump%/*}" ] || [ -f "$kbc1126_ec_dump" ] || x_ \
- make -C "$cbdir/util/kbc1126"
+ [ -d "${kbc1126_ec_dump%/*}" ] && x_ make -C "$cbdir/util/kbc1126"
[ -n "$MRC_refcode_cbtree" ] && \
- cbfstoolref="elf/cbfstool/$MRC_refcode_cbtree/cbfstool"
- [ -z "$cbfstoolref" ] || [ -f "$cbfstoolref" ] || \
- x_ ./update trees -b coreboot utils $MRC_refcode_cbtree
- [ -f "$cbfstool" ] && [ -f "$ifdtool" ] && return 0
- x_ ./update trees -b coreboot utils $tree
+ cbfstoolref="elf/cbfstool/$MRC_refcode_cbtree/cbfstool" && \
+ x_ ./update trees -b coreboot utils $MRC_refcode_cbtree; return 0
}
-download_vendorfiles()
+getfiles()
{
[ -z "$CONFIG_HAVE_ME_BIN" ] || fetch intel_me "$DL_url" \
"$DL_url_bkup" "$DL_hash" "$CONFIG_ME_BIN_PATH"
@@ -104,15 +77,8 @@ download_vendorfiles()
fetch()
{
- dl_type="$1"
- dl="$2"
- dl_bkup="$3"
- dlsum="$4"
- [ "$5" = "/dev/null" ] && return 0
- [ "${5# }" = "$5" ] || $err "fetch: space not allowed in _dest: '$5'"
- [ "${5#/}" = "$5" ] || $err "fetch: absolute path not allowed: '$5'"
- _dest="${5##*../}"
- _dl="$vendir/cache/$dlsum"
+ dl_type="$1"; dl="$2"; dl_bkup="$3"; dlsum="$4"; _dest="${5##*../}"
+ [ "$5" = "/dev/null" ] && return 0; _dl="$vendir/cache/$dlsum"
download "$dl" "$dl_bkup" "$_dl" "$dlsum"
@@ -121,8 +87,7 @@ fetch()
eval "extract_$dl_type"
set -u -e
- [ -f "$_dest" ] && return 0
- $err "extract_$dl_type (fetch): missing file: '$_dest'"
+ e "$_dest" f missing && $err "!extract_$dl_type"; return 0
}
mkdirs()
@@ -185,12 +150,11 @@ extract_archive()
extract_kbc1126ec()
{
- [ ! -f "$kbc1126_ec_dump" ] && \
- $err "extract_kbc1126ec $cbdir: kbc1126_ec_dump missing"
+ e "$kbc1126_ec_dump" f missing && $err "$cbdir: kbc1126 util missing"
(
x_ cd "$appdir/"
mv Rompaq/68*.BIN ec.bin || :
- if [ ! -f ec.bin ]; then
+ if [ ! -f "ec.bin" ]; then
unar -D ROM.CAB Rom.bin || unar -D Rom.CAB Rom.bin || \
unar -D 68*.CAB Rom.bin || $err "can't extract Rom.bin"
x_ mv Rom.bin ec.bin
@@ -208,16 +172,12 @@ extract_kbc1126ec()
extract_e6400vga()
{
set +u +e
- for v in E6400_VGA_offset E6400_VGA_romname; do
- eval "[ -z \"\$$v\" ] && $err \"e6400vga: $v undefined\""
- done
+ chkvars E6400_VGA_offset E6400_VGA_romname
tail -c +$E6400_VGA_offset "$_dl" | gunzip > "$appdir/bios.bin" || :
(
x_ cd "$appdir"
[ -f "bios.bin" ] || $err "extract_e6400vga: can't extract bios.bin"
"$e6400_unpack" bios.bin || printf "TODO: fix dell extract util\n"
- [ -f "$E6400_VGA_romname" ] || \
- $err "extract_e6400vga: can't extract vga rom from bios.bin"
) || $err "can't extract e6400 vga rom"
cp "$appdir/$E6400_VGA_romname" "$_dest" || \
$err "extract_e6400vga $board: can't copy vga rom to $_dest"
@@ -250,39 +210,32 @@ vendor_inject()
n) nukemode="$OPTARG" ;;
r) rom="$OPTARG" ;;
b) board="$OPTARG" ;;
- m) modifygbe="true"
- new_mac="$OPTARG" ;;
+ m) new_mac="$OPTARG"; chkvars new_mac ;;
*) : ;;
esac
done
- check_board
- build_dependencies_inject
- inject_vendorfiles
+ check_board || return 0
+ [ "$nukemode" = "nuke" ] || x_ ./vendor download $board
+ [ "$vrelease" != "y" ] && patch_rom "$rom"
+ [ "$vrelease" = "y" ] && patch_release_roms
+
[ "$nukemode" = "nuke" ] && return 0
printf "Friendly reminder (this is *not* an error message):\n"
- printf "Please ensure that the files were inserted correctly.\n"
+ printf "Make sure the files were inserted. ALSO:\n%s\n" "$kbnotice"
}
check_board()
{
- failcheck="n"
- check_release "$archive" || failcheck="y"
+ failcheck="y" && check_release "$archive" && failcheck="n"
if [ "$failcheck" = "y" ]; then
[ -f "$rom" ] || $err "check_board \"$rom\": invalid path"
[ -z "${rom+x}" ] && $err "check_board: no rom specified"
[ -n "${board+x}" ] || board="$(detect_board "$rom")"
else
- release="y"
- board="$(detect_board "$archive")"
+ vrelease="y"; board="$(detect_board "$archive")"
fi
-
- boarddir="$cbcfgsdir/$board"
- [ -d "$boarddir" ] || $err "check_board: board $board missing"
- [ -f "$boarddir/target.cfg" ] || \
- $err "check_board $board: target.cfg missing"
- . "$boarddir/target.cfg" 2>/dev/null
- [ -z "$tree" ] && $err "check_board $board: tree undefined"; return 0
+ readcfg || return 1; return 0
}
check_release()
@@ -299,71 +252,62 @@ detect_board()
path="$1"
filename="$(basename "$path")"
case "$filename" in
- grub_*)
- board="$(echo "$filename" | cut -d '_' -f2-3)" ;;
+ grub_*) board="$(echo "$filename" | cut -d '_' -f2-3)" ;;
seabios_withgrub_*)
board="$(echo "$filename" | cut -d '_' -f3-4)" ;;
*.tar.xz)
_stripped_prefix="${filename#*_}"
board="${_stripped_prefix%.tar.xz}" ;;
- *)
- $err "detect_board $filename: could not detect board type"
- esac
- printf "%s\n" "$board"
+ *) $err "detect_board $filename: could not detect board type"
+ esac; printf "%s\n" "$board"
}
-build_dependencies_inject()
+readcfg()
{
+ if [ "$board" = "serprog_rp2040" ] || \
+ [ "$board" = "serprog_stm32" ]; then
+ return 1
+ fi
+ boarddir="$cbcfgsdir/$board"
+ eval `setcfg "$boarddir/target.cfg"`
+ chkvars vcfg tree
+
cbdir="src/coreboot/$tree"
cbfstool="elf/cbfstool/$tree/cbfstool"
+ mecleaner="$PWD/$cbdir/util/me_cleaner/me_cleaner.py"
+ kbc1126_ec_dump="$PWD/$cbdir/util/kbc1126/kbc1126_ec_dump"
+ cbfstool="elf/cbfstool/$tree/cbfstool"
ifdtool="elf/ifdtool/$tree/ifdtool"
- [ -d "$cbdir" ] || x_ ./update trees -f coreboot $tree
- if [ ! -f "$cbfstool" ] || [ ! -f "$ifdtool" ]; then
- x_ ./update trees -b coreboot utils $tree
- fi
- [ -z "$new_mac" ] || [ -f "$nvmutil" ] || x_ make -C util/nvmutil
- [ "$nukemode" = "nuke" ] || x_ ./vendor download $board; return 0
-}
-
-inject_vendorfiles()
-{
- [ "$release" != "y" ] && eval "patch_rom \"$rom\"; return 0"
- patch_release_roms
+ x_ ./update trees -b coreboot utils $tree
}
patch_release_roms()
{
- _tmpdir="tmp/romdir"
- remkdir "$_tmpdir"
- tar -xf "$archive" -C "$_tmpdir" || \
- $err "patch_release_roms: !tar -xf \"$archive\" -C \"$_tmpdir\""
+ remkdir "tmp/romdir"
+ tar -xf "$archive" -C "tmp/romdir" || \
+ $err "patch_release_roms: !tar -xf \"$archive\" -C \"tmp/romdir\""
- for x in "$_tmpdir"/bin/*/*.rom ; do
- printf "patching rom: %s\n" "$x"
+ for x in "tmp/romdir/bin/"*/*.rom ; do
patch_rom "$x"
done
(
- cd "$_tmpdir/bin/"* || \
- $err "patch_release_roms: !cd $_tmpdir/bin/*"
+ cd "tmp/romdir/bin/"* || $err "patch roms: !cd tmp/romdir/bin/*"
# NOTE: For compatibility with older rom releases, defer to sha1
- [ "$nukemode" = "nuke" ] || sha512sum --status -c vendorhashes || \
+ [ "$verify" != "y" ] || [ "$nukemode" = "nuke" ] || \
+ sha512sum --status -c vendorhashes || \
sha1sum --status -c vendorhashes || sha512sum --status -c \
blobhashes || sha1sum --status -c blobhashes || \
$err "patch_release_roms: ROMs did not match expected hashes"
) || $err "can't verify vendor hashes"
- [ "$modifygbe" = "true" ] && \
- for x in "$_tmpdir"/bin/*/*.rom ; do
- modify_gbe "$x"
- done
-
- [ -d "bin/release" ] || x_ mkdir -p bin/release
- x_ mv "$_tmpdir"/bin/* bin/release/
- x_ rm -Rf "$_tmpdir"
+ [ -n "$new_mac" ] && for x in "tmp/romdir/bin/"*/*.rom ; do
+ [ -f "$x" ] && modify_gbe "$x"
+ done
- printf "Success! Your ROMs are in bin/release\n"
+ x_ mkdir -p bin/release
+ mv tmp/romdir/bin/* bin/release/ || $err "$board: !mv release roms"
}
patch_rom()
@@ -376,20 +320,17 @@ patch_rom()
"mrc" "0xfffa0000"
[ -n "$CONFIG_HAVE_REFCODE_BLOB" ] && inject "fallback/refcode" \
"$CONFIG_REFCODE_BLOB_FILE" "stage"
- [ "$CONFIG_HAVE_ME_BIN" = "y" ] && inject "IFD" "$CONFIG_ME_BIN_PATH" \
- "me"
- [ "$CONFIG_KBC1126_FIRMWARE" = "y" ] && inject "ecfw1.bin" \
- "$CONFIG_KBC1126_FW1" "raw" "$CONFIG_KBC1126_FW1_OFFSET" && \
- inject "ecfw2.bin" "$CONFIG_KBC1126_FW2" "raw" \
- "$CONFIG_KBC1126_FW2_OFFSET"
+ [ "$CONFIG_HAVE_ME_BIN" = "y" ] && inject IFD "$CONFIG_ME_BIN_PATH" me
+ [ "$CONFIG_KBC1126_FIRMWARE" = "y" ] && inject ecfw1.bin \
+ "$CONFIG_KBC1126_FW1" raw "$CONFIG_KBC1126_FW1_OFFSET" && inject \
+ ecfw2.bin "$CONFIG_KBC1126_FW2" raw "$CONFIG_KBC1126_FW2_OFFSET"
[ -n "$CONFIG_VGA_BIOS_FILE" ] && [ -n "$CONFIG_VGA_BIOS_ID" ] && \
inject "pci$CONFIG_VGA_BIOS_ID.rom" \
"$CONFIG_VGA_BIOS_FILE" "optionrom"
[ "$CONFIG_INCLUDE_SMSC_SCH5545_EC_FW" = "y" ] && \
[ -n "$CONFIG_SMSC_SCH5545_EC_FW_FILE" ] && \
- inject "sch5545_ecfw.bin" "$CONFIG_SMSC_SCH5545_EC_FW_FILE" raw
- [ "$modifygbe" = "true" ] && ! [ "$release" = "y" ] && \
- inject "IFD" "$CONFIG_GBE_BIN_PATH" "GbE"
+ inject sch5545_ecfw.bin "$CONFIG_SMSC_SCH5545_EC_FW_FILE" raw
+ [ -n "$new_mac" ] && [ "$vrelease" != "y" ] && modify_gbe "$rom"
printf "ROM image successfully patched: %s\n" "$rom"
}
@@ -397,50 +338,39 @@ patch_rom()
inject()
{
[ $# -lt 3 ] && $err "$@, $rom: usage: inject name path type (offset)"
+ [ "$2" = "/dev/null" ] && return 0; verify="y"
+
+ eval `setvars "" cbfsname _dest _t _offset`
+ cbfsname="$1"; _dest="${2##*../}"; _t="$3"
- eval "$(setvars "" cbfsname _dest _t _offset)"
- cbfsname="$1"
- _dest="${2##*../}"
- _t="$3"
[ $# -gt 3 ] && _offset="-b $4" && [ -z "$4" ] && \
$err "inject $@, $rom: offset passed, but empty (not defined)"
- [ -z "$_dest" ] && $err "inject $@, $rom: empty destination path"
- [ ! -f "$_dest" ] && [ "$nukemode" != "nuke" ] && \
- $err "inject_$dl_type: file missing, $_dest"
+ e "$_dest" f n && [ "$nukemode" != "nuke" ] && $err "!inject $dl_type"
- [ "$nukemode" = "nuke" ] || \
- printf "Inserting %s/%s into: %s\n" "$cbfsname" "$_t" "$rom"
-
- if [ "$_t" = "GbE" ]; then
- x_ mkdir -p tmp
- cp "$_dest" "tmp/gbe.bin" || \
- $err "inject: !cp \"$_dest\" \"tmp/gbe.bin\""
- _dest="tmp/gbe.bin"
- "$nvmutil" "$_dest" setmac "$new_mac" || \
- $err "inject $_dest: can't change mac address"
- fi
if [ "$cbfsname" = "IFD" ]; then
- if [ "$nukemode" != "nuke" ]; then
- "$ifdtool" -i $_t:$_dest "$rom" -O "$rom" || \
- $err "inject: can't insert $_t ($dest) into $rom"
- else
- "$ifdtool" --nuke $_t "$rom" -O "$rom" || \
- $err "inject $rom: can't nuke $_t in IFD"
- fi
- else
- if [ "$nukemode" != "nuke" ]; then
- if [ "$_t" = "stage" ]; then # broadwell refcode
- "$cbfstool" "$rom" add-stage -f "$_dest" \
- -n "$cbfsname" -t stage -c lzma
- else
- "$cbfstool" "$rom" add -f "$_dest" \
- -n "$cbfsname" -t $_t $_offset || \
- $err "$rom: can't insert $_t file $_dest"
- fi
- else
- "$cbfstool" "$rom" remove -n "$cbfsname" || \
- $err "inject $rom: can't remove $cbfsname"
- fi
+ [ "$nukemode" = "nuke" ] || "$ifdtool" -i $_t:$_dest "$rom" \
+ -O "$rom" || $err "failed: inject '$_t' '$_dest' on '$rom'"
+ [ "$nukemode" != "nuke" ] || "$ifdtool" --nuke $_t "$rom" \
+ -O "$rom" || $err "$rom: can't nuke $_t in IFD"; return 0
+ elif [ "$nukemode" = "nuke" ]; then
+ "$cbfstool" "$rom" remove -n "$cbfsname" || \
+ $err "inject $rom: can't remove $cbfsname"; return 0
fi
+ [ "$_t" != "stage" ] || "$cbfstool" "$rom" add-stage -f \
+ "$_dest" -n "$cbfsname" -t stage -c lzma || $err "$rom: !add ref"
+ [ "$_t" = "stage" ] || "$cbfstool" "$rom" add -f "$_dest" \
+ -n "$cbfsname" -t $_t $_offset || $err "$rom !add $_t ($_dest)"
+}
+
+modify_gbe()
+{
+ chkvars CONFIG_GBE_BIN_PATH
+
+ e "${CONFIG_GBE_BIN_PATH##*../}" f n && $err "missing gbe file"
+ x_ make -C util/nvmutil
+
+ x_ cp "${CONFIG_GBE_BIN_PATH##*../}" "$TMPDIR/gbe"
+ x_ "util/nvmutil/nvm" "$TMPDIR/gbe" setmac $new_mac
+ x_ "$ifdtool" -i GbE:"$TMPDIR/gbe" "$1" -O "$1"
}
diff --git a/script/roms b/script/roms
index 3412b150..359d5725 100755
--- a/script/roms
+++ b/script/roms
@@ -10,87 +10,74 @@ set -u -e
. "include/lib.sh"
+tmprom="$TMPDIR/rom"
+
seavgabiosrom="elf/seabios/default/libgfxinit/vgabios.bin"
cfgsdir="config/coreboot"
-picosrc="src/pico-serprog"
+rp2040src="src/pico-serprog"
+rp2040x="$rp2040src/build/pico_serprog.uf2"
picosdk="src/pico-sdk"
+rp2040dir="$picosdk/src/boards/include/boards"
stm32src="src/stm32-vserprog"
-tmpcfg="$tmpdir/tmpcfg"
+stm32x="$stm32src/stm32-vserprog.hex"
+stm32dir="$stm32src/boards"
# Disable all payloads by default.
# target.cfg files have to specifically enable [a] payload(s)
-pv="payload_uboot payload_grub_withseabios payload_seabios payload_memtest t"
-pv="$pv payload_seabios_withgrub payload_seabios_grubonly payload_grub mt86bin"
-v="romdir cbrom initmode displaymode cbcfg targetdir tree release ubootelf"
-v="$v grub_timeout board grub_scan_disk uboot_config grubtree grubelf tmpmv"
-eval "$(setvars "n" $pv)"
-eval "$(setvars "" $v boards targets serprog_boards_dir)"
+pv="payload_uboot payload_seabios payload_memtest payload_grub"
+v="romdir initmode displaymode targetdir tree release ubootelf"
+v="$v board grub_scan_disk uboot_config grubtree grubelf tmpmv"
+eval `setvars "n" $pv`
+eval `setvars "" $v boards targets serdir ser`
main()
{
while [ $# -gt 0 ]; do
- [ "$1" = "list" ] && eval "x_ ls -1 config/coreboot; return 0"
- [ "$1" = "serprog" ] && shift && eval "mkserprog $@; return 0"
- [ "$1" = "all" ] && shift && continue
+ if [ "$1" = "serprog" ]; then
+ [ $# -lt 2 ] && $err "serprog type not set"
+ [ "$2" != "rp2040" ] && [ "$2" != "stm32" ] && \
+ $err "invalid serprog type"
+ eval "x_ ./update trees -f \"\${${2}src##*/}\""
+ ser="$2" && shift 2 && continue
+ fi
+ [ "$1$ser" = "list" ] && x_ ls -1 config/coreboot && return 0
+ [ "$1" = "all" ] && shift 1 && continue
boards="$1 $boards"; shift 1
done
- [ -n "$boards" ] || boards="$(ls -1 config/coreboot)" || \
- $err "Cannot generate list of boards for building"
- for x in $boards; do
- [ -d "config/coreboot/$x/config" ] && configure_target "$x" \
- && build_payloads && build_board && [ -d "bin/$board" ] \
- && targets="$targets, $x"; continue
- done
+ [ -n "$boards" ] || [ -n "$ser" ] || boards="$(ls -1 \
+ config/coreboot)" || $err "can't list coreboot boards"
- [ -z "$targets" ] && $err "No ROM images were compiled"
- printf "Check these ROM directories in bin/: %s\n" "${targets#, }"
- printf "DO NOT flash images from elf/ - please use bin/ instead.\n"
-}
+ [ -n "$ser" ] && \
+ eval "serlist \"\$${ser}dir\" > \"\$TMPDIR/ser\" || $err \"!ser\""
+ [ -n "$ser" ] && [ -z "$boards" ] && boards="$(cat "$TMPDIR/ser")"
-mkserprog()
-{
- [ -z "${1+x}" ] && badcmd
- [ "$1" != "rp2040" ] && [ "$1" != "stm32" ] && $err "bad command"
- if [ "$1" = "rp2040" ]; then
- serprog_boards_dir="$picosdk/src/boards/include/boards"
- [ -d "$picosrc" ] || x_ ./update trees -f "pico-serprog"
- elif [ "$1" = "stm32" ]; then
- serprog_boards_dir="$stm32src/boards"
- [ -d "$stm32src" ] || x_ ./update trees -f "stm32-vserprog"
- fi
- x_ mkdir -p "bin/serprog_$1"
+ for x in $boards; do
+ [ -n "$ser" ] && mkserprogfw "$ser" "$x"
+ [ -z "$ser" ] && [ -d "config/coreboot/$x/config" ] && \
+ configure_target "$x" && build_roms && \
+ [ -d "bin/$board" ] && targets="$targets, $x" && \
+ [ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/$x"
+ done
- if [ $# -gt 1 ]; then
- [ "$2" = "list" ] && serlist "$serprog_boards_dir" && return 0
- [ "$2" = "list" ] || build_${1}_rom "$2"
- else
- serlist "$serprog_boards_dir" | \
- while read -r board; do
- build_${1}_rom "$board"
- done
- fi
+ [ -n "$ser" ] && [ "$XBMK_RELEASE" = "y" ] && \
+ mkrom_tarball "bin/serprog_$ser" && return 0
- [ "$xbmk_release" = "y" ] && mkrom_tarball "bin/serprog_$1"; return 0
+ [ -z "$ser" ] && [ -z "$targets" ] && $err "No images were compiled"
+ [ -z "$ser" ] && printf "ROMs built in bin/ for: %s\n" "${targets#, }"
+ [ -n "$ser" ] && printf "ROMs (serprog) built in bin/%s/\n" "$ser"
+ printf "Please flash from bin/, NOT elf/ - ALSO:\n%s\n" "$kbnotice"
}
-build_rp2040_rom()
+mkserprogfw()
{
- x_ cmake -DPICO_BOARD="$1" -DPICO_SDK_PATH="$picosdk" \
- -B "$picosrc/build" "$picosrc"
- x_ cmake --build "$picosrc/build"
- x_ mv "$picosrc/build/pico_serprog.uf2" \
- "bin/serprog_rp2040/serprog_$1.uf2"
- printf "output to bin/serprog_rp2040/serprog_%s.uf2\n" "$1"
-}
-
-build_stm32_rom()
-{
- x_ make -C "$stm32src" libopencm3-just-make BOARD=$1
- x_ make -C "$stm32src" BOARD=$1
- x_ mv "$stm32src/stm32-vserprog.hex" \
- "bin/serprog_stm32/serprog_$1.hex"
- printf "output to bin/serprog_stm32/serprog_%s.hex\n" "$1"
+ x_ mkdir -p "bin/serprog_$1"
+ [ "$1" = "rp2040" ] && x_ cmake -DPICO_BOARD="$2" \
+ -DPICO_SDK_PATH="$picosdk" -B "$rp2040src/build" "$rp2040src" && \
+ x_ cmake --build "$rp2040src/build"
+ [ "$1" = "stm32" ] && x_ make -C "$stm32src" libopencm3-just-make \
+ BOARD=$2 && x_ make -C "$stm32src" BOARD=$2
+ eval "x_ mv \"\$${1}x\" \"bin/serprog_$1/serprog_$2.\${${1}x##*.}\""
}
serlist()
@@ -100,210 +87,108 @@ serlist()
configure_target()
{
- eval "$(setvars "n" $pv) $(setvars "" $v)"
- board="$1"
+ eval `setvars "n" $pv`
+ eval `setvars "" $v`
- targetdir="$cfgsdir/$board"
- [ -f "$targetdir/target.cfg" ] || $err "$board: target.cfg missing"
+ board="$1"; targetdir="$cfgsdir/$board"; romdir="bin/$board"
# Override the above defaults using target.cfg
- . "$targetdir/target.cfg"
-
- [ -z "$grub_scan_disk" ] && grub_scan_disk="nvme ahci ata"
-
- [ -n "$grubtree" ] || grubtree="default"
- grubelf="elf/grub/$grubtree/payload/grub.elf"
+ eval `setcfg "$targetdir/target.cfg"`
[ -z "$tree" ] && $err "$board: tree not defined"
+ [ "$XBMK_RELEASE" = "y" ] && [ "$release" = "n" ] && return 1
+ [ "$board" = "$tree" ] && return 1
- [ "$payload_memtest" != "y" ] && payload_memtest="n"
- [ "$(uname -m)" = "x86_64" ] || payload_memtest="n"
-
- [ "$payload_grub_withseabios" = "y" ] && eval "$(setvars "y" \
- payload_grub payload_seabios payload_seabios_withgrub)"
- [ "$payload_seabios_withgrub" = "y" ] && payload_seabios="y"
- [ "$payload_seabios_grubonly" = "y" ] && \
- eval "$(setvars "y" payload_seabios payload_seabios_withgrub)"
-
- # The reverse logic must not be applied. If SeaBIOS-with-GRUB works,
- # that doesn't mean GRUB-with-SeaBIOS will, e.g. VGA ROM execution
- [ "$payload_grub" != "y" ] && [ "$payload_seabios" != "y" ] && \
- [ "$payload_uboot" != "y" ] && $err "'$board' defines no payload"
-
- [ "$payload_uboot" != "n" ] && [ "$payload_uboot" != "y" ] && \
- payload_uboot="n"
- [ -n "$uboot_config" ] || uboot_config="default"
-
- [ "$xbmk_release" = "y" ] && [ "$release" = "n" ] && return 1
- [ "$board" = "$tree" ] && return 1; return 0
-}
+ x_ ./update trees -b coreboot $board
-build_payloads()
-{
- romdir="bin/$board"
- cbdir="src/coreboot/$board"
- [ "$board" = "$tree" ] || cbdir="src/coreboot/$tree"
cbfstool="elf/cbfstool/$tree/cbfstool"
- cbrom="$cbdir/build/coreboot.rom"
+ x_ ./update trees -b coreboot utils $tree
- [ -f "$cbfstool" ] || x_ ./update trees -b coreboot utils $tree
+ [ -n "$uboot_config" ] || uboot_config="default"
+ [ "$payload_uboot" = "y" ] || payload_seabios="y"
+ [ "$payload_grub" = "y" ] && payload_seabios="y"
+ [ "$payload_seabios" = "y" ] && [ -n "$payload_uboot" = "y" ] && \
+ $err "$board: U-Boot and SeaBIOS/GRUB are both enabled."
- mt86bin="elf/memtest86plus/memtest.bin"
- [ "$payload_memtest" != "y" ] || [ -f "$mt86bin" ] || \
- x_ ./update trees -b memtest86plus
+ [ -z "$grub_scan_disk" ] && grub_scan_disk="nvme ahci ata"
- [ "$payload_seabios" = "y" ] && x_ ./update trees -b seabios
- if [ "$payload_grub" = "y" ] || [ "$payload_seabios_withgrub" = "y" ] \
- || [ "$payload_seabios_grubonly" = "y" ]; then
- [ -f "$grubelf" ] || x_ ./update trees -b grub $grubtree
- fi
- [ "$payload_uboot" = "y" ] && build_uboot_payload; return 0
-}
+ [ -n "$grubtree" ] || grubtree="default"
+ grubelf="elf/grub/$grubtree/payload/grub.elf"
-build_uboot_payload()
-{
- x_ ./update trees -b u-boot $board
- ubdir="elf/u-boot/$board/$uboot_config"
- ubootelf="$ubdir/u-boot.elf" && [ ! -f "$ubootelf" ] && \
- ubootelf="$ubdir/u-boot"
- [ -f "$ubootelf" ] || $err "$board: Can't find u-boot"; return 0
+ [ "$payload_memtest" = "y" ] || payload_memtest="n"
+ [ "$(uname -m)" = "x86_64" ] || payload_memtest="n"; return 0
}
-build_board()
+build_roms()
{
x_ rm -Rf "$romdir"
- for it in "normal" "vgarom" "libgfxinit"; do
- initmode="$it"
- hmode="vesafb"
- [ "$initmode" = "vgarom" ] || hmode="corebootfb"
- modes="$hmode txtmode"
- for y in $modes; do
- displaymode="$y"
- [ "$initmode" = "normal" ] && \
- [ "$displaymode" != "txtmode" ] && continue
- cbcfg="$targetdir/config/${initmode}_$displaymode"
- [ "$initmode" = "normal" ] && cbcfg="${cbcfg%_*}"
- e "$cbcfg" f not || build_roms; x_ rm -f "$cbrom"
- done
- done
+ for cbcfg in "$targetdir/config/"*; do
+ [ -f "$cbcfg" ] || continue; cn="${cbcfg##*/}"; dt="${cn#*_}" \
+ && [ "$dt" = "$cn" ] && dt="txtmode"; displaymode="$dt"
+ initmode="${cn%%_*}"; chkvars initmode displaymode
+ e "$cbcfg" f not || add_payloads
+ done; x_ rm -f "$tmprom"
}
-build_roms()
+add_payloads()
{
- x_ ./update trees -b coreboot $board
+ cbuild="$cbelfdir/$board/${initmode}_$displaymode"
+ [ "$initmode" = "normal" ] && cbuild="${cbuild%"_$displaymode"}"
+ x_ cp "$cbuild/coreboot.rom" "$tmprom"
- _cbrom="$cbelfdir/$board/${initmode}_$displaymode"
- [ "$initmode" = "normal" ] && _cbrom="${_cbrom%"_$displaymode"}"
- _cbrom="$_cbrom/coreboot.rom"
- cbrom="$(mktemp -t coreboot_rom.XXXXXXXXXX)"
- x_ cp "$_cbrom" "$cbrom"
-
- [ "$payload_memtest" != "y" ] || cbfs "$cbrom" "$mt86bin" img/memtest
- [ "$payload_seabios" = "y" ] && build_seabios_roms
- [ "$payload_grub" != "y" ] || build_grub_roms "$cbrom" "grub"
+ [ "$payload_seabios" = "y" ] && add_seabios_payload
[ "$payload_uboot" = "y" ] || return 0
- x_ cp "$_cbrom" "$cbrom"
- build_uboot_roms
-}
-build_seabios_roms()
-{
- if [ "$payload_seabios_withgrub" = "y" ]; then
- t="$(mktemp -t coreboot_rom.XXXXXXXXXX)"
- x_ cp "$cbrom" "$t"
- build_grub_roms "$t" "seabios_withgrub"
- else
- t="$(mkSeabiosRom "$cbrom" "fallback/payload")" || \
- $err "build_seabios_roms: cannot build tmprom"
- newrom="$romdir/seabios_${board}_${initmode}_$displaymode"
- [ "$initmode" = "normal" ] && newrom="$romdir/seabios" \
- && newrom="${newrom}_${board}_$initmode"
- cprom cp "$t" "$newrom.rom"
- fi
- x_ rm -f "$t"
-}
+ # add u-boot payload
+ x_ ./update trees -b u-boot $board
+ ubdir="elf/u-boot/$board/$uboot_config"; ubootelf="$ubdir/u-boot.elf" \
+ && [ ! -f "$ubootelf" ] && ubootelf="$ubdir/u-boot"
+ [ -f "$ubootelf" ] || $err "$board: Can't find u-boot"
-# Make separate ROM images with GRUB payload
-build_grub_roms()
-{
- tmprom="$1"
- payload1="$2" # allow values: grub, seabios, seabios_withgrub
-
- grub_cbfs="fallback/payload"
- if [ "$payload1" = "grub" ] && [ "$payload_grub_withseabios" = "y" ]
- then
- tmpmv="$(mkSeabiosRom "$tmprom" "seabios.elf")" || \
- $err "build_grub_roms 1 $board: can't build tmprom"
- elif [ "$payload1" != "grub" ] && [ "$payload_seabios_withgrub" = "y" ]
- then
- grub_cbfs="img/grub2"
- tmpmv="$(mkSeabiosRom "$tmprom" fallback/payload)" || \
- $err "build_grub_roms 2 $board: can't build tmprom"
- fi
- [ -n "$tmpmv" ] && [ -f "$tmpmv" ] && x_ mv "$tmpmv" "$tmprom"
-
- # we only need insert grub.elf once, for each coreboot config:
- cbfs "$tmprom" "$grubelf" "$grub_cbfs"
-
- printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" > "$tmpcfg" || \
- $err "set grub_scan_disk, $grub_scan_disk, $tmpcfg"
- cbfs "$tmprom" "$tmpcfg" scan.cfg raw
-
- printf "set timeout=%s\n" "$grub_timeout" > "$tmpcfg" || $err "!time"
- [ -z "$grub_timeout" ] || cbfs "$tmprom" "$tmpcfg" timeout.cfg raw
-
- newrom="$romdir/${payload1}_${board}_${initmode}_$displaymode.rom"
- [ "$initmode" = "normal" ] && newrom="$romdir/${payload1}_" \
- && newrom="$newrom${board}_$initmode.rom"
- cprom cp "$tmprom" "$newrom"
- if [ "$payload_seabios_withgrub" = "y" ] && \
- [ "$payload1" != "grub" ]; then
- cbfs "$tmprom" "$grubdata/bootorder" bootorder raw
- cprom cp "$tmprom" "${newrom%.rom}_grubfirst.rom"
- if [ "$payload_seabios_grubonly" = "y" ]; then
- x_ "$cbfstool" "$tmprom" add-int -i 0 \
- -n etc/show-boot-menu
- cprom cp "$tmprom" "${newrom%.rom}_grubonly.rom"
- fi
- fi
+ cbfs "$tmprom" "$ubootelf" "fallback/payload"
+ cprom "$romdir/uboot_payload_${board}_${initmode}_$displaymode.rom"
}
-# make a rom in /tmp/ and then print the path of that ROM
-mkSeabiosRom() {
- tmprom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" # 1=cbrom, 2=cbfs path
+add_seabios_payload()
+{
_seabioself="elf/seabios/default/$initmode/bios.bin.elf"
+ x_ ./update trees -b seabios
- x_ cp "$1" "$tmprom"
- cbfs "$tmprom" "$_seabioself" "$2"
+ pstr="seabios" && [ "$payload_grub" = "y" ] && pstr="seabios_withgrub"
+ newrom="$romdir/${pstr}_${board}_$initmode.rom"
+ [ "$initmode" = "normal" ] || newrom="${newrom%.rom}_$displaymode.rom"
+
+ cbfs "$tmprom" "$_seabioself" "fallback/payload"
x_ "$cbfstool" "$tmprom" add-int -i 3000 -n etc/ps2-keyboard-spinup
z="2"; [ "$initmode" = "vgarom" ] && z="0"
x_ "$cbfstool" "$tmprom" add-int -i $z -n etc/pci-optionrom-exec
x_ "$cbfstool" "$tmprom" add-int -i 0 -n etc/optionroms-checksum
- [ "$initmode" != "libgfxinit" ] || cbfs "$tmprom" "$seavgabiosrom" \
+ [ "$initmode" = "libgfxinit" ] && cbfs "$tmprom" "$seavgabiosrom" \
vgaroms/seavgabios.bin raw
- printf "%s\n" "$tmprom"
-}
+ if [ "$payload_grub" = "y" ]; then
+ x_ ./update trees -b grub $grubtree
+ cbfs "$tmprom" "$grubelf" "img/grub2"
+ printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" \
+ > "$TMPDIR/tmpcfg" || $err "$board: !insert scandisk"
+ cbfs "$tmprom" "$TMPDIR/tmpcfg" scan.cfg raw
+ fi
-build_uboot_roms()
-{
- tmprom="$(mktemp -t coreboot_rom.XXXXXXXXXX)"
- newrom="$romdir/uboot_payload_${board}_${initmode}_$displaymode.rom"
- x_ cp "$cbrom" "$tmprom"
- cbfs "$tmprom" "$ubootelf" "fallback/payload"
- cprom mv "$tmprom" "$newrom"
+ [ "$payload_memtest" = "y" ] && x_ ./update trees -b memtest86plus && \
+ cbfs "$tmprom" "elf/memtest86plus/memtest.bin" img/memtest
+
+ cprom "$newrom" && [ "$payload_grub" = "y" ] && \
+ cbfs "$tmprom" "$grubdata/bootorder" bootorder raw && \
+ cprom "${newrom%.rom}_grubfirst.rom"; return 0
}
cprom()
{
- printf "Creating target image: %s\n" "$3"
-
- x_ mkdir -p "${3%/*}"
- x_ $1 "$2" "$3"
- [ "$xbmk_release" = "y" ] && mksha512sum "$3" "vendorhashes" && \
- x_ ./vendor inject -r "$3" -b "$board" -n nuke; return 0
+ x_ mkdir -p "${1%/*}"; x_ cp "$tmprom" "$1"
+ [ "$XBMK_RELEASE" = "y" ] && mksha512sum "$1" "vendorhashes" && \
+ x_ ./vendor inject -r "$1" -b "$board" -n nuke; return 0
}
main $@
diff --git a/script/trees b/script/trees
index 13f6d652..6865a018 100755
--- a/script/trees
+++ b/script/trees
@@ -9,17 +9,18 @@ set -u -e
. "include/lib.sh"
. "include/git.sh"
-cbmakeargs="UPDATED_SUBMODULES=1 CPUS=$threads"
-eval "$(setvars "" xarch cdir config config_name xlang mode makeargs \
- listfile project target target_dir targets tree _f target1 bootstrapargs \
- autoconfargs cmakedir elfdir autogenargs xtree)"
+cbmakeargs="UPDATED_SUBMODULES=1 CPUS=$XBMK_THREADS"
+eval `setvars "" xarch cdir config cmakedir xlang mode makeargs elfdir xtree \
+ project target target_dir targets tree _f target1 bootstrapargs mkhelper \
+ autoconfargs config_name listfile autogenargs btype`
main()
{
while getopts f:b:m:u:c:x:s:l:n: option; do
+ [ -n "$_f" ] && $err "only one flag is permitted"
_f="$1"
case "$1" in
- -b) : ;;
+ -b) mode="" ;;
-u) mode="oldconfig" ;;
-m) mode="menuconfig" ;;
-c) mode="distclean" ;;
@@ -28,14 +29,15 @@ main()
-s) mode="savedefconfig" ;;
-l) mode="olddefconfig" ;;
-n) mode="nconfig" ;;
- *) badcmd "invalid option '-$option'" ;;
+ *) $err "invalid option '-$option'" ;;
esac
- shift; project="${OPTARG#src/}"; shift
+ [ -n "${OPTARG+x}" ] || $err "OPTARG not set"
+ project="${OPTARG#src/}"; shift 2
done
[ -z "$_f" ] && $err "missing flag (-m/-u/-b/-c/-x/-f/-s/-l/-n)"
[ -z "$project" ] && $err "project name not specified"
- [ -f "config/git/$project" ] || $err "project '$project' not defined"
+ [ -f "config/git/$project/pkg.cfg" ] || $err "'$project' not defined"
elfdir="elf/$project"
datadir="config/data/$project"
@@ -44,31 +46,30 @@ main()
remkdir "${tmpgit%/*}"
- _cmd="build_projects"
- singletree "$project" || _cmd="build_targets"
+ _cmd="build_targets" && singletree "$project" && _cmd="build_project"
$_cmd $@
[ "$target1" = "utils" ] && [ "$project" = "coreboot" ] && return 0
[ -f "$listfile" ] || return 0
- [ -z "$mode" ] && printf "\n\nDone! Check %s/\n\n" "$elfdir"; return 0
+ [ -z "$mode" ] && printf "\n\nOK! Check %s/\n\n" "$elfdir"; return 0
}
-build_projects()
+build_project()
{
- [ $# -gt 0 ] && x_ ./update trees $_f $@
-
- [ "$mode" = "fetch" ] && [ ! -f "CHANGELOG" ] && \
- eval "fetch_project_repo; return 0;"
+ if [ "$mode" = "fetch" ]; then
+ [ -f "CHANGELOG" ] && return 0
+ fetch_project_repo; return 0
+ fi
- load_project_config "$cfgsdir"
+ load_project_config "$cfgsdir" 0 || return 0
[ -f "$listfile" ] || listfile="" # optional on single-tree
dest_dir="$elfdir"
[ ! -f "$listfile" ] || elfcheck || return 0
cdir="src/${project}"
- [ -d "$cdir" ] || x_ ./update trees -f "$project"
+ x_ ./update trees -f "$project"
[ "$mode" = "distclean" ] && mode="clean"
run_make_command || return 0
@@ -124,10 +125,12 @@ handle_defconfig()
handle_src_tree()
{
target_dir="$cfgsdir/$target"
- [ "$mode" = "fetch" ] && [ ! -f "CHANGELOG" ] && \
- eval "fetch_project_trees; return 1;"
+ if [ "$mode" = "fetch" ]; then
+ [ -f "CHANGELOG" ] && return 1
+ fetch_project_trees; return 1
+ fi
- load_project_config "$target_dir"
+ load_project_config "$target_dir" || return 1
x_ mkdir -p "$elfdir/$target"
chkvars tree
@@ -148,11 +151,17 @@ handle_src_tree()
load_project_config()
{
- eval "$(setvars "" xarch xlang tree bootstrapargs autoconfargs xtree \
- tree_depend makeargs)"
+ eval `setvars "" xarch xlang tree bootstrapargs autoconfargs xtree \
+ tree_depend makeargs btype mkhelper`
+ [ -f "$1/target.cfg" ] || btype="auto"
+
+ # target.cfg optional on single-tree so return if missing.
+ # target.cfg mandatory on multi-tree so err if missing.
+ _setcfgarg="" && [ $# -gt 1 ] && _setcfgarg="$2"
+ eval `setcfg "$1/target.cfg" $_setcfgarg`
- [ -f "$1/target.cfg" ] || return 0
- . "$1/target.cfg" || $err "loadp $1: can't load target.cfg"; return 0
+ [ -z "$btype" ] || [ "${mode%config}" = "$mode" ] || \
+ return 1; return 0
}
check_cross_compiler()
@@ -168,9 +177,11 @@ check_cross_compiler()
export CROSS_COMPILE="${xarch% *}-"
[ -n "$xlang" ] && export BUILD_LANGUAGES="$xlang"
- [ -d "$cbdir/util/crossgcc/xgcc/$_xarch/" ] && continue
- x_ make -C "$cbdir" crossgcc-${_xarch%-*} $cbmakeargs
- done
+ # sometimes buildgcc fails for like no reason. try twice.
+ make -C "$cbdir" crossgcc-${_xarch%-*} $cbmakeargs || \
+ make -C "$cbdir" crossgcc-${_xarch%-*} $cbmakeargs || \
+ $err "!mkxgcc $project/$xtree '${_xarch%-*}' '$cbmakeargs'"
+ done; return 0
}
check_coreboot_utils()
@@ -181,7 +192,7 @@ check_coreboot_utils()
utilmode=""
[ -z "$mode" ] || utilmode="clean"
- x_ make -C "$utilsrcdir" $utilmode -j$threads $cbmakeargs
+ x_ make -C "$utilsrcdir" $utilmode -j$XBMK_THREADS $cbmakeargs
[ -z "$mode" ] && [ ! -f "$utilelfdir/$util" ] && \
x_ mkdir -p "$utilelfdir" && \
x_ cp "$utilsrcdir/$util" "elf/$util/$1"
@@ -203,18 +214,15 @@ elfcheck()
{
# TODO: very hacky check. do it properly (based on build.list)
for elftest in "$dest_dir"/*; do
- [ -e "$elftest" ] || continue
- e "$elftest" f && return 1
- done
+ [ -e "$elftest" ] && e "$elftest" f && return 1
+ done; return 0
}
handle_makefile()
{
- [ "$project" = "grub" ] && [ "${mode%config}" != "$mode" ] && return 0
-
check_makefile "$cdir" && x_ make clean -C "$cdir"
x_ cp "$config" "$cdir/.config"
- [ -n "$mode" ] || [ "$project" = "grub" ] || make -C "$cdir" \
+ [ -n "$mode" ] || [ -n "$btype" ] || make -C "$cdir" \
silentoldconfig || make -C "$cdir" oldconfig || :
run_make_command || $err "handle_makefile $cdir: no makefile!"
@@ -229,17 +237,17 @@ handle_makefile()
run_make_command()
{
- check_cmake "$cdir"
- [ -z "$mode" ] && check_autoconf "$cdir"
+ check_cmake "$cdir" && [ -z "$mode" ] && check_autoconf "$cdir"
check_makefile "$cdir" || return 1
[ "$project" = "coreboot" ] && [ -z "$mode" ] && x_ \
printf "%s\n" "${version%%-*}" > "$cdir/.coreboot-version" \
&& makeargs="$makeargs $cbmakeargs"
- make -C "$cdir" $mode -j$threads $makeargs || $err "!mk $cdir $mode"
+ make -C "$cdir" $mode -j$XBMK_THREADS $makeargs || $err "$cdir mk$mode"
- [ "$project" = "grub" ] && [ -z "$mode" ] && mkpayload_grub
+ [ -z "$mkhelper" ] || [ -n "$mode" ] || $mkhelper || \
+ $err "$cdir: helper command failed: $mkhelper" # eg mkpayload_grub
[ "$mode" != "clean" ] && return 0
make -C "$cdir" distclean 2>/dev/null || :
@@ -271,15 +279,12 @@ check_makefile()
mkpayload_grub()
{
- [ -f "$grubdata/module/$tree" ] || $err "$tree: grub modules missing"
- x_ rm -f "$cdir/grub.elf"
-
- eval "$(setvars "" grub_modules grub_install_modules)"
-
- . "$grubdata/module/$tree" || $err "$tree: !source grub modules"
-
+ eval `setvars "" grub_modules grub_install_modules`
+ eval `setcfg "$grubdata/module/$tree"`
chkvars "grub_install_modules" "grub_modules"
+ x_ rm -f "$cdir/grub.elf"
+
"${cdir}/grub-mkstandalone" --grub-mkimage="${cdir}/grub-mkimage" \
-O i386-coreboot -o "${cdir}/grub.elf" -d "${cdir}/grub-core/" \
--fonts= --themes= --locales= --modules="$grub_modules" \
@@ -287,7 +292,7 @@ mkpayload_grub()
"/boot/grub/grub_default.cfg=${cdir}/.config" \
"/boot/grub/grub.cfg=$grubdata/memdisk.cfg" \
"/background.png=$grubdata/background/background1280x800.png" || \
- $err "$tree: cannot build grub.elf"
+ $err "$tree: cannot build grub.elf"; return 0
}
copy_elf()