Betriebssystem

RASPBERRY Pi Betriebssystem

In dem VHS-Kursen verwende ich das 32 BIT OS. Die gemeinsame Installation hat bisher einen großen Anteil der Zeit für Download und Basiskonfiguration vom Workshop in Anspruch genommen. Dabei war der Download und das Initiale erstellen der SD-Karte das größte zeitliche Hindernis. In den Kursen selbst ist keine Zeit, um Dienste zu installieren oder Fehler zu beseitigen. Um diese Zeit zu entzerren stelle ich ein eigenes Image für den Kurs bereit. Dieses Image hat bereits die gesamte Software installiert und ist quasi sofort lauffähig. Dieses Image in der aktuellen Version ist jeweils die Referenzinstallation in den Kursen.

TIP: Die Speicherkarte kann und sollte bereits zu Hause erstellt und konfiguriert werden

Die Anleitungen auf dieser Webseite sind in aufklappbaren Sektionen (Textabschnitte) aufgeteilt. Dieses dient der Lesbarkeit der Webseite und dient der Übersicht.

OS-Image Download und schreiben der SD-Karte

SD-CARD beschreiben – Hinweise und weitere Informationen für die unterschiedlichen Versionen

Für Version 1.x gilt, ich verwende für meine Kurse einen Raspberry PI 400, also ein Modell 4, mit einer 16GB SD-Card. Das installierte OS basiert auf der Lite Version. Die Lite Version beinhaltet keine Desktop Version und ist die „schlankeste“ verfügbare Version. In diesem Image installiere ich die für den Kurs benötigten Pakete nach. Die Node-Red Konfiguration und die enthaltenen Flows sind auf mein RASPI-DEV Board angepasst.

Für Version 2.x gilt, ich verwende für meine Kurse einen Raspberry PI 400, also ein Modell 4, mit einer 16GB SD-Card. Das installierte OS basiert auf der Desktop Version. In diesem Image installiere ich die für den Kurs benötigten Pakete nach. Die Node-Red Konfiguration und die enthaltenen Flows sind auf mein RASPI-DEV Board angepasst.

In dem OS-Image ist die WLAN-Konfiguration auf den Kurs eingestellt (SSID = RASPI, Kennwort vhskurs22) und der Hostname lautet „instructor„. Der Benutzer lautet pi. Für alle Services und den Benutzer root und pi wird das Kennwort „vhskurs22“ verwendet.

Erstellung der OS-Images

Hinweise zur Erstellung des Images. Diese Version kann auch für FULL-BACKUPS verwendet werden

Die Images werden automatisiert per script erstellt, um bei jeder Erstellung die identische Methode anzuwenden. Das Verfahren ist mehrfach erprobt und vertestet mit unterschiedlichen HW-Versionen. Hier das verwendete Script.

#!/bin/bash
#
# Variablen definieren
#
export version=$1
export datum=`date +%Y%m%d_%H-%M`
export pfad="/media/pi/e010bb68-a3b6-4e3c-928f-092be4a4f16a/"
export rootpartition="/dev/mmcblk0"
export partition=`echo $rootpartition | cut -f2 -d"/"`
export dateiname="_RASPI-DEV-BOARD-V$version.img"
export blocksize="4M"
export pishrink="/home/pi/bin/pishrink.sh"
#
# HDD Image erstellen
#
sudo dd if=$rootpartition of=$pfad$datum$dateiname bs=$blocksize
#
# PISHRINK ausfuehren
#
sudo $pishrink -avZ $pfad$datum$dateiname

Download VHS RASPI OS-IMAGE für SD-CARD

Das Release Datum der OS-Version ist 10.10.2023 und basiert auf Kernel 6.1. (BOOKWORM). Neueste Version oben.

Raspberr Pi Zero: Image Version 1.x

Diese Version ist primär für den Pi-Zero aufgrund des geringen Speichers und der geringen CPU-Leistung

Image Version 2.x ab 20231112

Images Version 1.x (Verwendung bis RASPI Workshop am 11.11.2023)

ACHTUNG: Die ZIP-Datei muss nach dem Download erst entpackt werden, bevor diese mit dem RASPI-IMAGER auf die SD-Card geschrieben wird.
Images mit der Dateiendung .xz können direkt mit dem Raspi-Imager geschrieben werden.

Schreiben der SD-CARD – Kurzanleitung für erfahrene Nutzer

Step by Step Anleitung
  1. OS-Image download und checksumme der Datei prüfen (siehe Release Notes)
  2. Raspi Imager starten
  3. OS Image -> eigenes Image Wählen
  4. Speicherkarte auswählen -> empfohlen 16GB oder größer
  5. Anpassungen „Zahnrad“ -> Hostname, WLAN, Benutzer, Kennwort, … ändern
  6. schreiben

Schreiben der SD-CARD – Videoanleitungen

20231105: Videoanleitung
20231104: Videoanleitung

Schreiben der SD-CARD

schreiben der SD-CARD „Ausführliche Anleitung“

Zum Erstellen der SD-CARD sollte der RASPI-IMAGER in der aktuellen Version verwendet werden. Die SD-CARD muss min. 16GB groß sein. Die aktuelle Version des Imagers befindet sich auf der Raspberry PI Webseite. Als Betriebssystem ist hier „Eigenes Image“ zu wählen. Über das weitere Menü wird die heruntergeladene Image Datei ausgewählt. Bitte vorher die korrekten Größen der Datei prüfen. (Siehe Release notes weiter unten)

Die weiteren Einstellungen werden unter dem Zahnrad gemacht und sind optional. Ich empfehle den Hostname und die WLAN-Konfiguration anzupassen. Bei der WLAN-Konfiguration kann die WLAN SSID und Passwort bei euch zu Hause eingetragen werden, danach ist der Raspberry Pi mit eurem WLAN verbunden und Ihr könnt das Gerät und die zugewiesene IP-ADRESSE in der Übersicht des Routers finden.

Ändert Ihr den Hostnamen, hier kann ein beliebiger Name gewählt werden, so taucht der Raspi später in der Geräteliste des Routers auf. Der Name dient der Identifikation des Raspberry Pi und der durch den Router vergebenen IP-Adresse im Netzwerk. Wird der Raspberry Pi in einem VHS-KURS bei mir verwendet sollte der Hostname auf jeden Fall geändert werden, um Verwechselungen zu vermeiden und Eindeutigkeit sicherzustellen. Für eure eigene Umgebung ist es nicht notwendig.

Achtung: Während des ersten Startens das Raspberry Pi wird dieser mehrfach neu starten. Das ist notwendig, um die Konfiguration abzuschließen. Dabei werden die Änderungen am Betriebssystem eingestellt.

Finden des Raspberry Pi im Netzwerk – IP-Adresse bestimmen

Identifikation (finden) des Raspberry Pi im Netzwerk
  • Wenn der Raspi sich mit dem WLAN verbindet kann die IP-Adresse im Router (DHCP-Server) gefunden werden
  • Wenn der Raspi sich nicht mit dem WLAN verbindet kann auch eine Kabelverbindung mit dem Router helfen. Die zugewiesene Adresse ist ebenfalls im Router (DHCP-Server) zu finden
  • Im Image seit 20231105 wird die IP-Addresse und der Hostname auf dem Display des Raspi-DEV Boards angezeigt

Installierte Dienste, URLs und Ports

Diensteübersicht
ServicePortBenutzerKennwortBemerkung
Node-Red1880
Node-Red Dashboard1880URL=.http://….:1880/ui
MQTT1883
mySQL3306rootvhskurs22
ssh22pivhskurs22
VNC5900vhskurs22VNC nur für Kontrollzwecke und Spiegelung der grafischen Oberfläche, @ und | gehen hier nicht
PiVPN1194UDP, openVPN-Basis
Services und Ports

Issues

Fehlerliste
  • Image Release Line 2.0 gestartet – siehe Anpassungen 12.11.2023
  • @ und | Zeichen gehen nicht in grafischer Oberfläche im deutschen Tastatur Layout;
    – Die Zeichen gehen nur auf der VC nicht
    – Abhängig vom VNC Client kommen unterschiedliche Ergebnisse
    – In /etc/vconsole kann das Setting für die Console erfolgen
  • (solved, 20231104) Schriftart in grafischer Oberfläche im Terminal (xterm) klein. CTRL-Right MOUSE wechselt die Schriftart
  • (solved, 20231104) Angepasste Konfiguration im RASPI-IMAGER führt zum shutdown, kein start möglich
  • (solved, 20231104) alias ll auf ls -lisah nicht verfügbar

In Planung

Releaseplanung Version 2.0

Containertechnik auf dem Raspberry Pi mit DOCKER

Anpassungen (Release Notes)

20231120: Releasebeschreibung Version 1.01 Pi-Zero

Dieses Release ist primär für den Pi-Zero und basiert auf minimal Installation 32-Bit und enthält Node-Red, MQTT, mariaDB und Basisinstallation PiVPN

20231112: Releasebeschreibung Version 2.0

Neues Release auf Basis der Bookworm Desktop Variante 32Bit gestartet. Die Neue Version enthält das OS mit grafischer Oberfläche, deutsche Tastatur innerhalb der grafischen Oberfläche. Installierte Services sind Node-RED, Mosquitto und mariaDB (mySQL).

Zur besseren Übersicht sin nun auch die Versionsnummern im Dateinamen enthalten.

20231110: Releasebeschreibung

Hier sind die Node-RED Anpassungen zur Anzeige der IP-Adresse und des Hostnamens enthalten

  • sha256 checksum 23506a989970e6fdba031fdc03759f3d0897c6aefc86aa1aeb763659d6a44486

Achtung: Noch kein Test mit dem IMAGE gemacht

20231105: Releasebeschreibung

XTERM Einstellungen angepasst, Rechte Maustaste auf das Symbol -> Einstellungen -> Befehl „xterm -fa default -fs 12

Im Verzeichnis /etc/profile.d/ eine Datei 00-alias.sh mit execute Flag gesetzt erstellt. Hier können beliebgige weitere hinzugefügt werden. Der inhalt ist: €

# /etc/profile.d/10-alias.sh
#
alias ll='ls -lisah'
alias xterm='xterm -fa default -fs 12'
  • SHA Checksum e559d2fa86aca792f0f2f205b5a75921792be7e2fc43f4f6c10e4cc380080d93
IDStatusTest-Case & TestbedingungenSD-CARDSD-CARD-HerstellerTestsystemKonfigurationImager VersionMeldung, Hinweis
1ErfolgreichImage mit Anpassung16GBGIGASTONEPi400-DE, Pi3BHostname, WLANLin 1.75mehrfache Neustarts
Test-Ergebnisse
20231104: Releasebeschreibung

Wird im Raspberry Imager eine angepasste Konfiguration erstellt, so schreibt der Imager in das Verzeichnis /boot eine Datei mit dem Namen firstrun.sh. Aufgerufen wird diese Datei aus der /boot/cmdline.txt. In der Datei firstrun.sh sind Befehle enthalten, welche dem Imager ermöglichen die Konfiguration anzupassen. Diese Befehle werden mit dem Paket raspberrypi-sys-mods installiert. Sind diese Programme (dieses Paket) nicht installiert, bricht der Bootprozess ab. Die Installation des Pakets zieht einige Abhängigkeiten nach. Das Paket ist quasi das Gegenstück zum Raspberry-Imager.

sudo apt install raspberrypi-sys-mods
  • sha256 Checksum f9dee0cb4695b91b4d45931a84b64e94e3f903e9b7c1bec6825e8b8f9a0a4a4
  • Unter Windows kann in der Powershell mit dem Befehl „Get-FileHash RASPI-OS-IMAGENAME -Algorithm SHA256“ die Checksumme geprüft werden
IDStatusTest-Case & TestbedingungenSD-CARDSD-CARD-HerstellerTestsystemKonfigurationImager VersionMeldung, Hinweis
1ErfolgreichImage mit Anpassung32GBSANDISKPi400-DEHostname, WLANLin 1.75mehrfache Neustarts
2ErfolgreichImage mit Anpassung16GBGIGASTONEPi400-DEHostname, WLAN, USER, LANDWin 1.8.1mehrfache Neustarts; startet nicht in die grafische Oberfläche. Nach „sudo init 5“ Grafikmode auch vorhanden, raspi-config -> 1 -> B4 startet danach korrekt im Runlevel 5
3ErfolgreichImage mit Anpassung16 GBGigastoneRaspi 3B V1.2Hostname, WLANLin 1.7.5Mehrfache Neustarts
Test-Ergebnisse
20231103: Releasebeschreibung

Der Datenbankserver (MariaDB, mySQL) läuft nun auch auf jedem Netzwerk-Interface. Dazu ist die Datei /etc/mysql/mariadb.conf.d/50-server.cnf angepasst.

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#
# angepasst auf 0.0.0.0, 3.11.2023
#bind-address            = 127.0.0.1
bind-address            = 0.0.0.0
  • Die Images haben jetzt einen Zeitstempel im Dateinamen
  • Das Image kann nicht mehr auf 8GB SD-Cards geschrieben werden, bitte 16GByte verwenden oder größer, minimale Größe 9.1GByte
  • sha256 Checksum 2ab7e47e405e662937dd3b37bac3861bb83dfcfaff1a5a98fb5870fa4bd7b4ff
  • Unter Windows kann in der Powershell mit dem Befehl „Get-FileHash 20231103_14-52_RASPI-DEV-BOARD-V1.img.xz -Algorithm SHA256“ die Checksumme geprüft werden
IDStatusTest-Case & TestbedingungenSD-CARDSD-CARD-HerstellerTestsystemKonfigurationImager VersionMeldung, Hinweis
1FehlerImage ohne Anpassung16GBGIGASTONEPi400-DELin 1.75System geht nach hochfahren immer wieder aus
2ErfolgreichImage ohne Anpassung32GBSANDISKPi400-DELin 1.75
3ErfolgreichImage ohne Anpassung16GBVERBATIMPi400-DELin 1.75
4FehlerImage mit Anpassung32GBSANDISKPi400-DEHostnameLin 1.75Fehler beim schreiben während fsync
5FehlerImage mit Anpassung16GBVerbatimPI400-DEHostnameLin 1.75System geht nach hochfahren immer wieder aus
6FehlerImage mit Anpassung32GBSANDISKPI400-DEHostnameWin 1.8.1System geht nach hochfahren immer wieder aus
7ErfolgreichImage ohne Anpassung32GBSANDISKPI400-DEWin 1.8.1
8FehlerImage mit Anpassung32GBSANDISKPI400-DEWIFIWin 1.8.1System geht nach hochfahren immer wieder aus
Test-Ergebnisse
20231030: Releasebeschreibung

Diese Version beinhaltet bereits die Anpassungen für PIVPN und diverse Anpassungen in der grafischen Oberfläche. Das OS-IMAGE ist von einer 8GByte SD-CARD erzeugt. Größere Karten sind nutzbar, kleiner jedoch nicht.

  • In der grafischen Oberfläche konnte ich bisher das @ Zeichen nicht eingeben.
  • sha256 Checksum badffab1b3e31f56e30926869616396091965a6765aa465fdbea5975caa51158
20231029: Releasebeschreibung

Die Version ist ein aktueller Abzug nach dem Raspberry Pi Workshop am 27.10.23 in Schloss-Hote.

Das OS-IMAGE ist für den download gezipped. Die entpackte Datei (20231029_RASPI-DEV-BOARD-V1.img). Die Dateigrößen sind im folgenden Screenshot zu sehen.

Der Mosquitto Server läuft jetzt auf allen Interfaces und ein Zugriff ist ohne Sicherheit möglich. Diese Umgebung ist für den VHS-Kurs und sollte so nicht produktiv genutzt werden. Hier die Anpassung in der /etc/mosquitto/mosquitto.conf

bind_address 0.0.0.0
allow_anonymous true
20231024: Releasebeschreibung

x11vnc greift auf die Konfiguration von X11 zu. Aus diesem Grund muss die Konfiguration der Auflösung in der X11 Konfiguration erfolgen. Zunächst muss ein Dummy Monitor installiert werden.

sudo apt-get install xserver-xorg-video-dummy

Als nächstes muss die Datei /etc/X11/xorg.conf angepasst oder erstellt werden (falls sie nicht vorhanden ist). Folgender Inhalt:

Section "Device" Identifier "Configured Video Device"
Driver "dummy"
VideoRam 256000
EndSection
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 5.0 - 1000.0
VertRefresh 5.0 - 200.0
Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080" "1280x800"
EndSubSection
EndSection

Jetzt das System neu starten und danach sollte die Auflösung höher sein.