diff options
author | Leah Rowe <leah@libreboot.org> | 2022-11-11 21:38:12 +0000 |
---|---|---|
committer | Gogs <gogitservice@gmail.com> | 2022-11-11 21:38:12 +0000 |
commit | b5c25efed46f0a9121023997c6758eda5c3f5017 (patch) | |
tree | 973bda08e84b61b8fee442a94db1bc62bd6d818a /resources/scripts/update/u-boot | |
parent | fbbb5bc616b08a5cd747735b0612fd0f0046c7fe (diff) | |
parent | 61ac6c3f0b26deadc2fb8355a8dd0d25b29baacd (diff) |
Merge branch 'u-boot-chromebooks' of alpernebbi/lbmk into master
Diffstat (limited to 'resources/scripts/update/u-boot')
-rwxr-xr-x | resources/scripts/update/u-boot/configs | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/resources/scripts/update/u-boot/configs b/resources/scripts/update/u-boot/configs new file mode 100755 index 00000000..462dc4e1 --- /dev/null +++ b/resources/scripts/update/u-boot/configs @@ -0,0 +1,83 @@ +#!/usr/bin/env bash + +# +# helper script: update U-Boot configs (run make oldconfig) +# +# Copyright (C) 2021 Leah Rowe <info@minifree.org> +# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +# This script assumes that the working directory is the root +# of git or release archive + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +printf "Updating U-Boot configs\n" + +# Build ROM images for supported boards +updateconf() { + board="$1" + if [ -f "resources/u-boot/${board}/board.cfg" ]; then + ubtree="undefined" + source "resources/u-boot/${board}/board.cfg" + if [ "${ubtree}" = "undefined" ]; then + return 0 + fi + if [ ! -d "u-boot/${ubtree}" ]; then + ./download u-boot ${ubtree} + fi + for ubcfg in resources/u-boot/${board}/config/*; do + if [ ! -f ${ubcfg} ]; then + continue + fi + ( + cd u-boot/${ubtree}/ + rm -f .config* + make distclean + ) + mv $ubcfg u-boot/${ubtree}/.config + ( + cd u-boot/${ubtree}/ + make oldconfig + ) + mv u-boot/${ubtree}/.config $ubcfg + rm -f u-boot/${ubtree}/.config* + ( + cd u-boot/${ubtree}/ + make distclean + ) + done + else + printf "\nupdate/config/u-boot: no board.cfg for: %s\n" "${board}" + fi +} + +if [ $# -gt 0 ]; then + for board in "${@}"; do + updateconf "${board}" + done +else + for board in resources/u-boot/*; do + if [ ! -d "${board}" ]; then + continue + fi + updateconf "${board##*/}" + done +fi + +printf "\n\n" + |