summaryrefslogtreecommitdiff
path: root/resources/scripts/build/boot
diff options
context:
space:
mode:
authorFerass 'Vitali64' EL HAFIDI <vitali64pmemail@protonmail.com>2022-12-16 19:45:54 +0100
committerLeah Rowe <leah@libreboot.org>2022-12-27 15:50:41 +0000
commitf787044642236917c9c4dbcaa48a6b0648097db0 (patch)
tree4754a1b97ac3ed64d11c27c8399a3754e2a76a52 /resources/scripts/build/boot
parentd45b2e70dcba4a36f504ed6f168112236bf9d7bf (diff)
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>
Diffstat (limited to 'resources/scripts/build/boot')
-rwxr-xr-xresources/scripts/build/boot/roms14
-rwxr-xr-xresources/scripts/build/boot/roms_helper22
2 files changed, 19 insertions, 17 deletions
diff --git a/resources/scripts/build/boot/roms b/resources/scripts/build/boot/roms
index d4368689..7f4e8422 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
@@ -6,6 +6,7 @@
# Copyright (C) 2014, 2015, 2016, 2020, 2021 Leah Rowe <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
@@ -80,6 +81,7 @@ buildrom() {
}
if [ $# -gt 0 ]; then
+ boards=
firstoption="${1}"
if [ "${firstoption}" = "help" ]; then
help
@@ -90,19 +92,19 @@ if [ $# -gt 0 ]; then
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 9f99b859..5e279c48 100755
--- a/resources/scripts/build/boot/roms_helper
+++ b/resources/scripts/build/boot/roms_helper
@@ -1,9 +1,9 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: create ROM images for a given mainboard
#
# 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 Alper Nebi Yasak <alpernebiyasak@gmail.com>
#
@@ -33,16 +33,16 @@ projectname="$(cat projectname)"
displaymodes=""
payloads=""
keyboard_layouts=""
-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} ;;
@@ -79,7 +79,7 @@ payload_memtest="n"
payload_uboot="n"
uboot_config="undefined"
# Override the above defaults using board.cfg
-source "resources/coreboot/${board}/board.cfg"
+. "resources/coreboot/${board}/board.cfg"
if [ "${grub_scan_disk}" = "undefined" ]; then
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}"
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
cp ${rompath} ${newrompath}
fi
@@ -316,8 +316,8 @@ moverom() {
done
if [ "${cuttype}" = "i945 laptop" ]; then
- 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=${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
rm -f top64k.bin
fi
}
@@ -479,7 +479,7 @@ mkRomsWithGrub() {
keymaps="resources/grub/keymap/*"
else
for keymapname in ${keyboard_layouts}; do
- keymaps+="resources/grub/keymap/${keymapname}.gkb"
+ keymaps="${keymaps} resources/grub/keymap/${keymapname}.gkb"
done
fi
for keymapfile in ${keymaps}; do