Skip to content

Instantly share code, notes, and snippets.

@dewomser
Last active October 31, 2021 09:54
Show Gist options
  • Select an option

  • Save dewomser/83960df7ae0c407c30b447166d3e0680 to your computer and use it in GitHub Desktop.

Select an option

Save dewomser/83960df7ae0c407c30b447166d3e0680 to your computer and use it in GitHub Desktop.
Raspberry Pi download hash-check
#!/bin/bash
cd ~/Downloads || exit
### Raspbian heißt jetzt Raspios ###
## Welches Raspios steht in $rimage: ##
#rimage ="raspios_lite_armhf"
rimage="raspios_full_armhf"
dirr=$(curl --silent https://downloads.raspberrypi.org/$rimage/images/ | grep -o -E "$rimage-[0-9]{4}-[0-9]{2}-[0-9]{2}" | tail -1 )
pathr="https://downloads.raspberrypi.org/$rimage/images/$dirr/"
rname=$(curl --silent $pathr | grep -o -E -w "[0-9]{4}-[0-9]{2}-[0-9]{2}-[[:lower:]-]*\.zip" | head -1)
wget -erobots=off $pathr$rname -O raspi.zip
#echo Test kompletter Pfad :: $pathr$rname
shaname=$(curl --silent $pathr | grep -o -E -w "[0-9]{4}-[0-9]{2}-[0-9]{2}-[[:lower:]-]*\.zip\.sha256" | head -1)
#echo Test kompletter sha256-Pfad :: $pathr$shaname
wget $pathr$shaname -O raspi.sha256
echo "Bitte ein paar Sekunden warten. Der Hash wird erzeugt."
sha1=$(shasum -a 256 raspi.zip | grep -o -P "[0-9a-z]{40,}")
sha2=$(cat raspi.sha256 | grep -o -P "[0-9a-z]{40,}")
sleep 1
echo Prüfsumme aus Download $sha1
echo Prüfsumme von Webseite $sha2
if [ "$sha1" == "$sha2" ]; then
echo "Prüfsumme stimmt"
echo "-----------------"
echo "SD-Karte auf die geschieben werden soll ENTFERNEN !" \"y\"
read input
if [ "$input" == "y" ]; then
laufwerke=($(lsblk -l -o Name | egrep -v [0-9] | egrep sd[a-z]))
else
exit
fi
echo Es gibt diese seriellen Blockdevices "${laufwerke[@]}"
echo SD- Karte, die überschrieben werden soll einstecken, \"y\"
read input
if [ "$input" == "y" ]; then
laufwerke1=($(lsblk -l -o Name | egrep -v [0-9] | egrep sd[a-z]))
laufwerke2=($({ printf "%s\n" "${laufwerke[@]}" | sort -u; printf "%s\n" "${laufwerke1[@]}" "${laufwerke[@]}"; } | sort | uniq -u))
echo Es gibt jetzt dieses neue seriellen Blockdevices "${laufwerke2[@]}"
else
exit
fi
echo Ich bin mir SICHER und will auf SD Karte schreiben ! "${laufwerke2[@]}" \"y\" oder \"n\"
read endgueltigja
if [ "$endgueltigja" == "y" ]; then
# das hier aktivieren --TOTENKOPF--- zum Schreiben
#unzip raspi.zip | dd of=/dev/${laufwerke2[@]} status=progress
echo "Tatatatah ! fertig"
else
exit
fi
else
echo "Achtung,Prüfsumme stimmt nicht überein !"
fi
#http://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-05-28/2021-05-07-raspios-buster-armhf-full.zip
@dewomser

dewomser commented Jul 2, 2019

Copy link
Copy Markdown
Author

Erstes pre alpha.
Wenn die Kommentare richtig gesetzt sind, geht schon was.
Mit äußerster Vorsicht probieren. Es kann viel kaputt gehen !
Nicht getestet, nur teilweise probiert.

@dewomser

Copy link
Copy Markdown
Author

immer noch prealpha
Raspbian heißt jetzt Raspios

@dewomser

Copy link
Copy Markdown
Author

alphaversion 0.1
Wer mutig ist darf Zeile 47 aktivieren

@dewomser

Copy link
Copy Markdown
Author

allphaversion 0.2
Raspios ist jetzt wählbar

Under heavy Construction !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment