diff options
Diffstat (limited to 'resources/scripts/modify')
-rwxr-xr-x | resources/scripts/modify/coreboot/configs | 118 | ||||
-rwxr-xr-x | resources/scripts/modify/seabios/configs | 78 | ||||
-rwxr-xr-x | resources/scripts/modify/u-boot/configs | 122 |
3 files changed, 148 insertions, 170 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 $@ diff --git a/resources/scripts/modify/seabios/configs b/resources/scripts/modify/seabios/configs index e05a46bf..614a4371 100755 --- a/resources/scripts/modify/seabios/configs +++ b/resources/scripts/modify/seabios/configs @@ -1,9 +1,8 @@ #!/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> # # 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 @@ -17,48 +16,41 @@ # # 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 seabios configs\n" - -if [ ! -d "seabios" ]; then - ./download seabios -fi - -if [ ! -d "seabios" ]; then - printf "error: Failed to download SeaBIOS. check internet connection?\n" - exit 1 -fi - -for config in resources/seabios/config/*; do - - if [ ! -f "${config}" ]; then continue; fi - - ( - cd seabios - make distclean - ) - - mv "${config}" seabios/.config - ( - cd seabios - make menuconfig - ) - - cp seabios/.config "${config}" - - ( - cd seabios - make distclean - ) - -done - -printf "\n\n" - +main() +{ + printf "Updating seabios configs\n" + download_seabios + modify_configs +} + +download_seabios() +{ + if [ ! -d "seabios" ]; then + ./download seabios + fi + if [ ! -d "seabios" ]; then + printf "error: Failed to download SeaBIOS. " + printf "Check internet connection?\n" + exit 1 + fi +} + +modify_configs() +{ + for config in resources/seabios/config/*; do + if [ ! -f "${config}" ]; then + continue + fi + make distclean -BC seabios + mv "${config}" seabios/.config + make menuconfig -BC seabios + cp seabios/.config "${config}" + make distclean -BC seabios + done +} + +main $@ diff --git a/resources/scripts/modify/u-boot/configs b/resources/scripts/modify/u-boot/configs index 60dfdd8f..9572a5b8 100755 --- a/resources/scripts/modify/u-boot/configs +++ b/resources/scripts/modify/u-boot/configs @@ -1,83 +1,77 @@ #!/usr/bin/env sh -# # helper script: modify U-Boot configs (run make menuconfig) # # Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> # Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com> +# Copyright (C) 2023 Leah Rowe <info@minifree.org> # -# 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 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. # -# 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 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 script assumes that the working directory is the root -# of git or release archive +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. [ "x${DEBUG+set}" = 'xset' ] && set -v set -u -e -printf "Modifying U-Boot configs\n" +main() +{ + printf "Modifying U-Boot configs\n" + + if [ $# -gt 0 ]; then + for board in "${@}"; do + modifyconf "${board}" + done + else + for board in resources/u-boot/*; do + if [ ! -d "${board}" ]; then + continue + fi + modifyconf "${board##*/}" + done + fi +} # Build ROM images for supported boards -modifyconf() { +modifyconf() +{ board="$1" - if [ -f "resources/u-boot/${board}/board.cfg" ]; then - ubtree="undefined" - . "resources/u-boot/${board}/board.cfg" # source - 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 menuconfig - ) - mv u-boot/${ubtree}/.config $ubcfg - rm -f u-boot/${ubtree}/.config* - ( - cd u-boot/${ubtree}/ - make distclean - ) - done - else - printf "\nmodify/config/u-boot: no board.cfg for: %s\n" "${board}" - fi -} + if [ ! -f "resources/u-boot/${board}/board.cfg" ]; then + printf "\nmodify/config/u-boot: no board.cfg for: %s\n" \ + "${board}" + return 0 + fi -if [ $# -gt 0 ]; then - for board in "${@}"; do - modifyconf "${board}" - done -else - for board in resources/u-boot/*; do - if [ ! -d "${board}" ]; then - continue - fi - modifyconf "${board##*/}" - done -fi + ubtree="undefined" + . "resources/u-boot/${board}/board.cfg" # source + + if [ "${ubtree}" = "undefined" ]; then + return 0 + fi + ubdir="u-boot/${ubtree}" -printf "\n\n" + if [ ! -d "${ubdir}" ]; then + ./download u-boot ${ubtree} + fi + + for ubcfg in resources/u-boot/${board}/config/*; do + if [ ! -f ${ubcfg} ]; then + continue + fi + make distclean -BC "${ubdir}" + mv "${ubcfg}" "${ubdir}/.config" + make menuconfig -BC "${ubdir}" + mv "${ubdir}/.config" "${ubcfg}" + make distclean -BC "${ubdir}" + done +} +main $@ |