mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-17 18:34:57 +02:00
Merge branch 'master' into 25.06_branch
This commit is contained in:
+15
-22
@@ -5,16 +5,13 @@
|
|||||||
eval "`setvars "" loc url bkup_url subcurl subhash subgit subgit_bkup \
|
eval "`setvars "" loc url bkup_url subcurl subhash subgit subgit_bkup \
|
||||||
depend subcurl_bkup repofail`"
|
depend subcurl_bkup repofail`"
|
||||||
|
|
||||||
tmpgit="$xbmklocal/gitclone"
|
tmpgit="$xbloc/gitclone"
|
||||||
tmpgitcache="$XBMK_CACHE/tmpgit"
|
tmpgitcache="$XBMK_CACHE/tmpgit"
|
||||||
|
|
||||||
fetch_targets()
|
fetch_targets()
|
||||||
{
|
{
|
||||||
e "src/$project/$tree" d && return 0
|
[ -d "src/$project/$tree" ] || git_prep "$url" "$bkup_url" \
|
||||||
|
"$xbmkpwd/$configdir/$tree/patches" "src/$project/$tree" submod; :
|
||||||
printf "Creating %s tree %s\n" "$project" "$tree"
|
|
||||||
git_prep "$url" "$bkup_url" "$xbmkpwd/$configdir/$tree/patches" \
|
|
||||||
"src/$project/$tree" with_submodules
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch_project()
|
fetch_project()
|
||||||
@@ -22,11 +19,8 @@ fetch_project()
|
|||||||
eval "`setvars "" xtree`"
|
eval "`setvars "" xtree`"
|
||||||
eval "`setcfg "config/git/$project/pkg.cfg"`"
|
eval "`setcfg "config/git/$project/pkg.cfg"`"
|
||||||
|
|
||||||
chkvars url bkup_url
|
chkvars url bkup_url && [ -n "$xtree" ] && x_ ./mk -f coreboot "$xtree"
|
||||||
|
|
||||||
[ -n "$xtree" ] && x_ ./mk -f coreboot "$xtree"
|
|
||||||
[ -z "$depend" ] || for d in $depend ; do
|
[ -z "$depend" ] || for d in $depend ; do
|
||||||
printf "'%s' needs '%s'; grabbing '%s'\n" "$project" "$d" "$d"
|
|
||||||
x_ ./mk -f $d
|
x_ ./mk -f $d
|
||||||
done
|
done
|
||||||
clone_project
|
clone_project
|
||||||
@@ -36,7 +30,6 @@ clone_project()
|
|||||||
{
|
{
|
||||||
loc="$XBMK_CACHE/clone/$project" && singletree "$project" && \
|
loc="$XBMK_CACHE/clone/$project" && singletree "$project" && \
|
||||||
loc="src/$project"
|
loc="src/$project"
|
||||||
printf "Downloading project '%s' to '%s'\n" "$project" "$loc"
|
|
||||||
|
|
||||||
e "$loc" d missing && remkdir "${tmpgit%/*}" && git_prep \
|
e "$loc" d missing && remkdir "${tmpgit%/*}" && git_prep \
|
||||||
"$url" "$bkup_url" "$xbmkpwd/config/$project/patches" "$loc"; :
|
"$url" "$bkup_url" "$xbmkpwd/config/$project/patches" "$loc"; :
|
||||||
@@ -44,11 +37,13 @@ clone_project()
|
|||||||
|
|
||||||
git_prep()
|
git_prep()
|
||||||
{
|
{
|
||||||
|
printf "Creating code directory, src/%s/%s\n" "$project" "$tree"
|
||||||
|
|
||||||
_patchdir="$3"
|
_patchdir="$3"
|
||||||
_loc="$4" # $1 and $2 are gitrepo and gitrepo_backup
|
_loc="$4" # $1 and $2 are gitrepo and gitrepo_backup
|
||||||
|
|
||||||
chkvars rev
|
chkvars rev
|
||||||
xbmkget git "$1" "$2" "$tmpgit" "$rev" "$_patchdir"
|
xbget git "$1" "$2" "$tmpgit" "$rev" "$_patchdir"
|
||||||
if singletree "$project" || [ $# -gt 4 ]; then
|
if singletree "$project" || [ $# -gt 4 ]; then
|
||||||
dx_ fetch_submodule "$mdir/module.list"
|
dx_ fetch_submodule "$mdir/module.list"
|
||||||
fi
|
fi
|
||||||
@@ -73,19 +68,19 @@ fetch_submodule()
|
|||||||
chkvars "sub${st}" "sub${st}_bkup" "subhash"
|
chkvars "sub${st}" "sub${st}_bkup" "subhash"
|
||||||
|
|
||||||
[ "$st" = "git" ] && x_ rm -Rf "$tmpgit/$1"
|
[ "$st" = "git" ] && x_ rm -Rf "$tmpgit/$1"
|
||||||
eval xbmkget "$st" "\$sub$st" "\$sub${st}_bkup" "$tmpgit/$1" \
|
eval xbget "$st" "\$sub$st" "\$sub${st}_bkup" "$tmpgit/$1" \
|
||||||
"$subhash" "$mdir/${1##*/}/patches"
|
"$subhash" "$mdir/${1##*/}/patches"
|
||||||
}
|
}
|
||||||
|
|
||||||
xbmkget()
|
xbget()
|
||||||
{
|
{
|
||||||
[ "$1" = "curl" ] || [ "$1" = "copy" ] || [ "$1" = "git" ] || \
|
[ "$1" = "curl" ] || [ "$1" = "copy" ] || [ "$1" = "git" ] || \
|
||||||
err "Bad dlop (arg 1): xbmkget $*"
|
err "Bad dlop (arg 1): xbget $*"
|
||||||
|
|
||||||
echk="f" && [ "$1" = "git" ] && echk="d"
|
echk="f" && [ "$1" = "git" ] && echk="d"
|
||||||
|
|
||||||
for url in "$2" "$3"; do
|
for url in "$2" "$3"; do
|
||||||
[ -n "$url" ] || err "empty URL given in: xbmkget $*"
|
[ -n "$url" ] || err "empty URL given in: xbget $*"
|
||||||
try_file "$url" "$@" || continue
|
try_file "$url" "$@" || continue
|
||||||
eval "[ -$echk \"$4\" ] || continue"
|
eval "[ -$echk \"$4\" ] || continue"
|
||||||
return 0 # successful download/copy
|
return 0 # successful download/copy
|
||||||
@@ -131,8 +126,7 @@ try_curl()
|
|||||||
|
|
||||||
try_copy()
|
try_copy()
|
||||||
{
|
{
|
||||||
[ -L "$2" ] && printf "symlink %s (trycp %s)\n" "$2" "$*" && return 1
|
e "$2" f missing && return 1; :
|
||||||
[ ! -f "$2" ] && printf "%s missing (trycp %s)\n" "$2" "$*" && return 1
|
|
||||||
( x_ cp "$2" "$1" ) || return 1; :
|
( x_ cp "$2" "$1" ) || return 1; :
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,16 +143,15 @@ try_git()
|
|||||||
( x_ git -C "$gitdest" remote remove backup ) || :
|
( x_ git -C "$gitdest" remote remove backup ) || :
|
||||||
x_ git -C "$gitdest" remote add main "$4"
|
x_ git -C "$gitdest" remote add main "$4"
|
||||||
x_ git -C "$gitdest" remote add backup "$5"
|
x_ git -C "$gitdest" remote add backup "$5"
|
||||||
( x_ git -C "$gitdest" fetch --all ) || :
|
|
||||||
( x_ git -C "$gitdest" pull --all ) || :; :
|
( x_ git -C "$gitdest" pull --all ) || :; :
|
||||||
}
|
}
|
||||||
|
|
||||||
bad_checksum()
|
bad_checksum()
|
||||||
{
|
{
|
||||||
[ ! -f "$2" ] && printf "'%s' missing, %s\n" "$2" "$1" 1>&2 && return 0
|
e "$2" f missing && return 0
|
||||||
csum="$(x_ sha512sum "$2" | awk '{print $1}')" || err "!sha512 '$2' $1"
|
csum="$(x_ sha512sum "$2" | awk '{print $1}')" || err "!sha512 '$2' $1"
|
||||||
[ "$csum" != "$1" ] && printf "BAD SHA512, '%s'; need '%s', got %s\n" \
|
[ "$csum" = "$1" ] && return 1; x_ rm -f "$2"
|
||||||
"$2" "$1" "$csum" 1>&2 && x_ rm -f "$2" && return 0; return 1
|
printf "BAD SHA512 %s, '%s'; need '%s'\n" "$csum" "$2" "$1" 1>&2
|
||||||
}
|
}
|
||||||
|
|
||||||
tmpclone()
|
tmpclone()
|
||||||
|
|||||||
+6
-7
@@ -14,13 +14,13 @@ projectsite="https://libreboot.org/"
|
|||||||
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
|
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
|
||||||
|
|
||||||
eval "`setvars "" _nogit board reinstall versiondate aur_notice configdir \
|
eval "`setvars "" _nogit board reinstall versiondate aur_notice configdir \
|
||||||
datadir version xbmkpwd relname xbmkpwd xbmktmp python pyver xbmklocal \
|
datadir version xbmkpwd relname xbmkpwd xbtmp python pyver xbloc \
|
||||||
xbmklock cvxbmk cvchk xbmkpath`"
|
xbmklock cvxbmk cvchk xbmkpath`"
|
||||||
|
|
||||||
xbmk_init()
|
xbmk_init()
|
||||||
{
|
{
|
||||||
xbmkpwd="`pwd`" || err "Cannot generate PWD"
|
xbmkpwd="`pwd`" || err "Cannot generate PWD"
|
||||||
xbmklocal="$xbmkpwd/tmp"
|
xbloc="$xbmkpwd/tmp"
|
||||||
xbmklock="$xbmkpwd/lock"
|
xbmklock="$xbmkpwd/lock"
|
||||||
|
|
||||||
export PWD="$xbmkpwd"
|
export PWD="$xbmkpwd"
|
||||||
@@ -71,7 +71,7 @@ xbmk_set_env()
|
|||||||
# unify all temporary files/directories in a single TMPDIR
|
# unify all temporary files/directories in a single TMPDIR
|
||||||
[ -z "${TMPDIR+x}" ] || [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || \
|
[ -z "${TMPDIR+x}" ] || [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || \
|
||||||
unset TMPDIR
|
unset TMPDIR
|
||||||
[ -n "${TMPDIR+x}" ] && export TMPDIR="$TMPDIR" && xbmktmp="$TMPDIR"
|
[ -n "${TMPDIR+x}" ] && export TMPDIR="$TMPDIR" && xbtmp="$TMPDIR"
|
||||||
[ -z "${TMPDIR+x}" ] || is_child="y" # child instance, so return
|
[ -z "${TMPDIR+x}" ] || is_child="y" # child instance, so return
|
||||||
|
|
||||||
if [ "$is_child" = "y" ]; then
|
if [ "$is_child" = "y" ]; then
|
||||||
@@ -87,7 +87,7 @@ xbmk_set_env()
|
|||||||
# parent instance of xbmk, so don't return. set up TMPDIR
|
# parent instance of xbmk, so don't return. set up TMPDIR
|
||||||
export TMPDIR="/tmp"
|
export TMPDIR="/tmp"
|
||||||
export TMPDIR="$(mktemp -d -t xbmk_XXXXXXXX)"
|
export TMPDIR="$(mktemp -d -t xbmk_XXXXXXXX)"
|
||||||
xbmktmp="$TMPDIR"
|
xbtmp="$TMPDIR"
|
||||||
|
|
||||||
export XBMK_CACHE="$xbmkpwd/cache"
|
export XBMK_CACHE="$xbmkpwd/cache"
|
||||||
[ -L "$XBMK_CACHE" ] && [ "$XBMK_CACHE" = "$xbmkpwd/cache" ] && \
|
[ -L "$XBMK_CACHE" ] && [ "$XBMK_CACHE" = "$xbmkpwd/cache" ] && \
|
||||||
@@ -107,8 +107,7 @@ xbmk_set_env()
|
|||||||
xbmk_set_version
|
xbmk_set_version
|
||||||
export LOCALVERSION="-$projectname-${version%%-*}"
|
export LOCALVERSION="-$projectname-${version%%-*}"
|
||||||
|
|
||||||
remkdir "$xbmktmp" "$xbmklocal"
|
remkdir "$xbtmp" "$xbloc" "$XBMK_CACHE/gnupath" "$XBMK_CACHE/xbmkpath"
|
||||||
remkdir "$XBMK_CACHE/gnupath" "$XBMK_CACHE/xbmkpath"
|
|
||||||
|
|
||||||
xbmk_set_pyver
|
xbmk_set_pyver
|
||||||
}
|
}
|
||||||
@@ -211,7 +210,7 @@ xbmk_child_exec()
|
|||||||
{
|
{
|
||||||
xbmk_rval=0
|
xbmk_rval=0
|
||||||
( x_ ./mk "$@" ) || xbmk_rval=1
|
( x_ ./mk "$@" ) || xbmk_rval=1
|
||||||
( x_ rm -Rf "$xbmklocal" "$xbmktmp" ) || xbmk_rval=1
|
( x_ rm -Rf "$xbloc" "$xbtmp" ) || xbmk_rval=1
|
||||||
( x_ rm -f "$xbmklock" ) || xbmk_rval=1
|
( x_ rm -f "$xbmklock" ) || xbmk_rval=1
|
||||||
exit $xbmk_rval
|
exit $xbmk_rval
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-9
@@ -6,7 +6,7 @@
|
|||||||
cbcfgsdir="config/coreboot"
|
cbcfgsdir="config/coreboot"
|
||||||
tmpromdel="$XBMK_CACHE/DO_NOT_FLASH"
|
tmpromdel="$XBMK_CACHE/DO_NOT_FLASH"
|
||||||
nvm="util/nvmutil/nvm"
|
nvm="util/nvmutil/nvm"
|
||||||
ifdtool="elf/ifdtool/default/ifdtool"
|
ifdtool="elf/coreboot/default/ifdtool"
|
||||||
|
|
||||||
cv="CONFIG_GBE_BIN_PATH"
|
cv="CONFIG_GBE_BIN_PATH"
|
||||||
[ -n "$cvxbmk" ] && cv="$cv $cvxbmk"
|
[ -n "$cvxbmk" ] && cv="$cv $cvxbmk"
|
||||||
@@ -77,7 +77,7 @@ check_target()
|
|||||||
eval "`setcfg "$boarddir/target.cfg"`"
|
eval "`setcfg "$boarddir/target.cfg"`"
|
||||||
chkvars tree && x_ ./mk -d coreboot "$tree"
|
chkvars tree && x_ ./mk -d coreboot "$tree"
|
||||||
|
|
||||||
ifdtool="elf/ifdtool/$tree/ifdtool"
|
ifdtool="elf/coreboot/$tree/ifdtool"
|
||||||
[ -n "$IFD_platform" ] && ifdprefix="-p $IFD_platform"; :
|
[ -n "$IFD_platform" ] && ifdprefix="-p $IFD_platform"; :
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,36 +103,36 @@ patch_release()
|
|||||||
|
|
||||||
readkconfig()
|
readkconfig()
|
||||||
{
|
{
|
||||||
x_ rm -f "$xbmktmp/cbcfg"
|
x_ rm -f "$xbtmp/cbcfg"
|
||||||
fx_ scankconfig x_ find "$boarddir/config" -type f
|
fx_ scankconfig x_ find "$boarddir/config" -type f
|
||||||
eval "`setcfg "$xbmktmp/cbcfg" 1`"
|
eval "`setcfg "$xbtmp/cbcfg" 1`"
|
||||||
setvfile "$@" || return 1; :
|
setvfile "$@" || return 1; :
|
||||||
}
|
}
|
||||||
|
|
||||||
scankconfig()
|
scankconfig()
|
||||||
{
|
{
|
||||||
for cbc in $cv; do
|
for cbc in $cv; do
|
||||||
grep "$cbc" "$1" 1>>"$xbmktmp/cbcfg" 2>/dev/null || :
|
grep "$cbc" "$1" 1>>"$xbtmp/cbcfg" 2>/dev/null || :
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
modify_mac()
|
modify_mac()
|
||||||
{
|
{
|
||||||
x_ cp "${CONFIG_GBE_BIN_PATH##*../}" "$xbmklocal/gbe"
|
x_ cp "${CONFIG_GBE_BIN_PATH##*../}" "$xbloc/gbe"
|
||||||
[ -n "$new_mac" ] && [ "$new_mac" != "restore" ] && \
|
[ -n "$new_mac" ] && [ "$new_mac" != "restore" ] && \
|
||||||
x_ make -C util/nvmutil clean && x_ make -C util/nvmutil && \
|
x_ make -C util/nvmutil clean && x_ make -C util/nvmutil && \
|
||||||
x_ "$nvm" "$xbmklocal/gbe" setmac "$new_mac"
|
x_ "$nvm" "$xbloc/gbe" setmac "$new_mac"
|
||||||
|
|
||||||
fx_ newmac x_ find "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
|
fx_ newmac x_ find "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
|
||||||
|
|
||||||
printf "\nThe following GbE NVM data will be written:\n"
|
printf "\nThe following GbE NVM data will be written:\n"
|
||||||
x_ "$nvm" "$xbmklocal/gbe" dump | grep -v "bytes read from file" || :
|
x_ "$nvm" "$xbloc/gbe" dump | grep -v "bytes read from file" || :
|
||||||
}
|
}
|
||||||
|
|
||||||
newmac()
|
newmac()
|
||||||
{
|
{
|
||||||
e "$1" f && xchanged="y" && x_ \
|
e "$1" f && xchanged="y" && x_ \
|
||||||
"$ifdtool" $ifdprefix -i GbE:"$xbmklocal/gbe" "$1" -O "$1"; :
|
"$ifdtool" $ifdprefix -i GbE:"$xbloc/gbe" "$1" -O "$1"; :
|
||||||
}
|
}
|
||||||
|
|
||||||
remktar()
|
remktar()
|
||||||
|
|||||||
+6
-10
@@ -4,8 +4,8 @@
|
|||||||
# Copyright (c) 2020-2025 Leah Rowe <leah@libreboot.org>
|
# Copyright (c) 2020-2025 Leah Rowe <leah@libreboot.org>
|
||||||
# Copyright (c) 2025 Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
# Copyright (c) 2025 Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||||
|
|
||||||
cbfstool="elf/cbfstool/default/cbfstool"
|
cbfstool="elf/coreboot/default/cbfstool"
|
||||||
rmodtool="elf/cbfstool/default/rmodtool"
|
rmodtool="elf/coreboot/default/rmodtool"
|
||||||
|
|
||||||
remkdir()
|
remkdir()
|
||||||
{
|
{
|
||||||
@@ -53,12 +53,10 @@ setvars()
|
|||||||
fi
|
fi
|
||||||
val="$1"
|
val="$1"
|
||||||
shift 1
|
shift 1
|
||||||
while true; do
|
while [ $# -gt 0 ]; do
|
||||||
[ $# -lt 1 ] && break
|
printf "%s=\"%s\"\n" "$1" "$val"
|
||||||
_setvars="$1=\"$val\"; $_setvars"
|
|
||||||
shift 1
|
shift 1
|
||||||
done
|
done
|
||||||
printf "%s\n" "${_setvars% }"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setcfg()
|
setcfg()
|
||||||
@@ -71,11 +69,9 @@ setcfg()
|
|||||||
|
|
||||||
chkvars()
|
chkvars()
|
||||||
{
|
{
|
||||||
while true; do
|
while [ $# -gt 0 ]; do
|
||||||
[ $# -lt 1 ] && break
|
|
||||||
eval "[ -n \"\${$1+x}\" ] || err \"$1 unset\""
|
eval "[ -n \"\${$1+x}\" ] || err \"$1 unset\""
|
||||||
eval "[ -n \"\$$1\" ] || err \"$1 unset\""
|
eval "[ -n \"\$$1\" ] || err \"$1 unset\"; shift 1; :"
|
||||||
shift 1
|
|
||||||
done; :
|
done; :
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-3
@@ -22,13 +22,12 @@ release()
|
|||||||
[ -e "$reldest" ] && \
|
[ -e "$reldest" ] && \
|
||||||
err "already exists: \"$reldest\""
|
err "already exists: \"$reldest\""
|
||||||
|
|
||||||
vdir="$XBMK_CACHE/relpwd/${xbmktmp##*/}/$version"
|
vdir="$XBMK_CACHE/relpwd/${xbtmp##*/}/$version"
|
||||||
rsrc="$vdir/${relname}_src"
|
rsrc="$vdir/${relname}_src"
|
||||||
|
|
||||||
remkdir "$vdir"
|
remkdir "$vdir"
|
||||||
x_ git clone . "$rsrc"
|
x_ git clone . "$rsrc"
|
||||||
x_ cp ".version" "$rsrc/.version"
|
update_xbmkver "$rsrc"
|
||||||
x_ cp ".versiondate" "$rsrc/.versiondate"
|
|
||||||
|
|
||||||
prep_release src
|
prep_release src
|
||||||
prep_release tarball
|
prep_release tarball
|
||||||
|
|||||||
+7
-7
@@ -56,10 +56,10 @@ corebootpremake()
|
|||||||
|
|
||||||
check_coreboot_util()
|
check_coreboot_util()
|
||||||
{
|
{
|
||||||
[ "$badhash" = "y" ] && x_ rm -f "elf/$1/$tree/$1"
|
[ "$badhash" = "y" ] && x_ rm -f "elf/coreboot/$tree/$1"
|
||||||
e "elf/$1/$tree/$1" f && return 0
|
e "elf/coreboot/$tree/$1" f && return 0
|
||||||
|
|
||||||
utilelfdir="elf/$1/$tree"
|
utilelfdir="elf/coreboot/$tree"
|
||||||
utilsrcdir="src/coreboot/$tree/util/$1"
|
utilsrcdir="src/coreboot/$tree/util/$1"
|
||||||
|
|
||||||
utilmode="" && [ -n "$mode" ] && utilmode="clean"
|
utilmode="" && [ -n "$mode" ] && utilmode="clean"
|
||||||
@@ -78,14 +78,14 @@ mkcorebootbin()
|
|||||||
{
|
{
|
||||||
[ "$target" = "$tree" ] && return 0
|
[ "$target" = "$tree" ] && return 0
|
||||||
|
|
||||||
tmprom="$xbmktmp/coreboot.rom"
|
tmprom="$xbtmp/coreboot.rom"
|
||||||
$dry x_ cp "$srcdir/build/coreboot.rom" "$tmprom"
|
$dry x_ cp "$srcdir/build/coreboot.rom" "$tmprom"
|
||||||
|
|
||||||
initmode="${defconfig##*/}"
|
initmode="${defconfig##*/}"
|
||||||
displaymode="${initmode##*_}"
|
displaymode="${initmode##*_}"
|
||||||
[ "$displaymode" = "$initmode" ] && displaymode="" # "normal" config
|
[ "$displaymode" = "$initmode" ] && displaymode="" # "normal" config
|
||||||
initmode="${initmode%%_*}"
|
initmode="${initmode%%_*}"
|
||||||
cbfstool="elf/cbfstool/$tree/cbfstool"
|
cbfstool="elf/coreboot/$tree/cbfstool"
|
||||||
|
|
||||||
[ -z "$payload_uboot" ] || [ "$payload_uboot" = "amd64" ] || \
|
[ -z "$payload_uboot" ] || [ "$payload_uboot" = "amd64" ] || \
|
||||||
[ "$payload_uboot" = "i386" ] || [ "$payload_uboot" = "arm64" ] \
|
[ "$payload_uboot" = "i386" ] || [ "$payload_uboot" = "arm64" ] \
|
||||||
@@ -158,8 +158,8 @@ add_grub()
|
|||||||
_grubname="fallback/payload"
|
_grubname="fallback/payload"
|
||||||
cbfs "$tmprom" "$grubelf" "$_grubname"
|
cbfs "$tmprom" "$grubelf" "$_grubname"
|
||||||
printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" \
|
printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" \
|
||||||
> "$xbmktmp/tmpcfg" || err "$target: !insert scandisk"
|
> "$xbtmp/tmpcfg" || err "$target: !insert scandisk"
|
||||||
cbfs "$tmprom" "$xbmktmp/tmpcfg" scan.cfg raw
|
cbfs "$tmprom" "$xbtmp/tmpcfg" scan.cfg raw
|
||||||
[ "$initmode" != "normal" ] && [ "$displaymode" != "txtmode" ] && \
|
[ "$initmode" != "normal" ] && [ "$displaymode" != "txtmode" ] && \
|
||||||
cbfs "$tmprom" "$grubdata/background/background1280x800.png" \
|
cbfs "$tmprom" "$grubdata/background/background1280x800.png" \
|
||||||
"background.png" raw; :
|
"background.png" raw; :
|
||||||
|
|||||||
+3
-3
@@ -58,7 +58,7 @@ trees()
|
|||||||
|
|
||||||
mkhelpercfg="$datadir/mkhelper.cfg"
|
mkhelpercfg="$datadir/mkhelper.cfg"
|
||||||
if e "$mkhelpercfg" f missing; then
|
if e "$mkhelpercfg" f missing; then
|
||||||
mkhelpercfg="$xbmktmp/mkhelper.cfg"
|
mkhelpercfg="$xbtmp/mkhelper.cfg"
|
||||||
x_ touch "$mkhelpercfg"
|
x_ touch "$mkhelpercfg"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -181,9 +181,9 @@ check_project_hashes()
|
|||||||
|
|
||||||
fx_ "x_ sha512sum" find "$datadir" "$configdir/$tree" "$mdir" \
|
fx_ "x_ sha512sum" find "$datadir" "$configdir/$tree" "$mdir" \
|
||||||
-type f -not -path "*/.git*/*" | awk '{print $1}' > \
|
-type f -not -path "*/.git*/*" | awk '{print $1}' > \
|
||||||
"$xbmktmp/project.hash" || err "!h $project $tree"
|
"$xbtmp/project.hash" || err "!h $project $tree"
|
||||||
|
|
||||||
pjhash="$(sha512sum "$xbmktmp/project.hash" | awk '{print $1}')" || :
|
pjhash="$(sha512sum "$xbtmp/project.hash" | awk '{print $1}')" || :
|
||||||
[ "$pjhash" != "$old_pjhash" ] && badhash="y"
|
[ "$pjhash" != "$old_pjhash" ] && badhash="y"
|
||||||
[ -f "$XBMK_CACHE/hash/$project$tree" ] || badhash="y"
|
[ -f "$XBMK_CACHE/hash/$project$tree" ] || badhash="y"
|
||||||
|
|
||||||
|
|||||||
+20
-31
@@ -26,12 +26,11 @@ cvchk="CONFIG_INCLUDE_SMSC_SCH5545_EC_FW CONFIG_HAVE_MRC CONFIG_HAVE_ME_BIN \
|
|||||||
CONFIG_FSP_S_FILE CONFIG_KBC1126_FW1 CONFIG_KBC1126_FW2"
|
CONFIG_FSP_S_FILE CONFIG_KBC1126_FW1 CONFIG_KBC1126_FW2"
|
||||||
|
|
||||||
# lbmk-specific extensions to the "cv" variable (not suitable for cbmk)
|
# lbmk-specific extensions to the "cv" variable (not suitable for cbmk)
|
||||||
cvxbmk="CONFIG_ME_BIN_PATH CONFIG_SMSC_SCH5545_EC_FW_FILE \
|
cvxbmk="CONFIG_ME_BIN_PATH CONFIG_SMSC_SCH5545_EC_FW_FILE CONFIG_FSP_FULL_FD \
|
||||||
CONFIG_KBC1126_FW1_OFFSET CONFIG_KBC1126_FW2_OFFSET \
|
CONFIG_KBC1126_FW1_OFFSET CONFIG_KBC1126_FW2_OFFSET CONFIG_FSP_USE_REPO \
|
||||||
CONFIG_VGA_BIOS_ID CONFIG_BOARD_DELL_E6400 CONFIG_FSP_S_CBFS \
|
CONFIG_VGA_BIOS_ID CONFIG_BOARD_DELL_E6400 CONFIG_FSP_S_CBFS \
|
||||||
CONFIG_HAVE_REFCODE_BLOB CONFIG_REFCODE_BLOB_FILE CONFIG_FSP_FD_PATH \
|
CONFIG_HAVE_REFCODE_BLOB CONFIG_REFCODE_BLOB_FILE CONFIG_FSP_FD_PATH \
|
||||||
CONFIG_IFD_BIN_PATH CONFIG_MRC_FILE CONFIG_FSP_M_CBFS \
|
CONFIG_IFD_BIN_PATH CONFIG_MRC_FILE CONFIG_FSP_M_CBFS"
|
||||||
CONFIG_FSP_USE_REPO CONFIG_FSP_FULL_FD"
|
|
||||||
|
|
||||||
# lbmk-specific extensions; mostly used for downloading vendor files
|
# lbmk-specific extensions; mostly used for downloading vendor files
|
||||||
eval "`setvars "" has_hashes EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \
|
eval "`setvars "" has_hashes EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \
|
||||||
@@ -54,17 +53,14 @@ download()
|
|||||||
getfiles()
|
getfiles()
|
||||||
{
|
{
|
||||||
[ -z "$CONFIG_HAVE_ME_BIN" ] || fetch intel_me "$DL_url" \
|
[ -z "$CONFIG_HAVE_ME_BIN" ] || fetch intel_me "$DL_url" \
|
||||||
"$DL_url_bkup" "$DL_hash" "$CONFIG_ME_BIN_PATH" "curl" \
|
"$DL_url_bkup" "$DL_hash" "$CONFIG_ME_BIN_PATH" curl "$ME_bin_hash"
|
||||||
"$ME_bin_hash"
|
|
||||||
[ -z "$CONFIG_INCLUDE_SMSC_SCH5545_EC_FW" ] || fetch sch5545ec \
|
[ -z "$CONFIG_INCLUDE_SMSC_SCH5545_EC_FW" ] || fetch sch5545ec \
|
||||||
"$SCH5545EC_DL_url" "$SCH5545EC_DL_url_bkup" "$SCH5545EC_DL_hash" \
|
"$SCH5545EC_DL_url" "$SCH5545EC_DL_url_bkup" "$SCH5545EC_DL_hash" \
|
||||||
"$CONFIG_SMSC_SCH5545_EC_FW_FILE" "curl" "$SCH5545EC_bin_hash"
|
"$CONFIG_SMSC_SCH5545_EC_FW_FILE" "curl" "$SCH5545EC_bin_hash"
|
||||||
[ -z "$CONFIG_KBC1126_FW1" ] || fetch kbc1126ec "$EC_url" \
|
[ -z "$CONFIG_KBC1126_FW1" ] || fetch kbc1126ec "$EC_url" \
|
||||||
"$EC_url_bkup" "$EC_hash" "$CONFIG_KBC1126_FW1" "curl" \
|
"$EC_url_bkup" "$EC_hash" "$CONFIG_KBC1126_FW1" curl "$EC_FW1_hash"
|
||||||
"$EC_FW1_hash"
|
|
||||||
[ -z "$CONFIG_KBC1126_FW2" ] || fetch kbc1126ec "$EC_url" \
|
[ -z "$CONFIG_KBC1126_FW2" ] || fetch kbc1126ec "$EC_url" \
|
||||||
"$EC_url_bkup" "$EC_hash" "$CONFIG_KBC1126_FW2" "curl" \
|
"$EC_url_bkup" "$EC_hash" "$CONFIG_KBC1126_FW2" curl "$EC_FW2_hash"
|
||||||
"$EC_FW2_hash"
|
|
||||||
[ -z "$CONFIG_VGA_BIOS_FILE" ] || fetch e6400vga "$E6400_VGA_DL_url" \
|
[ -z "$CONFIG_VGA_BIOS_FILE" ] || fetch e6400vga "$E6400_VGA_DL_url" \
|
||||||
"$E6400_VGA_DL_url_bkup" "$E6400_VGA_DL_hash" \
|
"$E6400_VGA_DL_url_bkup" "$E6400_VGA_DL_hash" \
|
||||||
"$CONFIG_VGA_BIOS_FILE" "curl" "$E6400_VGA_bin_hash"
|
"$CONFIG_VGA_BIOS_FILE" "curl" "$E6400_VGA_bin_hash"
|
||||||
@@ -111,12 +107,11 @@ fetch()
|
|||||||
done; :
|
done; :
|
||||||
|
|
||||||
# download the file (from the internet) to extract from
|
# download the file (from the internet) to extract from
|
||||||
xbmkget "$dlop" "$dl" "$dl_bkup" "$_dl" "$dlsum"
|
xbget "$dlop" "$dl" "$dl_bkup" "$_dl" "$dlsum"
|
||||||
x_ rm -Rf "${_dl}_extracted"
|
x_ rm -Rf "${_dl}_extracted"
|
||||||
|
|
||||||
# skip extraction if a cached extracted file exists
|
# skip extraction if a cached extracted file exists
|
||||||
( xbmkget copy "$_dl_bin" "$_dl_bin" "$_dest" "$binsum" 2>/dev/null ) \
|
( xbget copy "$_dl_bin" "$_dl_bin" "$_dest" "$binsum" 2>/dev/null ) || :
|
||||||
|| :
|
|
||||||
[ -f "$_dest" ] && return 0
|
[ -f "$_dest" ] && return 0
|
||||||
|
|
||||||
x_ mkdir -p "${_dest%/*}"
|
x_ mkdir -p "${_dest%/*}"
|
||||||
@@ -132,14 +127,8 @@ fetch()
|
|||||||
( fx_ "eval mkdst \"$binsum\"" x_ find "${_pre_dest%/*}" -type f ) || :
|
( fx_ "eval mkdst \"$binsum\"" x_ find "${_pre_dest%/*}" -type f ) || :
|
||||||
|
|
||||||
bad_checksum "$binsum" "$_dest" || [ ! -f "$_dest" ] || return 0
|
bad_checksum "$binsum" "$_dest" || [ ! -f "$_dest" ] || return 0
|
||||||
[ -z "$binsum" ] && \
|
[ -z "$binsum" ] && printf "'%s': checksum undefined\n" "$_dest" 1>&2
|
||||||
printf "'%s', '%s': checksum undefined. Check files in '%s'\n" \
|
[ -L "$_dest" ] && printf "WARNING: '%s' is a link!\n" "$_dest" 1>&2
|
||||||
"$board" "$_dest" "${_pre_dest%/*}" 1>&2
|
|
||||||
e "$_dest" f not && err "missing file '$_dest', !extract_$dl_type"; :
|
|
||||||
e "$_dest" f && printf "WARNING: '%s' made with bad hash (will rm)\n" \
|
|
||||||
"$_dest" 1>&2
|
|
||||||
[ -L "$_dest" ] && printf "WARNING: '%s' is a link. Please delete!\n" \
|
|
||||||
"$_dest" 1>&2
|
|
||||||
[ -L "$_dest" ] || x_ rm -f "$_dest"
|
[ -L "$_dest" ] || x_ rm -f "$_dest"
|
||||||
err "Could not safely extract '$_dest', for board '$board'"
|
err "Could not safely extract '$_dest', for board '$board'"
|
||||||
}
|
}
|
||||||
@@ -156,9 +145,9 @@ extract_intel_me()
|
|||||||
{
|
{
|
||||||
e "$mecleaner" f not && err "$cbdir: me_cleaner missing"
|
e "$mecleaner" f not && err "$cbdir: me_cleaner missing"
|
||||||
|
|
||||||
_7ztest="$xbmklocal/metmp/a"
|
_7ztest="$xbloc/metmp/a"
|
||||||
_metmp="$xbmklocal/me.bin"
|
_metmp="$xbloc/me.bin"
|
||||||
x_ rm -f "$_metmp" "$xbmklocal/a"
|
x_ rm -f "$_metmp" "$xbloc/a"
|
||||||
|
|
||||||
mfs="" && [ "$ME11bootguard" = "y" ] && mfs="--whitelist MFS" && \
|
mfs="" && [ "$ME11bootguard" = "y" ] && mfs="--whitelist MFS" && \
|
||||||
chkvars ME11delta ME11version ME11sku ME11pch
|
chkvars ME11delta ME11version ME11sku ME11pch
|
||||||
@@ -184,7 +173,7 @@ find_me()
|
|||||||
|
|
||||||
_7ztest="${_7ztest}a" && _r="-r" && [ -n "$mfs" ] && _r=""
|
_7ztest="${_7ztest}a" && _r="-r" && [ -n "$mfs" ] && _r=""
|
||||||
|
|
||||||
"$mecleaner" $mfs $_r -t -O "$xbmklocal/a" -M "$_metmp" "$1" || \
|
"$mecleaner" $mfs $_r -t -O "$xbloc/a" -M "$_metmp" "$1" || \
|
||||||
"$mecleaner" $mfs $_r -t -O "$_metmp" "$1" || "$me7updateparser" \
|
"$mecleaner" $mfs $_r -t -O "$_metmp" "$1" || "$me7updateparser" \
|
||||||
-O "$_metmp" "$1" || extract_archive "$1" "$_7ztest" || return 0
|
-O "$_metmp" "$1" || extract_archive "$1" "$_7ztest" || return 0
|
||||||
|
|
||||||
@@ -281,14 +270,14 @@ bootstrap()
|
|||||||
cbdir="src/coreboot/$tree"
|
cbdir="src/coreboot/$tree"
|
||||||
mecleaner="$xbmkpwd/$cbdir/util/me_cleaner/me_cleaner.py"
|
mecleaner="$xbmkpwd/$cbdir/util/me_cleaner/me_cleaner.py"
|
||||||
kbc1126_ec_dump="$xbmkpwd/$cbdir/util/kbc1126/kbc1126_ec_dump"
|
kbc1126_ec_dump="$xbmkpwd/$cbdir/util/kbc1126/kbc1126_ec_dump"
|
||||||
cbfstool="elf/cbfstool/$tree/cbfstool"
|
cbfstool="elf/coreboot/$tree/cbfstool"
|
||||||
rmodtool="elf/cbfstool/$tree/rmodtool"
|
rmodtool="elf/coreboot/$tree/rmodtool"
|
||||||
|
|
||||||
x_ ./mk -f coreboot "${cbdir##*/}"
|
x_ ./mk -f coreboot "${cbdir##*/}"
|
||||||
fx_ "x_ ./mk -b" printf "uefitool\nbiosutilities\nbios_extract\n"
|
fx_ "x_ ./mk -b" printf "uefitool\nbiosutilities\nbios_extract\n"
|
||||||
[ -d "${kbc1126_ec_dump%/*}" ] && x_ make -C "$cbdir/util/kbc1126"
|
[ -d "${kbc1126_ec_dump%/*}" ] && x_ make -C "$cbdir/util/kbc1126"
|
||||||
[ -n "$MRC_refcode_cbtree" ] && \
|
[ -n "$MRC_refcode_cbtree" ] && \
|
||||||
cbfstoolref="elf/cbfstool/$MRC_refcode_cbtree/cbfstool" && \
|
cbfstoolref="elf/coreboot/$MRC_refcode_cbtree/cbfstool" && \
|
||||||
x_ ./mk -d coreboot "$MRC_refcode_cbtree"; :
|
x_ ./mk -d coreboot "$MRC_refcode_cbtree"; :
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -393,9 +382,9 @@ vfile()
|
|||||||
elif [ "$nuke" = "nuke" ]; then
|
elif [ "$nuke" = "nuke" ]; then
|
||||||
x_ "$cbfstool" "$rom" remove -n "$cbfsname"
|
x_ "$cbfstool" "$rom" remove -n "$cbfsname"
|
||||||
elif [ "$_t" = "stage" ]; then # the only stage we handle is refcode
|
elif [ "$_t" = "stage" ]; then # the only stage we handle is refcode
|
||||||
x_ rm -f "$xbmklocal/refcode"
|
x_ rm -f "$xbloc/refcode"
|
||||||
x_ "$rmodtool" -i "$_dest" -o "$xbmklocal/refcode"
|
x_ "$rmodtool" -i "$_dest" -o "$xbloc/refcode"
|
||||||
x_ "$cbfstool" "$rom" add-stage -f "$xbmklocal/refcode" \
|
x_ "$cbfstool" "$rom" add-stage -f "$xbloc/refcode" \
|
||||||
-n "$cbfsname" -t stage
|
-n "$cbfsname" -t stage
|
||||||
else
|
else
|
||||||
x_ "$cbfstool" "$rom" add -f "$_dest" -n "$cbfsname" \
|
x_ "$cbfstool" "$rom" add -f "$_dest" -n "$cbfsname" \
|
||||||
|
|||||||
@@ -26,14 +26,13 @@ main()
|
|||||||
case "$cmd" in
|
case "$cmd" in
|
||||||
version) printf "%s\nWebsite: %s\n" "$relname" "$projectsite" ;;
|
version) printf "%s\nWebsite: %s\n" "$relname" "$projectsite" ;;
|
||||||
release|download|inject) $cmd "$@" ;;
|
release|download|inject) $cmd "$@" ;;
|
||||||
-*) return 0 ;;
|
-*) return 1 ;;
|
||||||
*) err "bad command" ;;
|
*) err "bad command" ;;
|
||||||
esac
|
esac
|
||||||
set -u -e # some commands disable them. turn them on!
|
set -u -e # some commands disable them. turn them on!
|
||||||
return 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@" || exit 0
|
main "$@" && exit 0
|
||||||
|
|
||||||
. "include/tree.sh"
|
. "include/tree.sh"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user