Hallo Steamians,
heute nur kurz erklärt wie Ihr ein Betriebssystem auf den Raspberry Pi installieren könnt.
Bevor ihr ein Betriebssystem in Form eines images installiert, solltet Ihr den Pi zusammengebaut und angeschlossen haben. Wie das geht habe ich beschrieben in Raspberry Pi 4 Model B zusammenbauen.
Installation mittels Imager
Als erstes benötigt Ihr eine SD Karte, ich habe eine 32 GB große genutzt aber das sollte auch deutlich kleiner gehen.
Generell würde ich immer ein Betriebssystem ohne Desktop aufsetzen (aktuell unter dem Namen "Raspberry Pi OS Lite" gehandelt), weil ich den Pi für Aufgaben benötige die er alleine ohne Nutzerinteraktionen erledigen soll. Beispielsweise Spam Unterdrückung mit pi-hole oder Synchronisation von Ablagen für Musik und Bücher mittels resilio-sync. Am einfachsten geht es über den Raspberry Pi Imager welchen ihr auf der verlinkten Raspi Homepage herunterladen könnt.
Der Imager bietet genügend Auswahl für eine einfache selbsterklärende Installation. Wichtig ist, dass Ihr unter Optionen schon mal den Hostnamen, die SSH Authentifizierungsart, einen Pi Nutzeraccount mit Passwort und den WLAN Zugang festlegen solltet. Auch ein bisl Schnick Schnack wie Sprache, Zeitzone und Programmverhalten verringern die noch notwendige Arbeit. Hier meine Einstellungen:
Die Einträge sind natürlich nur Beispiele. Da der Nutzer früher Standard war, habe ich ihn als Beispiel eingetragen. Für die Sicherheit wäre es allerdings besser einen anderen Namen zu nutzen. Falls Ihr doch pi als Account wählt, wird Euch das System darauf hinweisen, dass es ungeschickt ist den Default Nutzer pi zu verwenden.
Unter dem Punkt Raspberry Pi OS (other) lassen sich auch die Varianten ohne Desktop auswählen. Falls ihr später resilio-sync installieren wollt, würde ich aktuell (12.06.2022) die 32 Bit Variante vom Betriebssystem nehmen, da ich kein 64 Bit Binary von resilio sync gefunden habe. Falls Eure zu installierenden Anwendungen nicht auf 32 Bit festgelegt sind, würde ich natürlich immer die 64 Bit Variante vom Betriebssystem und von den Programmen installieren.
Gut jetzt noch die SD Karte reinstecken und in der Auswahl die richtige SD Karte auswählen (da sollte man gut aufpassen und auf keinen Fall c: oder d: auswählen - sonst ist unter Windows, kein Windows mehr da) dann auf Schreiben und dann beginnt der Schreibprozess welcher das neue Raspi Image über alles bügelt was je vorher da gewesen ist - sprich die Daten die vorher auf der SD Karte waren sind weg.
Damit seit ihr fertig, das Image ist auf der SD Karte die könnt ihr in den Pi stecken und ihn starten.
####################################################
Alles was jetzt folgt, sind alternative Wege oder zusätzliche Infos für spezielle Vorgehen.
Alternativer Download und Image installieren.
Download des Images ist ohne Imager beispielsweise hier möglich: https://www.raspberrypi.com/software/operating-systems/ und ohne Imager nutzt man üblicherweise den Linuxbefehl dd um das Image auf die SD Karte zu bringen. Unter Linux sollte das kein Problem sein :) beim Mac kenne ich mich nicht aus aber da er auf Linux basiert sollte es da auch irgendwo ein dd geben und unter Windows installiert ihr die gitbash, die hat ein dd im Bauch. Der Befehl lautet dann:
sudo dd if=/pfad/von/image.img of=/pfad/zur/sdcard bs=4M
Die Pfade müsst ihr gemäß Euren verwendeten Pfaden natürlich anpassen.
SSH aktivieren ohne Nutzung des Imagers
Auf der SD Karte muss man vor dem ersten Boot eine leere Datei benannt ssh unter /boot/ anlegen. Wichtig unter Windows, drauf achten, dass nicht .txt oder eine andere Endung dran pappt. Gitbash mit mv oder Total Commander sind Euer Freund.
WLAN einrichten ohne Nutzung des Imagers
(Quelle: https://www.elektronik-kompendium.de/sites/raspberry-pi/1912221.htm)
Die Eintragungen für das WLAN erfolgen in der Datei wpa_supplicant.conf während der Pi per Netzwerkkabel mit einem PC verbunden und gestartet ist:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Die wpa_supplicant.conf kann beispielsweise für Freifunk Franken so angepasst werden:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
network={
ssid=”franken.freifunk.net”
key_mgmt=NONE
priority=1
}
Anschließend kann die Konfiguration ausprobiert werden:
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
oder über:
ip l
wpa_cli status
Nachkonfigurieren auf dem PI
Immer zu Beginn
sudo apt update
sudo apt upgrade
Restart
sudo shutdown -r now
Halt
sudo shutdown now
Allgemeine Konfiguration
Dieses Skript führt die allgemeine Konfiguration auf dem Pi aus. Hier werden sowas wie Sprache, Zeitzone, Tastaturlayout etc. festgelegt:
/usr/bin/raspi-config
USB - Mobile Festplatten einrichten
(Quelle: https://raspberrytips.com/mount-usb-drive-raspberry-pi/)
Für NTFS Platten installieren wir das Paket ntfs-3g - meist ist es aber jetzt schon vorhanden.
sudo apt install ntfs-3g
Dann schließen wir die Platte an um mehr Infos zu bekommen und ermitteln die Infos wie folgt:
sudo fdisk -l
Hier den Filesystemtype und den Device Namen merken.
Beispiele:
/dev/sda1 ntfs
Dabei ist /dev/sda1 der Device Name und ntfs der Filesystemtyp.
Wir brauchen noch die uuid vom Laufwerk, die finden wir so heraus:
sudo ls -l /dev/disk/by-uuid
Die UUID merken wir uns für später. Beispiele für UUIDs: 806203c46203BDC2 oder 37E2-62C3
Jetzt erstellen wir einen Mount Point z.B. /mnt/usb Sollen später mehr Platten angeschlossen werden, hängen wir gleich eine Nummer dran z.B. /mnt/usb0
sudo mkdir /mnt/usb
Nun wollen wir die Platte noch automatisch mounten lassen. Dazu fügen wir einen Eintrag in die fstab ein:
Zum Editieren:
sudo nano /etc/fstab
Diese Zeile aufnehmen (Vorher UUID und FS Type anpassen)
UUID=806203C46203BDC2 /mnt/usb ntfs uid=pi,gid=pi 0 0
!!! Kein Reboot mit fehlerhafter Konfiguration !!!
Jetzt prüfen wir die Konfiguration
sudo mount -a
Solange Fehler kommen keinen Reboot durchführen, es kann sonst passieren oder es wird höchstwahrscheinlich passieren, dass / und /boot nicht gemountet werden können und das System nicht mehr hochfährt. Dann geht es für Euch zurück auf Anfang! Oder ihr kennt wen der sich auskennt. Auf jeden Fall wird es schwierig wenn das automatische mounten kaputt ist.
Im Notfall Eure Zeile wieder entfernen und prüfen ob es jetzt wieder geht.
Image exportieren
(Quelle: https://techgeeks.de/raspberry-pi-image-installieren-backup-und-verkleinern/)
Pfade ermitteln
sudo fdisk -l
Speicherplatz und Mountpunkte ermitteln
Exportieren bzw. Backup erstellen
Allgemeiner Befehlsaufbau
sudo dd bs=4M if=DeviceSDKarte of=USBMount/imagename.img status=progress
Konkretes Beispiel:
sudo dd bs=4M if=/dev/mmcblk0 of=/mnt/usb/pi-sync.img status=progress
Das Device /dev/mmcblk0 steht auf meinem Pi für das SD Karten Laufwerk und /mnt/usb/ ist der Mount Point für meine mobile Festplatte.
Image verkleinern
(Quelle: https://techgeeks.de/raspberry-pi-image-installieren-backup-und-verkleinern/)
PiShrink Download
Auf der Kommandozeile beispielsweise in ein Verzeichnis auf der mobilen Festplatte wechseln wo Platz ist und in meinem Fall ein Image pi-sync.img liegt oder in Eurem Fall irgendein anderes Pi Image.
Shell Skript herunterladen:
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
Dann liegt im aktuellen Verzeichnis die Datei pishrink.sh
Skript ausführbar machen
chmod +x pishrink.sh
Verschieben des Skriptes ins bin Verzeichnis
sudo mv pishrink.sh /usr/local/bin
Image verkleinern
sudo pishrink.sh ImageName.img
Mittels sudo wird das Skript pishrink.sh als Root ausgeführt und das Image ImageName.img im aktuellen Verzeichnis so weit verkleinert wie es geht. Dabei wird das Image selbst verändert, falls ihr also das Original noch braucht, dann vorher wegspeichern.
Analysen
Binary Format bestimmen
file Installieren
sudo apt install file
Anwenden
file binaryX
In der Regel wird irgendwas mit ELF32 oder ELF64 ausgegeben.