diff options
-rwxr-xr-x | resources/scripts/modify/coreboot/configs | 118 |
1 files changed, 55 insertions, 63 deletions
diff --git a/resources/scripts/modify/coreboot/configs b/resources/scripts/modify/coreboot/configs index 434014c9..665ee091 100755 --- a/resources/scripts/modify/coreboot/configs +++ b/resources/scripts/modify/coreboot/configs @@ -1,83 +1,75 @@ #!/usr/bin/env sh -# # helper script: modify coreboot configs (run make menuconfig) # -# Copyright (C) 2021 Leah Rowe <info@minifree.org> +# Copyright (C) 2021, 2023 Leah Rowe <info@minifree.org> # Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.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 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. +# 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/>. +# 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 "Modifying coreboot configs\n" +main() +{ + printf "Modifying coreboot configs\n" + + if [ $# -gt 0 ]; then + for board in ${@}; do + modifyconf "${board}" + done + else + for board in resources/coreboot/*; do + if [ ! -d "${board}" ]; then + continue + fi + modifyconf "${board##*/}" + done + fi +} # Build ROM images for supported boards modifyconf() { board="$1" - if [ -f "resources/coreboot/${board}/board.cfg" ]; then - cbtree="undefined" - . "resources/coreboot/${board}/board.cfg" # source - if [ "${cbtree}" = "undefined" ]; then - return 0 - fi - if [ ! -d "coreboot/${cbtree}" ]; then - ./download coreboot ${cbtree} - fi - for cbcfg in resources/coreboot/${board}/config/*; do - if [ ! -f ${cbcfg} ]; then - continue - fi - ( - cd coreboot/${cbtree}/ - rm -f .config* - make distclean - ) - mv $cbcfg coreboot/${cbtree}/.config - ( - cd coreboot/${cbtree}/ - make menuconfig - ) - mv coreboot/${cbtree}/.config $cbcfg - rm -f coreboot/${cbtree}/.config* - ( - cd coreboot/${cbtree}/ - make distclean - ) - done - else - printf "\nmodify/config/coreboot: no board.cfg for: %s\n" "${board}" - fi -} -if [ $# -gt 0 ]; then - for board in "${@}"; do - modifyconf "${board}" - done -else - for board in resources/coreboot/*; do - if [ ! -d "${board}" ]; then - continue - fi - modifyconf "${board##*/}" - done -fi + if [ ! -f "resources/coreboot/${board}/board.cfg" ]; then + printf "\nmodify/config/coreboot: no board.cfg for: %s\n" \ + "${board}" + fi + + cbtree="" + . "resources/coreboot/${board}/board.cfg" # source + + if [ -z ${cbtree} ]; then + return 0 + fi + cbdir="coreboot/${cbtree}" + if [ ! -d "${cbdir}" ]; then + ./download coreboot ${cbtree} + fi -printf "\n\n" + for cbcfg in resources/coreboot/${board}/config/*; do + if [ ! -f ${cbcfg} ]; then + continue + fi + make distclean -BC "${cbdir}" + mv "${cbcfg}" "${cbdir}/.config" + make menuconfig -BC "${cbdir}" + mv "${cbdir}/.config" "${cbcfg}" + make distclean -BC "${cbdir}" + done +} +main $@ |