Das Betriebssystem des Raspberry Pi
Damit auf dem Raspberry Board überhaupt irgendwas funktioniert benötigt es zuerst ein Betriebssystem. Das wird auf eine
SD-Karte geschrieben und in den Kartenleser eingesteckt.
Das aktuelle, "normale" Betriebssystem hat die Bezeichung Raspberry Pi OS. Es basiert im Kern auf Linux. Die
Entwicklungsgeschichte ist im
Wikipedia
nachlessbar. Die momentane Version (Anfang 2022) hat die laufende Nummer 11 und den Arbeitstitel "Bullseye".
Es liegt auf den
Raspberry Pi Seiten
zum Download bereit.
Es existieren noch ein Dutzend weitere Derivate und sonstige Portierungen. Die sind für mich momentan aber alle
uninteressant.
Tools
Was man (auf dem PC) so ziemlich unbedingt an Tools haben sollte sind die folgenden:
Damit kann man das Raspberry OS auf eine SD-Karte schreiben, sichern und komprimieren. Alle Erläuterungen dazu und zum Getting-Started findet man auf den Raspberry Pi Seiten.Mit einem Netzwerk verbinden
Der übliche nächste Schritt ist die Verbindung mit einem (dem eigenen) Netzwerk. Es wird zur Bedienung und Inbetriebnahme verwendet und um eine Internetverbindung aufzubauen über die der Raspberry Daten und Programme nachladen kann. Es gibt dafür 3 gängige Methoden:
- Ethernetkabel
- WiFi
- USB Gadget Mode
Mit einem Ethernetkabel ist das trivial. Einfach in die passende Buchse des Routers/Switches im lokalen Netz einstöpseln und fertig.
Die WiFi-Konfiguration ist etwas umfangreicher. Die SD-Karte muss vor dem Einstecken bearbeitet werden:
Dazu vorab am PC im Root-Verzeichnis auf der SD-Karte eine Datei mit dem Namen "wpa_supplicant.conf" erstellen. Die Datei muss den folgenden Text enthalten:
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
scan_ssid=1
ssid="your_wifi_ssid"
psk="your_wifi_password"
}
Die Variablen "ssid" (=Netzwerkname) und "psk" (=Passwort) müssen passend eingetragen werden. Die "-Zeichen
am Anfang und Ende beibehalten.
Beim USB Gadget Mode ist das Vorgehen deutlich komplizierter und wird später separat erläutert.
In allen Fällen wird der Raspi danach als neues Device im Netzwerk aufgelistet. Sobald man seine IP-Adresse herausgefunden hat kann man ihn ansprechen. Im eigenen WLAN geht das bequem über die Webseite der (Fritz-)Internet-Box.
Remote-Bedienung oder nicht oder beides
Für die Bedienung des Raspberry hat man (grob gesagt) 2 Methoden zur Auswahl:
- Direkt am/auf dem Raspberry Pi, mit eigener Tastatur, Maus und Monitor
- Remote vom PCs, auch "Headless" Mode geannnt
Auch hier ist die erste Methode trivial. Einfach alle einstöpseln und fertig.
Bei der Remote-Bedienung werden Tastatur, Maus und Bildschirm durch ein Programm auf dem PC emuliert. Dort hat man ein Spiegelbild des Displayinhalts und verwendet Tastatur und Maus des PC. Man kann die Geräte von "remote" und "direkt" auch beliebig mischen und parallel verwenden.
Als Vorraussetzung für eine Remote-Verbindung muss zunächst das SSH-Protokoll auf dem Raspberry aktiviert werden. Dazu am PC eine leere Datei mit dem Namen ssh erzeugen (ohne Dateiendung) und im Root-Verzeichnis der SD-Karte ablegen. Der Rasspberry erkennt diese Datei beim nächsten Aufstarten und ändert automatisch seine Konfiguration um das SSH-Protokoll dauerhaft zu aktivieren.
USB Gadget Mode
Der USB Gadget Mode ist ein relativ neues Feature und funktioniert möglicherweise nicht mit allen Raspi-
oder Betriebssystem-Varianten. Zum Aktivieren sind einige Aktionen notwendig.
1. Auf der SD-Karte in der Datei config.txt die folgende Zeile am Ende hinzufügen:
dtoverlay=dwc2
2. In der Datei cmdline.txt den Text
modules-load=dwc2,g_ether
direkt nach dem Wort rootwait einfügen. Achtung! In dieser Datei muss alles schön ordentlich in einer
einzigen Zeile aufgelistet sein.
3. Den Bonjour Print Service von Apple.com herunterladen und installieren. Das vereinfacht es für den PC
den Raspberry zu finden.
4. Einen der USB-Ports des Raspberry (aber nicht den speziellen der nur für die Stromversorgung ist!) mit dem PC verbinden. Achtung!
Die USB-5V aus dem PC versorgen dadurch den Raspberry mit Strom und würden gegen ein bereits vorhandenes
Netzteil arbeiten! Eine Lösung wäre z.B. ein Adapter der die 5V-Leitung unterbricht:
5. Windows 10 benötigt einen RNDIS Treiber um den Raspbery als Ethernet Device zu erkennen. Sonst wird er
nur als COM-Port erkannt. Den Treiber des COM-Port im Gerätemanager durch den RNDIS-Treiber ersetzen. Der "Bonjour Service"
mapped den Hostnamen zu einer IP-Adresse:
- Systemsteuerung\Netzwerk und Internet\Netzwerkverbindungen
- Eigenschaften -> Freigabe -> RNDIS Adapter auswählen
Betriebssytem optimieren
Für den guten Betrieb am Motorrad müssen noch (mindestens) 2 Dinge optimiert werden:
- Das Aufstarten muss beschleunigt werden
- Die SD-Karte auf Read-only Modus konfigurieren
Das Read-Only Filesystem soll Datenkorruption der SD-Karte verhindern. Die Stromversorgung am Motorrad ist nicht sehr zuverlässig und man kann nicht ausschliessen dass der RasPi während eines Schreibvorgangs unterbrochen wird.
Um beide Optimierungen werde ich mich erst kümmern wenn die Anwendung stabil läuft. Ein Read-Only System wäre momentan zu lästig.