minor code cleanup in shell scripts
Signed-off-by: Leah Rowe <leah@libreboot.org>btrfsvols
parent
8b6e44a104
commit
0b98c9b00c
13
build
13
build
|
@ -59,7 +59,7 @@ initialise_command()
|
|||
|
||||
[ "${mode}" = "help" ] && usage ${0} && lbmk_exit 0
|
||||
if [ "${mode}" = "list" ]; then
|
||||
listitems "${buildpath}"
|
||||
items "${buildpath}"
|
||||
lbmk_exit 0
|
||||
elif [ $# -lt 2 ]; then
|
||||
usage ${0}
|
||||
|
@ -91,15 +91,8 @@ install_packages()
|
|||
|
||||
execute_command()
|
||||
{
|
||||
if [ "${option}" = "list" ]; then
|
||||
xx_ listitems "${buildpath}/${mode}"
|
||||
lbmk_exit 0
|
||||
fi
|
||||
[ "$option" = "list" ] && xx_ items "$buildpath/$mode" && lbmk_exit 0
|
||||
lbmkcmd="${buildpath}/${mode}/${option}"
|
||||
[ "${lbmkcmd}" = "./script/build/boot/roms" ] && \
|
||||
printf "NOTE: ./build boot roms now: ./build fw coreboot\n" 1>&2
|
||||
[ "${lbmkcmd%/*}" = "./script/update/blobs" ] && \
|
||||
printf "NOTE: ./update blobs is now: ./update vendor\n" 1>&2
|
||||
[ -f "${lbmkcmd}" ] || fail "Invalid command. Run: ${linkpath} help"
|
||||
"${lbmkcmd}" $@ || fail "execute_command: ${lbmkcmd} ${@}"
|
||||
}
|
||||
|
@ -111,7 +104,7 @@ usage()
|
|||
USAGE: ${progname} <MODE> <OPTION>
|
||||
|
||||
possible values for 'mode':
|
||||
$(listitems "${buildpath}")
|
||||
$(items "${buildpath}")
|
||||
|
||||
For each of the above modes, you may also do:
|
||||
${progname} <MODE> list
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
|
||||
# This file is only used by update/project/trees
|
||||
|
||||
eval "$(setvars "" _target rev _xm)"
|
||||
eval "$(setvars "" loc url bkup_url depend)"
|
||||
eval "$(setvars "" _target rev _xm loc url bkup_url depend)"
|
||||
tmp_git_dir="${PWD}/tmp/gitclone"
|
||||
|
||||
fetch_project_trees()
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# Modifications in this version are Copyright 2021 and 2023 Leah Rowe.
|
||||
# Original copyright detailed in repo: https://review.coreboot.org/coreboot/
|
||||
|
||||
eval "$(setvars "" MRC_url MRC_url_bkup MRC_hash MRC_board)"
|
||||
eval "$(setvars "" MRC_url MRC_url_bkup MRC_hash MRC_board ROOTFS SHELLBALL)"
|
||||
|
||||
extract_mrc()
|
||||
{
|
||||
|
@ -12,14 +12,14 @@ extract_mrc()
|
|||
[ -z "${CONFIG_MRC_FILE}" ] && \
|
||||
err "extract_mrc $MRC_hash: CONFIG_MRC_FILE not set"
|
||||
|
||||
_file="${MRC_url##*/}"
|
||||
_file="${_file%.zip}"
|
||||
ROOTFS="root-a.ext2"
|
||||
SHELLBALL="chromeos-firmwareupdate-${MRC_board}"
|
||||
|
||||
(
|
||||
x_ cd "${appdir}"
|
||||
extract_partition ROOT-A "${_file}" root-a.ext2
|
||||
extract_shellball root-a.ext2 chromeos-firmwareupdate-${MRC_board}
|
||||
extract_coreboot chromeos-firmwareupdate-${MRC_board}
|
||||
extract_partition
|
||||
extract_shellball
|
||||
extract_coreboot
|
||||
)
|
||||
|
||||
x_ "${cbfstool}" "${appdir}/"coreboot-*.bin extract -n mrc.bin \
|
||||
|
@ -28,9 +28,9 @@ extract_mrc()
|
|||
|
||||
extract_partition()
|
||||
{
|
||||
NAME=${1}
|
||||
FILE=${2}
|
||||
ROOTFS=${3}
|
||||
NAME="ROOT-A"
|
||||
FILE="${MRC_url##*/}"
|
||||
FILE="${FILE%.zip}"
|
||||
_bs=1024
|
||||
|
||||
printf "Extracting ROOT-A partition\n"
|
||||
|
@ -46,9 +46,6 @@ extract_partition()
|
|||
|
||||
extract_shellball()
|
||||
{
|
||||
ROOTFS=${1}
|
||||
SHELLBALL=${2}
|
||||
|
||||
printf "Extracting chromeos-firmwareupdate\n"
|
||||
printf "cd /usr/sbin\ndump chromeos-firmwareupdate ${SHELLBALL}\nquit" \
|
||||
| debugfs "${ROOTFS}" || err "extract_shellball: debugfs"
|
||||
|
@ -56,13 +53,12 @@ extract_shellball()
|
|||
|
||||
extract_coreboot()
|
||||
{
|
||||
_shellball=${1}
|
||||
_unpacked=$( mktemp -d )
|
||||
|
||||
printf "Extracting coreboot image\n"
|
||||
[ -f "${_shellball}" ] || \
|
||||
[ -f "${SHELLBALL}" ] || \
|
||||
err "extract_coreboot: shellball missing in google cros image"
|
||||
x_ sh "${_shellball}" --unpack "${_unpacked}"
|
||||
x_ sh "${SHELLBALL}" --unpack "${_unpacked}"
|
||||
|
||||
# TODO: audit the f* out of that shellball, for each mrc version.
|
||||
# it has to be updated for each mrc update. we should ideally
|
||||
|
|
|
@ -17,11 +17,11 @@ eval "$(setvars "" CONFIG_BOARD_DELL_E6400 CONFIG_HAVE_MRC CONFIG_HAVE_ME_BIN \
|
|||
CONFIG_INCLUDE_SMSC_SCH5545_EC_FW CONFIG_SMSC_SCH5545_EC_FW_FILE \
|
||||
CONFIG_IFD_BIN_PATH CONFIG_MRC_FILE _dest board boarddir)"
|
||||
|
||||
listitems()
|
||||
items()
|
||||
{
|
||||
rval=1
|
||||
[ ! -d "${1}" ] && \
|
||||
printf "listitems: directory '%s' doesn't exist" "${1}" && \
|
||||
printf "items: directory '%s' doesn't exist" "${1}" && \
|
||||
return 1
|
||||
for x in "${1}/"*; do
|
||||
# -e used because this is for files *or* directories
|
||||
|
|
|
@ -25,15 +25,14 @@ pv="${pv} payload_seabios_withgrub payload_uboot memtest_bin"
|
|||
v="romdir cbrom initmode displaymode cbcfg targetdir tree arch"
|
||||
v="${v} grub_timeout ubdir vendorfiles board grub_scan_disk uboot_config"
|
||||
eval "$(setvars "n" ${pv})"
|
||||
eval "$(setvars "" ${v})"
|
||||
eval "$(setvars "" boards _displaymode _payload _keyboard all targets)"
|
||||
eval "$(setvars "" ${v} boards _displaymode _payload _keyboard all targets)"
|
||||
|
||||
main()
|
||||
{
|
||||
while [ $# -gt 0 ]; do
|
||||
case ${1} in
|
||||
help) usage && exit 0 ;;
|
||||
list) listitems config/coreboot && exit 0 ;;
|
||||
list) items config/coreboot && exit 0 ;;
|
||||
-d) _displaymode="${2}" ;;
|
||||
-p) _payload="${2}" ;;
|
||||
-k) _keyboard="${2}" ;;
|
||||
|
@ -45,7 +44,7 @@ main()
|
|||
shift 2
|
||||
done
|
||||
|
||||
[ "${all}" != "y" ] || boards=$(listitems config/coreboot) || \
|
||||
[ "${all}" != "y" ] || boards=$(items config/coreboot) || \
|
||||
err "Cannot generate list of boards for building"
|
||||
|
||||
for x in ${boards}; do
|
||||
|
@ -63,11 +62,7 @@ main()
|
|||
printf "\nROM images available in these directories:\n"
|
||||
printf "${targets}^^ ROM images available in these directories.\n\n"
|
||||
|
||||
printf "WARNING!!!!!!! PLEASE READ:\n\n"
|
||||
|
||||
printf "DO NOT flash ROM images contained under elf/, because they lack"
|
||||
printf " payloads and will BRICK your machine. Please flash ROM images"
|
||||
printf " contained under bin/ instead. YOU HAVE BEEN WARNED.\n\n"
|
||||
printf "DO NOT flash ROM images from elf/ - please use bin/ instead.\n"
|
||||
}
|
||||
|
||||
check_target()
|
||||
|
@ -151,13 +146,12 @@ prepare_target()
|
|||
build_dependency_seabios()
|
||||
{
|
||||
[ "${payload_seabios}" = "y" ] || return 0
|
||||
[ -f "${seavgabiosrom}" ] && \
|
||||
[ -f elf/seabios/default/libgfxinit/bios.bin.elf ] && \
|
||||
[ -f elf/seabios/default/vgarom/bios.bin.elf ] && \
|
||||
[ -f elf/seabios/default/normal/bios.bin.elf ] && return 0
|
||||
|
||||
if [ ! -f "${seavgabiosrom}" ] \
|
||||
|| [ ! -f elf/seabios/default/libgfxinit/bios.bin.elf ] \
|
||||
|| [ ! -f elf/seabios/default/vgarom/bios.bin.elf ] \
|
||||
|| [ ! -f elf/seabios/default/normal/bios.bin.elf ]; then
|
||||
x_ ./update project trees -b seabios
|
||||
fi
|
||||
x_ ./update project trees -b seabios
|
||||
}
|
||||
|
||||
build_dependency_grub()
|
||||
|
@ -413,7 +407,7 @@ usage()
|
|||
./build fw coreboot x60 -p grub -d corebootfb -k usqwerty
|
||||
|
||||
possible values for 'target':
|
||||
$(listitems "config/coreboot")
|
||||
$(items "config/coreboot")
|
||||
|
||||
Refer to the ${projectname} documentation for more information.
|
||||
EOF
|
||||
|
|
|
@ -87,7 +87,7 @@ build_targets()
|
|||
[ $# -gt 0 ] && target1="${1}"
|
||||
[ "${target1}" = "utils" ] && [ "${project}" = "coreboot" ] && \
|
||||
shift 1
|
||||
targets=$(listitems "${cfgsdir}") || \
|
||||
targets=$(items "${cfgsdir}") || \
|
||||
err "Cannot get options for ${cfgsdir}"
|
||||
[ $# -gt 0 ] && targets=$@
|
||||
|
||||
|
@ -173,15 +173,14 @@ handle_src_tree()
|
|||
fi
|
||||
|
||||
[ "${target1}" = "utils" ] && [ "${project}" = "coreboot" ] && return 0
|
||||
[ "$project" != "coreboot" ] && [ "$project" != "u-boot" ] && return 0
|
||||
|
||||
# u-boot and coreboot are both compiled with coreboot's crossgcc
|
||||
if [ "${project}" = "coreboot" ] || [ "${project}" = "u-boot" ]; then
|
||||
[ ! -z ${mode} ] || check_cross_compiler || \
|
||||
err "handle_src_tree ${project}/${target}: crossgcc"
|
||||
cbfstool="cbutils/${tree}/cbfstool"
|
||||
[ -f "${cbfstool}" ] || \
|
||||
x_ ./update project trees -b coreboot utils "${tree}"
|
||||
fi
|
||||
[ ! -z ${mode} ] || check_cross_compiler || \
|
||||
err "handle_src_tree ${project}/${target}: crossgcc"
|
||||
cbfstool="cbutils/${tree}/cbfstool"
|
||||
[ -f "${cbfstool}" ] && return 0
|
||||
x_ ./update project trees -b coreboot utils "${tree}"
|
||||
}
|
||||
|
||||
# set up cross-compiler (coreboot crossgcc) for u-boot and coreboot
|
||||
|
@ -279,6 +278,7 @@ run_make_command()
|
|||
x_ printf "%s\n" "${version%%-*}" >"${codedir}/.coreboot-version"
|
||||
|
||||
x_ make ${mode} -j$(nproc) -C "${codedir}"
|
||||
|
||||
[ "${mode}" != "clean" ] && return 0
|
||||
make -C "${codedir}" distclean 2>/dev/null || :
|
||||
}
|
||||
|
|
|
@ -63,9 +63,8 @@ build_dependencies()
|
|||
x_ ./update project trees -b uefitool
|
||||
[ -f "${kbc1126_ec_dump}" ] || \
|
||||
x_ make -C "${cbdir}/util/kbc1126"
|
||||
if [ ! -f "${cbfstool}" ] || [ ! -f "${ifdtool}" ]; then
|
||||
x_ ./update project trees -b coreboot utils default
|
||||
fi
|
||||
[ -f "${cbfstool}" ] && [ -f "${ifdtool}" ] && return 0
|
||||
x_ ./update project trees -b coreboot utils default
|
||||
}
|
||||
|
||||
download_vendorfiles()
|
||||
|
@ -85,8 +84,7 @@ download_vendorfiles()
|
|||
"${E6400_VGA_DL_url_bkup}" "${E6400_VGA_DL_hash}" \
|
||||
"${CONFIG_VGA_BIOS_FILE}"
|
||||
[ -z "${CONFIG_HAVE_MRC}" ] && return 0
|
||||
fetch "mrc" "${MRC_url}" "${MRC_url_bkup}" "${MRC_hash}" \
|
||||
"${CONFIG_MRC_FILE}"
|
||||
fetch "mrc" "$MRC_url" "$MRC_url_bkup" "$MRC_hash" "$CONFIG_MRC_FILE"
|
||||
}
|
||||
|
||||
fetch()
|
||||
|
|
|
@ -15,7 +15,7 @@ main()
|
|||
{
|
||||
[ $# -lt 1 ] && err "No options specified."
|
||||
[ "${1}" = "listboards" ] && \
|
||||
listitems config/coreboot && exit 0
|
||||
items config/coreboot && exit 0
|
||||
|
||||
archive="${1}"
|
||||
|
||||
|
|
Loading…
Reference in New Issue