diff options
135 files changed, 601 insertions, 941 deletions
@@ -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() |