summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid P <megver83@parabola.nu>2018-08-23 19:44:14 -0300
committerDavid P <megver83@parabola.nu>2018-08-23 19:44:53 -0300
commit6b90e21b25d28256ab6b14dc80a3423b5f41376a (patch)
tree44e4b7aaee7e1e7a5618b728b253f9432ae8865a
parent1d81e688590114d2342e7a444d80101c32cdcadd (diff)
Update run.sh
Signed-off-by: David P <megver83@parabola.nu>
-rwxr-xr-xrun.sh41
1 files changed, 40 insertions, 1 deletions
diff --git a/run.sh b/run.sh
index 20cf728..1cdc810 100755
--- a/run.sh
+++ b/run.sh
@@ -37,6 +37,19 @@ will be set to "linux-libre.fsfla.org" and CONFIG_LOCALVERSION will be set to
what \$RESET was set.
When RESET='none' then it is considered to have an empty CONFIG_LOCALVERSION.
+
+If the \$FIRMWARE variable is set, then that value will be the same one
+for CONFIG_EXTRA_FIRMWARE. If you also want CONFIG_EXTRA_FIRMWARE_DIR, just
+do as following:
+
+ FIRMWARE='some_firmware.bin other_firm.elf:firmware'
+
+Where 'firmware' is the firmware directory. When this is empty, CONFIG_EXTRA_FIRMWARE_DIR
+gets removed. E.g.
+
+ FIRMWARE='some_firmware.bin other_firm.elf'
+
+When FIRMWARE='none', then CONFIG_EXTRA_FIRMWARE is left unset.
EOM
}
@@ -69,6 +82,7 @@ deblob() {
sed -i \
-e "s|$i=.*|# $i is not set|" \
"$reset" \
+ "$firmware" \
$1
sleep 0.2
done
@@ -120,13 +134,38 @@ if [[ $# -lt 1 ]]; then
usage
else
if ! [[ $RESET = "none" ]]; then
+ echo "RESET sedexp"
export reset="-e s|^CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\""$RESET"\"|;s|^CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME=\"\(none\)\"|;s|^CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=.*|CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=\"linux-libre.fsfla.org\"|"
echo "$reset"
elif [[ $RESET = "" ]]; then
unset reset
else
- export reset="-e s|^CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"\"|;s|^CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME=\"\(none\)\"|;s| ^CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=.*|CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=\"linux-libre.fsfla.org\"|"
+ echo "RESET sedexp"
+ export reset="-e s|^CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"\"|;s|^CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME=\"\(none\)\"|;s|^CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=.*|CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=\"linux-libre.fsfla.org\"|"
echo "$reset"
fi
+
+ if [[ $FIRMWARE = "none" ]]; then
+ echo "FIRMWARE sedexp"
+ export firmware="-e /^CONFIG_EXTRA_FIRMWARE_DIR/d;s|^CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"\"|"
+ echo "$firmware"
+ elif [[ $FIRMWARE = "" ]]; then
+ unset firmware
+ else
+ echo $FIRMWARE | grep : && \
+ extra_firmware=$(echo $FIRMWARE | cut -d ":" -f1) && \
+ extra_firmware_dir=$(echo $FIRMWARE | cut -d ":" -f2) || \
+ extra_firmware=$FIRMWARE
+
+ echo "FIRMWARE sedexp"
+ if ! [[ $extra_firmware = "" ]]; then
+ if ! [[ $extra_firmware_dir = "" ]]; then
+ export firmware="-e s|^CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\""$extra_firmware"\"|;s|^CONFIG_EXTRA_FIRMWARE_DIR=.*|CONFIG_EXTRA_FIRMWARE_DIR=\""$extra_firmware_dir"\"|"
+ else
+ export firmware="-e s|^CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\""$extra_firmware"\"|;/CONFIG_EXTRA_FIRMWARE_DIR/d"
+ fi
+ echo "$firmware"
+ fi
+ fi
main $args
fi