Do not rely on bashisms and behaviour undefined by the POSIX specification.

By making lbmk fully POSIX-compliant, it will be easier to port lbmk to
other systems implementing POSIX such as Alpine Linux and FreeBSD.

Signed-off-by: Ferass 'Vitali64' EL HAFIDI <vitali64pmemail@protonmail.com>
fsdg20230625
Ferass 'Vitali64' EL HAFIDI 2022-12-16 19:45:54 +01:00 committed by Leah Rowe
parent d45b2e70dc
commit f787044642
41 changed files with 97 additions and 81 deletions

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/bin/sh
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com> # SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# SPDX-License-Identifier: GPL-3.0-only # SPDX-License-Identifier: GPL-3.0-only

View File

@ -5,6 +5,7 @@
# See docs/maintain/ and docs/git/ for information about the build system # See docs/maintain/ and docs/git/ for information about the build system
# #
# Copyright (C) 2020, 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2020, 2021 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 # 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 # it under the terms of the GNU General Public License as published by
@ -20,10 +21,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
.PHONY: all check download modules ich9m-descriptors payloads roms release \ .POSIX:
clean crossgcc-clean install-dependencies-ubuntu \
install-dependencies-debian install-dependencies-arch \ #.PHONY: all check download modules ich9m-descriptors payloads roms release \
install-dependencies-void # clean crossgcc-clean install-dependencies-ubuntu \
# install-dependencies-debian install-dependencies-arch \
# install-dependencies-void
all: roms all: roms

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/bin/sh
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com> # SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# SPDX-License-Identifier: GPL-3.0-only # SPDX-License-Identifier: GPL-3.0-only

2
build
View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/bin/sh
# generic build script, for building components (all of them) # generic build script, for building components (all of them)
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/bin/sh
# Generic script for downloading programs used by the build system # Generic script for downloading programs used by the build system
# #

2
modify
View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/bin/sh
# generic scripts for modifying configs and such # generic scripts for modifying configs and such
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# #
# helper script: build coreboot images with various payloads # helper script: build coreboot images with various payloads
@ -6,6 +6,7 @@
# Copyright (C) 2014, 2015, 2016, 2020, 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2014, 2015, 2016, 2020, 2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> # Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com> # 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 # 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 # it under the terms of the GNU General Public License as published by
@ -80,6 +81,7 @@ buildrom() {
} }
if [ $# -gt 0 ]; then if [ $# -gt 0 ]; then
boards=
firstoption="${1}" firstoption="${1}"
if [ "${firstoption}" = "help" ]; then if [ "${firstoption}" = "help" ]; then
help help
@ -90,19 +92,19 @@ if [ $# -gt 0 ]; then
exit 0 exit 0
fi fi
while [[ $# > 0 ]]; do while [ $# -gt 0 ]; do
case ${1} in case ${1} in
-d) -d)
opts+=" -d ${2}" opts="${opts} -d ${2}"
shift ;; shift ;;
-p) -p)
opts+=" -p ${2}" opts="${opts} -p ${2}"
shift ;; shift ;;
-k) -k)
opts+=" -k ${2}" opts="${opts} -k ${2}"
shift ;; shift ;;
*) *)
boards+="${1} " ;; boards="${boards} ${1} " ;;
esac esac
shift shift
done done

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: create ROM images for a given mainboard # helper script: create ROM images for a given mainboard
# #
# Copyright (C) 2020,2021 Leah Rowe <info@minifree.org> # Copyright (C) 2020,2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2021 Vitali64 <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 Caleb La Grange <thonkpeasant@protonmail.com>
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> # Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
# #
@ -33,16 +33,16 @@ projectname="$(cat projectname)"
displaymodes="" displaymodes=""
payloads="" payloads=""
keyboard_layouts="" keyboard_layouts=""
while [[ $# > 0 ]]; do while [ $# -gt 0 ]; do
case ${1} in case ${1} in
-d) -d)
displaymodes+="${2}" displaymodes="${displaymodes}${2}"
shift ;; shift ;;
-p) -p)
payloads+="${2}" payloads="${payloads}${2}"
shift ;; shift ;;
-k) -k)
keyboard_layouts+="${2}" keyboard_layouts="${keyboard_layouts}${2}"
shift ;; shift ;;
*) *)
board=${1} ;; board=${1} ;;
@ -79,7 +79,7 @@ payload_memtest="n"
payload_uboot="n" payload_uboot="n"
uboot_config="undefined" uboot_config="undefined"
# Override the above defaults using board.cfg # Override the above defaults using board.cfg
source "resources/coreboot/${board}/board.cfg" . "resources/coreboot/${board}/board.cfg"
if [ "${grub_scan_disk}" = "undefined" ]; then if [ "${grub_scan_disk}" = "undefined" ]; then
printf "build/roms: Target %s does not define grub_scan_disk. Defaulting to 'both'.\n" "${board}" printf "build/roms: Target %s does not define grub_scan_disk. Defaulting to 'both'.\n" "${board}"
@ -295,7 +295,7 @@ moverom() {
printf "\nCreating new ROM image: %s\n" "${newrompath}" printf "\nCreating new ROM image: %s\n" "${newrompath}"
if [ "${cuttype}" = "4MiB IFD BIOS region" ]; then if [ "${cuttype}" = "4MiB IFD BIOS region" ]; then
dd if=${rompath} of=${newrompath} bs=1 skip=$[$(stat -c %s ${rompath}) - 0x400000] count=4194304 dd if=${rompath} of=${newrompath} bs=1 skip=$(($(stat -c %s ${rompath}) - 0x400000)) count=4194304
else else
cp ${rompath} ${newrompath} cp ${rompath} ${newrompath}
fi fi
@ -316,8 +316,8 @@ moverom() {
done done
if [ "${cuttype}" = "i945 laptop" ]; then if [ "${cuttype}" = "i945 laptop" ]; then
dd if=${newrompath} of=top64k.bin bs=1 skip=$[$(stat -c %s ${newrompath}) - 0x10000] count=64k dd if=${newrompath} of=top64k.bin bs=1 skip=$(($(stat -c %s ${newrompath}) - 0x10000)) count=64k
dd if=top64k.bin of=${newrompath} bs=1 seek=$[$(stat -c %s ${newrompath}) - 0x20000] count=64k conv=notrunc dd if=top64k.bin of=${newrompath} bs=1 seek=$(($(stat -c %s ${newrompath}) - 0x20000)) count=64k conv=notrunc
rm -f top64k.bin rm -f top64k.bin
fi fi
} }
@ -479,7 +479,7 @@ mkRomsWithGrub() {
keymaps="resources/grub/keymap/*" keymaps="resources/grub/keymap/*"
else else
for keymapname in ${keyboard_layouts}; do for keymapname in ${keyboard_layouts}; do
keymaps+="resources/grub/keymap/${keymapname}.gkb" keymaps="${keymaps} resources/grub/keymap/${keymapname}.gkb"
done done
fi fi
for keymapfile in ${keymaps}; do for keymapfile in ${keymaps}; do

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: clean the dependencies that were built in coreboot # helper script: clean the dependencies that were built in coreboot
# #
# Copyright (C) 2014, 2015, 2016, 2020 Leah Rowe <info@minifree.org> # 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 # 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 # 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 make -C "${board}/" distclean
# Clean its utilities as well # 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 make -C "${board}/util/${util}/" clean
done done
make -C "${board}/payloads/libpayload/" distclean make -C "${board}/payloads/libpayload/" distclean

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: clean the crossgcc builds # helper script: clean the crossgcc builds
# #
# Copyright (C) 2014, 2015, 2016, 2020 Leah Rowe <info@minifree.org> # 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 # 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 # it under the terms of the GNU General Public License as published by

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: clean the dependencies that were built in flashrom # helper script: clean the dependencies that were built in flashrom
# #
# Copyright (C) 2014, 2015 Leah Rowe <info@minifree.org> # 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 # 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 # it under the terms of the GNU General Public License as published by

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: clean the dependencies that were built in GRUB # helper script: clean the dependencies that were built in GRUB
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: clean the previous build of ich9utils # helper script: clean the previous build of ich9utils
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: clean the dependencies that were built in memtest86+ # helper script: clean the dependencies that were built in memtest86+
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: nothing to see here, forks! # helper script: nothing to see here, forks!
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: delete the ROM images # helper script: delete the ROM images
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: clean the dependencies that were built in seabios # helper script: clean the dependencies that were built in seabios
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: clean the u-boot builds # helper script: clean the u-boot builds
# #

View File

@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# arch script: installs build dependencies for Arch Linux # arch script: installs build dependencies for Arch Linux
# #
# Copyright (C) 2021 Melissa Goad <mszoopers@protonmail.com> # Copyright (C) 2021 Melissa Goad <mszoopers@protonmail.com>
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com> # 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 # 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 # it under the terms of the GNU General Public License as published by
@ -20,7 +21,7 @@
# #
if [ $EUID -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
printf "This script must be run as root\n" printf "This script must be run as root\n"
exit 1 exit 1
fi fi

View File

@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# ubuntu2004 script: installs build dependencies for Ubuntu 20.04 # ubuntu2004 script: installs build dependencies for Ubuntu 20.04
# #
# Copyright (C) 2014, 2015, 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2014, 2015, 2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com> # 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 # 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 # it under the terms of the GNU General Public License as published by
@ -18,7 +19,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
if [ $EUID -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
printf "This script must be run as root\n" printf "This script must be run as root\n"
exit 1 exit 1
fi fi

View File

@ -1,10 +1,11 @@
#!/bin/bash #!/usr/bin/env sh
# Fedora script: installs build dependencies for Fedora # Fedora script: installs build dependencies for Fedora
# #
# Copyright (C) 2021 Melody Goad <mszoopers@protonmail.com> # Copyright (C) 2021 Melody Goad <mszoopers@protonmail.com>
# Copyright (C) 2021 Wei Mingzhi <whistler@member.fsf.org> # Copyright (C) 2021 Wei Mingzhi <whistler@member.fsf.org>
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com> # 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 # 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 # it under the terms of the GNU General Public License as published by
@ -20,7 +21,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
if [ $EUID -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
printf "This script must be run as root\n" printf "This script must be run as root\n"
exit 1 exit 1
fi fi

View File

@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# ubuntu2004 script: installs build dependencies for Ubuntu 20.04 # ubuntu2004 script: installs build dependencies for Ubuntu 20.04
# #
# Copyright (C) 2014, 2015, 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2014, 2015, 2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com> # 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 # 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 # it under the terms of the GNU General Public License as published by
@ -18,7 +19,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
if [ $EUID -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
printf "This script must be run as root\n" printf "This script must be run as root\n"
exit 1 exit 1
fi fi

View File

@ -1,8 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# void script: installs build dependencies for Void Linux # void script: installs build dependencies for Void Linux
# #
# Copyright (C) 2021 Caleb La Grange <thonkpeasant@protonmail.com> # Copyright (C) 2021 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 # 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 # it under the terms of the GNU General Public License as published by
@ -18,7 +19,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
if [ $EUID -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
printf "This script must be run as root\n" printf "This script must be run as root\n"
exit 1 exit 1
fi fi

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# Copyright (C) 2020 Leah Rowe <info@minifree.org> # Copyright (C) 2020 Leah Rowe <info@minifree.org>
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: build various coreboot utilities # helper script: build various coreboot utilities
# #
@ -34,7 +34,7 @@ buildutils() {
printf "build/cbutils: coreboot/%s not found. Exiting\n" "${cbtree}" printf "build/cbutils: coreboot/%s not found. Exiting\n" "${cbtree}"
return 1 return 1
fi fi
for util in {cbfs,ifd}tool; do for util in cbfstool ifdtool; do
( (
cd "coreboot/${cbtree}/util/${util}/" cd "coreboot/${cbtree}/util/${util}/"
make -j$(nproc) || return 1 make -j$(nproc) || return 1
@ -52,7 +52,7 @@ buildfromboardconfig() {
continue continue
fi fi
cbtree="undefined" cbtree="undefined"
source "resources/coreboot/${board}/board.cfg" . "resources/coreboot/${board}/board.cfg" # source
if [ "${cbtree}" = "undefined" ]; then if [ "${cbtree}" = "undefined" ]; then
printf "build/cbutils: improper cbtree definition for '%s'" "${board}" printf "build/cbutils: improper cbtree definition for '%s'" "${board}"
return 1 return 1

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: builds flashrom source code # helper script: builds flashrom source code
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: builds GRUB2 source code # helper script: builds GRUB2 source code
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: build ich9utils # helper script: build ich9utils
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: builds memtest86+ source code # helper script: builds memtest86+ source code
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# generate GRUB ELF files (coreboot payload) and configuration files # generate GRUB ELF files (coreboot payload) and configuration files
# #
@ -22,7 +22,7 @@
set -u -e set -u -e
# This is where GRUB is expected to be (outside of the grub-assemble, instead in main checkout) # This is where GRUB is expected to be (outside of the grub-assemble, instead in main checkout)
source "resources/grub/modules.list" . "resources/grub/modules.list" # source
printf "Creating GRUB payloads and configuration files\n" printf "Creating GRUB payloads and configuration files\n"

View File

@ -1,8 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: builds SeaBIOS source code # helper script: builds SeaBIOS source code
# #
# Copyright (C) 2020, 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2020, 2021 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 # 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 # it under the terms of the GNU General Public License as published by
@ -38,7 +39,7 @@ fi
cd seabios/ cd seabios/
# for libgfxinit setup: # for libgfxinit setup:
[[ -f Makefile ]] && make distclean [ -f Makefile ] && make distclean
cp ../resources/seabios/config/libgfxinit .config cp ../resources/seabios/config/libgfxinit .config
make silentoldconfig -j$(nproc) make silentoldconfig -j$(nproc)
make -j$(nproc) make -j$(nproc)
@ -47,7 +48,7 @@ mv out/vgabios.bin ../payload/seabios/seavgabios.bin
rm .config rm .config
# for vgarom setup: # for vgarom setup:
[[ -f Makefile ]] && make distclean [ -f Makefile ] && make distclean
cp ../resources/seabios/config/vgarom .config cp ../resources/seabios/config/vgarom .config
make silentoldconfig -j$(nproc) make silentoldconfig -j$(nproc)
make -j$(nproc) make -j$(nproc)
@ -55,7 +56,7 @@ mv out/bios.bin.elf ../payload/seabios/seabios_vgarom.elf
rm .config rm .config
# clean it again. gotta keep it clean! # clean it again. gotta keep it clean!
[[ -f Makefile ]] && make distclean [ -f Makefile ] && make distclean
printf "Done! SeaBIOS files are in payload/seabios/\n\n" printf "Done! SeaBIOS files are in payload/seabios/\n\n"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# helper script: builds U-Boot source code # helper script: builds U-Boot source code
# #
# Copyright (C) 2020, 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2020, 2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2021 Vitali64 <vitali64pmemail@protonmail.com> # Copyright (C) 2021, 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> # Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -63,7 +63,7 @@ for board in "$@"; do
fi fi
# Override the above defaults using board.cfg # Override the above defaults using board.cfg
source "${board_dir}/board.cfg" . "${board_dir}/board.cfg" # source
if [ "${ubtree}" = "undefined" ]; then if [ "${ubtree}" = "undefined" ]; then
printf "%s: Target %s does not define a U-Boot tree. Skipping build.\n" \ printf "%s: Target %s does not define a U-Boot tree. Skipping build.\n" \
@ -119,7 +119,8 @@ for board in "$@"; do
make -C "${ubdir}" olddefconfig make -C "${ubdir}" olddefconfig
make -C "${ubdir}" -j"$(nproc)" all 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 if [ -f "$f" ]; then
mv "$f" "${dest_dir}/" mv "$f" "${dest_dir}/"
fi fi

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# #
# helper script: generate release archive (ROM images) # helper script: generate release archive (ROM images)

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# #
# helper script: generate release archive (source code) # helper script: generate release archive (source code)

View File

@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# #
# helper script: modify coreboot configs (run make menuconfig) # helper script: modify coreboot configs (run make menuconfig)
# #
# Copyright (C) 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2021 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 # 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 # it under the terms of the GNU General Public License as published by
@ -32,7 +33,7 @@ modifyconf() {
board="$1" board="$1"
if [ -f "resources/coreboot/${board}/board.cfg" ]; then if [ -f "resources/coreboot/${board}/board.cfg" ]; then
cbtree="undefined" cbtree="undefined"
source "resources/coreboot/${board}/board.cfg" . "resources/coreboot/${board}/board.cfg" # source
if [ "${cbtree}" = "undefined" ]; then if [ "${cbtree}" = "undefined" ]; then
return 0 return 0
fi fi

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# #
# helper script: modify coreboot configs (run make menuconfig) # helper script: modify coreboot configs (run make menuconfig)

View File

@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# #
# helper script: modify U-Boot configs (run make menuconfig) # helper script: modify U-Boot configs (run make menuconfig)
# #
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> # Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# #
# This program is free software: you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -32,7 +33,7 @@ modifyconf() {
board="$1" board="$1"
if [ -f "resources/u-boot/${board}/board.cfg" ]; then if [ -f "resources/u-boot/${board}/board.cfg" ]; then
ubtree="undefined" ubtree="undefined"
source "resources/u-boot/${board}/board.cfg" . "resources/u-boot/${board}/board.cfg" # source
if [ "${ubtree}" = "undefined" ]; then if [ "${ubtree}" = "undefined" ]; then
return 0 return 0
fi fi

View File

@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# #
# helper script: update coreboot configs (run make oldconfig) # helper script: update coreboot configs (run make oldconfig)
# #
# Copyright (C) 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2021 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 # 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 # it under the terms of the GNU General Public License as published by
@ -32,7 +33,7 @@ updateconf() {
board="$1" board="$1"
if [ -f "resources/coreboot/${board}/board.cfg" ]; then if [ -f "resources/coreboot/${board}/board.cfg" ]; then
cbtree="undefined" cbtree="undefined"
source "resources/coreboot/${board}/board.cfg" . "resources/coreboot/${board}/board.cfg" # source
if [ "${cbtree}" = "undefined" ]; then if [ "${cbtree}" = "undefined" ]; then
return 0 return 0
fi fi

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# #
# helper script: update coreboot configs (run make oldconfig) # helper script: update coreboot configs (run make oldconfig)

View File

@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env sh
# #
# helper script: update U-Boot configs (run make oldconfig) # helper script: update U-Boot configs (run make oldconfig)
# #
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> # Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# #
# This program is free software: you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -32,7 +33,7 @@ updateconf() {
board="$1" board="$1"
if [ -f "resources/u-boot/${board}/board.cfg" ]; then if [ -f "resources/u-boot/${board}/board.cfg" ]; then
ubtree="undefined" ubtree="undefined"
source "resources/u-boot/${board}/board.cfg" . "resources/u-boot/${board}/board.cfg" # source
if [ "${ubtree}" = "undefined" ]; then if [ "${ubtree}" = "undefined" ]; then
return 0 return 0
fi fi

2
update
View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/bin/sh
# generic update scripts for updating configs and such # generic update scripts for updating configs and such
# #