diff options
Diffstat (limited to 'resources/scripts/build')
29 files changed, 67 insertions, 55 deletions
diff --git a/resources/scripts/build/boot/roms b/resources/scripts/build/boot/roms index 07f92a83..f0398273 100755 --- a/resources/scripts/build/boot/roms +++ b/resources/scripts/build/boot/roms @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # # helper script: build coreboot images with various payloads @@ -7,6 +7,7 @@ # <info@minifree.org> # Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> # Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com> +# 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 @@ -30,7 +31,7 @@ set -u -e projectname="$(cat projectname)" opts="" -boards="" +boards= firstoption="${1}" main() @@ -49,19 +50,19 @@ main() exit 0 fi - while [[ $# > 0 ]]; do + while [ $# -gt 0 ]; do case ${1} in -d) - opts+=" -d ${2}" + opts="${opts} -d ${2}" shift ;; -p) - opts+=" -p ${2}" + opts="${opts} -p ${2}" shift ;; -k) - opts+=" -k ${2}" + opts="${opts} -k ${2}" shift ;; *) - boards+=" ${1} " ;; + boards="${boards} ${1} " ;; esac shift done diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper index c5cb5df4..02d8f61f 100755 --- a/resources/scripts/build/boot/roms_helper +++ b/resources/scripts/build/boot/roms_helper @@ -1,9 +1,10 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: create ROM images for a given mainboard # # Copyright (C) 2020,2021,2023 Leah Rowe <info@minifree.org> -# Copyright (C) 2021 Ferass El Hafidi <vitali64pmemail@protonmail.com> +# Copyright (C) 2021,2022 Ferass El Hafidi +# <vitali64pmemail@protonmail.com> # Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com> # Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> # @@ -63,16 +64,16 @@ CROSS_COMPILE="" main() { - while [[ $# > 0 ]]; do + while [ $# -gt 0 ]; do case ${1} in -d) - displaymodes+="${2}" + displaymodes="${displaymodes}${2}" shift ;; -p) - payloads+="${2}" + payloads="${payloads}${2}" shift ;; -k) - keyboard_layouts+="${2}" + keyboard_layouts="${keyboard_layouts}${2}" shift ;; *) board=${1} ;; @@ -107,7 +108,7 @@ load_config() exit 1 fi - source "${boardcfgdir}/board.cfg" + . "${boardcfgdir}/board.cfg" if [ "${board}" != "${cbtree}" ]; then cbdir="coreboot/${cbtree}" @@ -554,11 +555,11 @@ mkRomsWithGrub() keymaps="" if [ -z ${keyboard_layouts} ]; then for kmapfile in "${kmapdir}"/*; do - keymaps+=" ${kmapfile}" + keymaps="${keymaps} ${kmapfile}" done else for keymapname in ${keyboard_layouts}; do - keymaps+=" ${kmapdir}/${keymapname}.gkb" + keymaps="${keymaps} ${kmapdir}/${keymapname}.gkb" done fi for keymapfile in ${keymaps}; do @@ -694,10 +695,11 @@ moverom() if [ "${cuttype}" = "i945 laptop" ]; then dd if=${_newrom} of=top64k.bin bs=1 \ - skip=$[$(stat -c %s ${_newrom}) - 0x10000] \ + skip=$(($(stat -c %s ${_newrom}) - 0x10000)) \ count=64k - dd if=top64k.bin of=${_newrom} bs=1 seek=$[$(stat -c %s \ - ${_newrom}) - 0x20000] count=64k conv=notrunc + dd if=top64k.bin of=${_newrom} bs=1 \ + seek=$(($(stat -c %s ${_newrom}) - 0x20000)) \ + count=64k conv=notrunc rm -f top64k.bin return 0 fi diff --git a/resources/scripts/build/clean/cbutils b/resources/scripts/build/clean/cbutils index 2aff915f..0c0df0d3 100755 --- a/resources/scripts/build/clean/cbutils +++ b/resources/scripts/build/clean/cbutils @@ -1,9 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: clean the dependencies that were built in coreboot # # Copyright (C) 2014, 2015, 2016, 2020 Leah Rowe <info@minifree.org> -# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> +# Copyright (C) 2015 Klemens Nanni <contact@autoboot.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 @@ -38,7 +38,7 @@ for board in coreboot/*; do make -C "${board}/" distclean # Clean its utilities as well - for util in {cbfs,ifd,nvram}tool cbmem; do + for util in cbfstool ifdtool nvramtool cbmem; do make -C "${board}/util/${util}/" clean done make -C "${board}/payloads/libpayload/" distclean diff --git a/resources/scripts/build/clean/crossgcc b/resources/scripts/build/clean/crossgcc index 7dcbf4a4..6c09c878 100755 --- a/resources/scripts/build/clean/crossgcc +++ b/resources/scripts/build/clean/crossgcc @@ -1,9 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: clean the crossgcc builds # # Copyright (C) 2014-2016, 2020, 2023 Leah Rowe <info@minifree.org> -# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> +# Copyright (C) 2015 Klemens Nanni <contact@autoboot.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 diff --git a/resources/scripts/build/clean/flashrom b/resources/scripts/build/clean/flashrom index 516a8d87..744052fc 100755 --- a/resources/scripts/build/clean/flashrom +++ b/resources/scripts/build/clean/flashrom @@ -1,9 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: clean the dependencies that were built in flashrom # # Copyright (C) 2014, 2015 Leah Rowe <info@minifree.org> -# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> +# Copyright (C) 2015 Klemens Nanni <contact@autoboot.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 diff --git a/resources/scripts/build/clean/grub b/resources/scripts/build/clean/grub index 4330dfca..dea2c2dd 100755 --- a/resources/scripts/build/clean/grub +++ b/resources/scripts/build/clean/grub @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: clean the dependencies that were built in GRUB # diff --git a/resources/scripts/build/clean/ich9utils b/resources/scripts/build/clean/ich9utils index 35b9dc4b..38ad439f 100755 --- a/resources/scripts/build/clean/ich9utils +++ b/resources/scripts/build/clean/ich9utils @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: clean the previous build of ich9utils # diff --git a/resources/scripts/build/clean/memtest86plus b/resources/scripts/build/clean/memtest86plus index e4d7b200..807b20a7 100755 --- a/resources/scripts/build/clean/memtest86plus +++ b/resources/scripts/build/clean/memtest86plus @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: clean the dependencies that were built in memtest86+ # diff --git a/resources/scripts/build/clean/payloads b/resources/scripts/build/clean/payloads index f4dab88a..4d77b9ea 100755 --- a/resources/scripts/build/clean/payloads +++ b/resources/scripts/build/clean/payloads @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: nothing to see here, forks! # diff --git a/resources/scripts/build/clean/rom_images b/resources/scripts/build/clean/rom_images index cac69226..cd41d499 100755 --- a/resources/scripts/build/clean/rom_images +++ b/resources/scripts/build/clean/rom_images @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: delete the ROM images # diff --git a/resources/scripts/build/clean/seabios b/resources/scripts/build/clean/seabios index 6362a311..0757db9d 100755 --- a/resources/scripts/build/clean/seabios +++ b/resources/scripts/build/clean/seabios @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: clean the dependencies that were built in seabios # diff --git a/resources/scripts/build/clean/u-boot b/resources/scripts/build/clean/u-boot index 5d9a324a..6a59a5c1 100755 --- a/resources/scripts/build/clean/u-boot +++ b/resources/scripts/build/clean/u-boot @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: clean the u-boot builds # diff --git a/resources/scripts/build/dependencies/arch b/resources/scripts/build/dependencies/arch index 91210191..c20a1faf 100644 --- a/resources/scripts/build/dependencies/arch +++ b/resources/scripts/build/dependencies/arch @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # arch script: installs build dependencies for Arch Linux # diff --git a/resources/scripts/build/dependencies/debian b/resources/scripts/build/dependencies/debian index 789ee749..fb0ae248 100755 --- a/resources/scripts/build/dependencies/debian +++ b/resources/scripts/build/dependencies/debian @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # ubuntu2004 script: installs build dependencies for Ubuntu 20.04 # diff --git a/resources/scripts/build/dependencies/fedora38 b/resources/scripts/build/dependencies/fedora38 index 396300e8..2389b806 100755 --- a/resources/scripts/build/dependencies/fedora38 +++ b/resources/scripts/build/dependencies/fedora38 @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # Fedora script: installs build dependencies for Fedora # diff --git a/resources/scripts/build/dependencies/parabola b/resources/scripts/build/dependencies/parabola index c841c7c2..da284bed 100755 --- a/resources/scripts/build/dependencies/parabola +++ b/resources/scripts/build/dependencies/parabola @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # parabola script: installs build dependencies for Parabola GNU/Linux-libre # based on the arch script diff --git a/resources/scripts/build/dependencies/ubuntu2004 b/resources/scripts/build/dependencies/ubuntu2004 index dda88fde..14a1d8c2 100755 --- a/resources/scripts/build/dependencies/ubuntu2004 +++ b/resources/scripts/build/dependencies/ubuntu2004 @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # ubuntu2004 script: installs build dependencies for Ubuntu 20.04 # diff --git a/resources/scripts/build/dependencies/void b/resources/scripts/build/dependencies/void index bbd00a15..e46cd5ee 100755 --- a/resources/scripts/build/dependencies/void +++ b/resources/scripts/build/dependencies/void @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # void script: installs build dependencies for Void Linux # diff --git a/resources/scripts/build/descriptors/ich9m b/resources/scripts/build/descriptors/ich9m index 35cc9570..b9a077d9 100755 --- a/resources/scripts/build/descriptors/ich9m +++ b/resources/scripts/build/descriptors/ich9m @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # Copyright (C) 2020, 2023 Leah Rowe <info@minifree.org> # diff --git a/resources/scripts/build/module/cbutils b/resources/scripts/build/module/cbutils index 526467bd..b362ee7a 100755 --- a/resources/scripts/build/module/cbutils +++ b/resources/scripts/build/module/cbutils @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: build various coreboot utilities # @@ -44,7 +44,7 @@ build_for_mainboard() { [ ! -f "resources/coreboot/${board}/board.cfg" ] && \ continue cbtree="undefined" - source "resources/coreboot/${board}/board.cfg" # source + . "resources/coreboot/${board}/board.cfg" # source if [ "${cbtree}" = "undefined" ]; then printf "build/cbutils: improper cbtree definition for '%s'" \ "${board}" @@ -58,7 +58,7 @@ buildutils() { if [ ! -d "coreboot/${cbtree}/" ]; then ./download coreboot $cbtree || return 1 fi - for util in {cbfs,ifd}tool; do + for util in cbfstool ifdtool; do make -j$(nproc) -BC "coreboot/${cbtree}/util/${util}/" \ || return 1 done diff --git a/resources/scripts/build/module/flashrom b/resources/scripts/build/module/flashrom index c1641d94..37f57ce0 100755 --- a/resources/scripts/build/module/flashrom +++ b/resources/scripts/build/module/flashrom @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: builds flashrom source code # diff --git a/resources/scripts/build/module/grub b/resources/scripts/build/module/grub index 4d2009ed..5cf58a67 100755 --- a/resources/scripts/build/module/grub +++ b/resources/scripts/build/module/grub @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: builds GRUB2 source code # diff --git a/resources/scripts/build/module/ich9utils b/resources/scripts/build/module/ich9utils index 5a9fbe4b..5473a513 100755 --- a/resources/scripts/build/module/ich9utils +++ b/resources/scripts/build/module/ich9utils @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: build ich9utils # diff --git a/resources/scripts/build/module/memtest86plus b/resources/scripts/build/module/memtest86plus index f57b7c57..7fc46be9 100755 --- a/resources/scripts/build/module/memtest86plus +++ b/resources/scripts/build/module/memtest86plus @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: builds memtest86+ source code # diff --git a/resources/scripts/build/payload/grub b/resources/scripts/build/payload/grub index 7569fd86..23765f47 100755 --- a/resources/scripts/build/payload/grub +++ b/resources/scripts/build/payload/grub @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # generate GRUB ELF files (coreboot payload) and configuration files # @@ -24,7 +24,7 @@ set -u -e grubcfgsdir="resources/grub" keymap="" -source "${grubcfgsdir}/modules.list" +. "${grubcfgsdir}/modules.list" main() { diff --git a/resources/scripts/build/payload/seabios b/resources/scripts/build/payload/seabios index ed31e3bb..f822a019 100755 --- a/resources/scripts/build/payload/seabios +++ b/resources/scripts/build/payload/seabios @@ -1,8 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: builds SeaBIOS source code # # Copyright (C) 2020, 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 @@ -36,7 +37,9 @@ main() done # clean it again. gotta keep it clean! - [[ -f Makefile ]] && make -C seabios distclean + if [ -f seabios/Makefile ]; then + make distclean -BC seabios || exit 1 + fi printf "Done! SeaBIOS files are in %s/\n\n" ${payloaddir} } diff --git a/resources/scripts/build/payload/u-boot b/resources/scripts/build/payload/u-boot index bc1cf997..bff41400 100755 --- a/resources/scripts/build/payload/u-boot +++ b/resources/scripts/build/payload/u-boot @@ -3,6 +3,7 @@ # helper script: builds U-Boot source code # # Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> +# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com> # Copyright (C) 2023 Leah Rowe <leah@libreboot.org> # # This program is free software: you can redistribute it and/or modify @@ -96,7 +97,7 @@ handle_dependencies() fi # Override the above defaults using board.cfg - source "${board_dir}/board.cfg" # source + . "${board_dir}/board.cfg" # source if [ "${ubtree}" = "undefined" ]; then printf "build/u-boot %s: ubtree undefined\n" \ @@ -161,7 +162,12 @@ build_uboot_elf() make -C "${ubdir}" olddefconfig make -C "${ubdir}" -j"$(nproc)" all - for f in "${ubdir}"/u-boot{,.bin,.dtb,.img,.itb,.elf}; do + for f in "${ubdir}"/u-boot "${ubdir}"/u-boot.bin \ + "${ubdir}"/u-boot.dtb \ + "${ubdir}"/u-boot.img \ + "${ubdir}"/u-boot.itb \ + "${ubdir}"/u-boot.elf + do if [ -f "$f" ]; then mv "$f" "${dest_dir}/" fi diff --git a/resources/scripts/build/release/roms b/resources/scripts/build/release/roms index 4a66ffa3..33200cc4 100755 --- a/resources/scripts/build/release/roms +++ b/resources/scripts/build/release/roms @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: generate release archive (ROM images) # diff --git a/resources/scripts/build/release/src b/resources/scripts/build/release/src index 4c5e3bb0..09a9810e 100755 --- a/resources/scripts/build/release/src +++ b/resources/scripts/build/release/src @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: generate release archive (source code) # |