diff options
author | David P <megver83@parabola.nu> | 2018-08-23 19:44:14 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2018-08-23 19:44:53 -0300 |
commit | 6b90e21b25d28256ab6b14dc80a3423b5f41376a (patch) | |
tree | 44e4b7aaee7e1e7a5618b728b253f9432ae8865a | |
parent | 1d81e688590114d2342e7a444d80101c32cdcadd (diff) |
Update run.sh
Signed-off-by: David P <megver83@parabola.nu>
-rwxr-xr-x | run.sh | 41 |
1 files changed, 40 insertions, 1 deletions
@@ -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 |