mirror of
https://github.com/dewomser/Raspi-auto-downloader.git
synced 2026-03-13 16:57:16 +01:00
Compare commits
No commits in common. "main" and "zip" have entirely different histories.
3 changed files with 3 additions and 122 deletions
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
|
|
@ -10,6 +10,6 @@ jobs:
|
|||
name: Shellcheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Run ShellCheck
|
||||
uses: ludeeus/action-shellcheck@master
|
||||
|
|
|
|||
|
|
@ -1,119 +0,0 @@
|
|||
#!/bin/bash
|
||||
# gemacht von Stefan Höhn
|
||||
#https://github.com/dewomser/Raspi-auto-downloader
|
||||
#ACHTUNG : Zeile 106-112 Beachten !
|
||||
attribut=$1
|
||||
# datum="[0-9]{4}-[0-9]{2}-[0-9]{2}"
|
||||
url="https://dietpi.com/downloads/images/"
|
||||
if [[ "$attribut" = "-h" ]]
|
||||
then
|
||||
echo "
|
||||
Aufruf dietpi-install.sh [OPTION]
|
||||
|
||||
Option Bedeutung
|
||||
-1 dietpi für Raspberry v1 ARMv6
|
||||
-2 dietpi für Raspberry v2 ARNv7
|
||||
-234 dietpi für Raspberry v2-4 ARMv8
|
||||
-h Diese Hilfe
|
||||
-5 dietpi für Raspberrx v5 ARMv8
|
||||
|
||||
" && exit
|
||||
elif [[ "$attribut" = "-1" ]]
|
||||
then
|
||||
rimage="DietPi_RPi1-ARMv6-Trixie"
|
||||
elif [[ "$attribut" = "-2" ]]
|
||||
then
|
||||
rimage="DietPi_RPi2-ARMv7-Trixie"
|
||||
|
||||
elif [[ "$attribut" = "-234" ]]
|
||||
then
|
||||
rimage="DietPi_RPi234-ARM8-Trixie"
|
||||
|
||||
elif [[ "$attribut" = "-5" ]]
|
||||
then
|
||||
rimage="DietPi_RPi5-ARMv8-Trixie"
|
||||
|
||||
else
|
||||
echo "Kein Pi-Image ausgewählt. \"raspi-install.sh -h \" für Hilfe!" && exit
|
||||
fi
|
||||
|
||||
|
||||
cd "$HOME/Downloads" || echo"Downloads Ordner nicht vorhanden"
|
||||
|
||||
#https://dietpi.com/downloads/images/DietPi_RPi2-ARMv7-Trixie.img.xz
|
||||
|
||||
pathr="$url$rimage.img.xz"
|
||||
pathrs="$pathr.sha256"
|
||||
|
||||
# -c
|
||||
wget -c "$pathr" -O "$rimage.img.xz"
|
||||
wget "$pathrs" -O "$rimage.img.xz.sha256"
|
||||
echo "Bitte ein paar Sekunden warten. Der Hash wird erzeugt."
|
||||
sha1=$(shasum -a 256 "$rimage.img.xz")
|
||||
sha2=$(cat "$rimage.img.xz.sha256")
|
||||
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 geschrieben werden soll ENTFERNEN !" \"y\"
|
||||
read -r input
|
||||
if [ "$input" == "y" ]; then
|
||||
mapfile -t laufwerke < <(lsblk -l -o Name | grep -E "^sd[a-z]*$")
|
||||
laufwerke[0]="lolo"
|
||||
laufwerke1[0]="lolo"
|
||||
else
|
||||
exit
|
||||
fi
|
||||
|
||||
echo Es gibt diese seriellen Blockdevices "${laufwerke[*]}"
|
||||
echo "SD-Karte auf die geschrieben werden soll EINSCHIEBEN !" \"y\"
|
||||
read -r input
|
||||
if [ "$input" == "y" ]; then
|
||||
mapfile -t laufwerke1 < <(lsblk -l -o Name |grep -E "^sd[a-z]*$")
|
||||
echo "${laufwerke1[0]}"
|
||||
mapfile -t laufwerke2 < <({ printf "%s\n" "${laufwerke[@]}" | sort -u; printf "%s\n" "${laufwerke1[@]}" "${laufwerke[@]}"; } | sort | uniq -u)
|
||||
zahl_laufwerke="${#laufwerke2[@]}"
|
||||
|
||||
|
||||
echo neu erkannte Es gibt jetzt dieses neue serielle Blockdevice: "${laufwerke2[@]}"
|
||||
echo Laufwerke ${#laufwerke2[@]}
|
||||
|
||||
echo lwo:"${laufwerke2[0]}"
|
||||
echo lw1:"${laufwerke2[1]}"
|
||||
|
||||
|
||||
if [ "$zahl_laufwerke" -eq 1 ]; then
|
||||
echo Es gibt jetzt dieses neue serielle Blockdevice: "${laufwerke2[0]}"
|
||||
else
|
||||
echo "Es kann nicht geschrieben werden. Es wurden mehr oder weniger als 1 SD-Karte erkannt" ; exit
|
||||
fi
|
||||
else
|
||||
exit
|
||||
fi
|
||||
|
||||
echo Ich bin mir SICHER und will auf SD-Karte schreiben : /dev/"${laufwerke2[0]}" \"y\" oder \"n\"
|
||||
|
||||
read -r endgueltigja
|
||||
if [ "$endgueltigja" == "y" ]; then
|
||||
|
||||
# Wenn die Karte nur als root gemountet werden kann, muss dd durch sudo dd ersetzt werden. umount -> sudo umount
|
||||
## sudo ddd – is now on
|
||||
# Alternative für Ubuntu:
|
||||
# echo 'KERNEL=="sd*", SUBSYSTEMS=="usb", MODE="0666"' | sudo tee /etc/udev/rules.d/99-usb-storage.rules
|
||||
# Quelle : https://askubuntu.com/questions/828545/using-dd-without-sudo
|
||||
|
||||
# Wenn die nächsten 3 Zeilen aktiviert sind: "don't blame me!"
|
||||
#umount /dev/"${laufwerke2[0]}"[0-9] > /dev/null 2>&1
|
||||
xz --keep --decompress dietpi"$attribut".xz
|
||||
sudo dd if=raspi"$attribut" of=/dev/"${laufwerke2[0]}" bs=4M conv=fsync status=progress || echo "Es gibt Probleme mit Schreibrechten.Ab Zeile 105 gibts Hilfe"
|
||||
echo "Tatatatah ! fertig"
|
||||
#umount /dev/"${laufwerke2[0]}"[0-9] > /dev/null 2>&1
|
||||
else
|
||||
exit
|
||||
fi
|
||||
else
|
||||
echo "Achtung,Prüfsumme stimmt nicht überein !"
|
||||
fi
|
||||
|
|
@ -51,11 +51,11 @@ fi
|
|||
cd "$HOME/Downloads" || echo"Downloads Ordner nicht vorhanden"
|
||||
|
||||
|
||||
dirr=$(curl --silent "https://downloads.raspberrypi.org/$rimage/images/" | grep -o -E "$rimage-$datum" | tail -1 )
|
||||
dirr=$(curl --silent https://downloads.raspberrypi.org/$rimage/images/ | grep -o -E "$rimage-$datum" | tail -1 )
|
||||
pathr="https://downloads.raspberrypi.org/$rimage/images/$dirr/"
|
||||
#rname=$(curl --silent "$pathr" | grep -o -E -w "$datum-[[:lower:]-]*\.zip" | head -1)
|
||||
#rname=$(curl --silent "$pathr" | grep -o -E "$datum-[[:alnum:]-]*\.xz" | head -1)
|
||||
rname=$(curl --silent "$pathr" | grep -o -E "$datum-[[:alnum:]-]*\.img\.xz"|tail -1)
|
||||
rname=$(curl --silent "$pathr" | grep -o -E "$datum-[[:alnum:]-]*\.img.\xz"|tail -1)
|
||||
|
||||
wget -c "$pathr""$rname" -O "raspi$attribut".xz
|
||||
#echo Test kompletter Pfad :: "$pathr""$rname"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue