Alle Einstellungen des Raspberry Pi an einer Stelle: So funktioniert raspi-config

Als Video ansehen
Bereitgestellt über YouTube

Alle Einstellungen des Raspberry Pi an einer Stelle: So funktioniert raspi-config

Unter GNU/Linux muss man zwingend zahlreiche Konfigurationsdateien bearbeiten, um etwas umzustellen? Das ist schon längst Geschichte: Für den Raspberry Pi gibt es ein Werkzeug, das die wichtigsten Einstellungen enthält. Es kann grafisch und auf der Konsole bedient werden.1 Wie es funktioniert, welche Möglichkeiten und Einschränkungen du erwarten kannst, erfährst du in diesem Beitrag.

Wie öffne ich raspi-config?

Auf der Kommandozeile: Funktioniert überall

Du kannst das Programm auf zwei Arten aufrufen: Per Konsole mithilfe des Befehls raspi-config. Dieser muss als Root-Benutzer mit vollen Systemrechten (z.B. per sudo) aufgerufen werden, da viele Einstellungen systemweite Auswirkungen haben. Dieser Weg funktioniert auf jedem Raspberry Pi – auch per SSH, wenn du dich für eine minimale Installation ohne Desktopumgebung entschieden hast.

sudo raspi-config

Es öffnet sich eine konsolenbasierte Oberfläche, die euch links oben das Modell zeigt. Grundsätzlich kann raspi-config auf jedem Raspberry Pi genutzt werden. Allerdings sind nicht alle Einstellungen bei jedem Modell vorhanden bzw. nutzbar. Underscan ist ein Beispiel: Bei Overscan/Underscan sind Bereiche des Bildschirminhalts nicht sichtbar, weil sie über den Rand hinaus gehen – oder es entstehen schwarze Ränder. Diese Einstellung ist nur mit X11 verfügbar. Das Raspberry Pi OS 12 ist standardmäßig von X11 zu Wayland gewechselt, während Version 11 noch X11 verwendet.

Die Einstellungen sind in Gruppen unterteilt, die man mit den Pfeiltasten hoch/runter auswählen kann. Mit [Enter] öffnet sich eine Gruppe, [Esc] ist der Weg zurück zum vorherigen Menü. Bist du fertig, navigiert dich zweimaliges Drücken der [Tab] Taste rechts unten zum <Finish> Knopf. Nun noch [Enter] und du bist wieder zurück auf der Konsole.

Grafisch für den Desktop des Raspberry Pi OS

Hast du die grafische Desktop-Umgebung installiert, kann dort natürlich schlicht ein Konsolenfenster geöffnet werden, um sudo raspi-config auszuführen. Alternativ gibt es auch eine grafische Oberfläche, falls du diese bevorzugst: Sie ist unter Preferences > Raspberry Pi Configuration.

Im Gegensatz zur Kommandozeilenversion werden Einstellungen, die für bestimmte Raspberry Pi Modelle nicht verfügbar sind, weiterhin angezeigt – allerdings deaktiviert (ausgegraut). Beispielsweise für einen per GPIO-Ports angeschlossenen Gehäuselüfter auf einem Raspberry Pi 5.

Das kannst du alles einstellen

Ich werde alle weiteren Beispiele über das Kommandozeilenwerkzeug raspi-config demonstrieren, da dies überall funktioniert und auch die erweiterten Optionen enthält – letztere fehlen in der grafischen Variante. Du findest die meisten Einstellungen jedoch unter einer ähnlichen Bezeichnung ebenfalls in der grafischen Oberfläche. Die Reihenfolge orientiert sich nicht nach der Darstellung, sondern nach der von mir ausgesuchten Relevanz. Raspi-config bietet grundlegende Einstellungen und speziellere, die nicht für jeden wichtig sind.

5 Lokalisierung & Spracheinstellungen

Beginnen wir mit einer Gruppe für Ersteres, um die Funktionsweise zu demonstrieren. Hier lässt sich alles Einstellen, was zur Region gehört: Sprache, Zeitzone, Tastaturlayout und das Land fürs WLAN.

Der erste Eintrag L1 ändert das Land und die Sprache.

Intern werden dabei gängige GNU/Linux Werkzeuge aufgerufen: Die folgenden Screenshots stammen beispielsweise von sudo dpkg-reconfigure locales. Der Befehl dpkg-reconfigure ist unter Distributionen mit APT Paketverwaltung (Debian, Ubuntu, …) gängig, um ein Paket neu zu konfigurieren. Dies stellt dann alle Fragen zur Einrichtung erneut, die es sonst nur bei der Installation abfragt. Hier für das Paket locales, welches für die Lokalisierung (Sprache usw) zuständig ist.

Dies wiederum setzt hauptsächlich die Umgebungsvariable LANG: Sie ist im Format SPRACHE_LAND.ZEICHENSATZ aufgebaut Beispielsweise steht en_US.UTF-8 für US-Amerikanisches Englisch mit dem gängigen Zeichensatz UTF-8. Viele Programme berücksichtigen sie, um ihre Ausgaben in der gewünschten Sprache anzuzeigen, sofern eine Übersetzung verfügbar ist.

Im ersten Bildschirm werden uns alle verfügbaren Lokalisierungen angezeigt. Für Deutschland würde man hier de_DE.UTF-8 auswählen. Tipp: Mit Bild auf/ab oder dem Scrollrad der Maus kann man zügig durch die lange Liste navigieren. Ist der gewünschte Eintrag markiert, wird er mit der Leertaste aktiviert. Dann [Tab] um auf <Ok> & [Enter] drücken. Anschließend erscheint der ausgewählte Eintrag in der Liste der auf dem System aktivierten Lokalisierungen. Hier könnt ihr mit den Pfeiltasten auswählen, welcher Standardmäßig genutzt werden soll.

Nach dem Bestätigen dauert es einen Moment, bis die Einstellungen überall gesetzt wurden. Anschließend kann man mit 2x [Tab] zu <Finish> navigieren und mit [Enter] das Menü verlassen. Ein Neustart ist bei solchen umfangreichen Änderungen empfehlenswert.

Wie die Umgebungsvariable LANG wirkt, kann man mit cat demonstrieren: Das GNU-Werkzeug gibt eine Fehlermeldung aus, wenn die übergebene Datei nicht existiert. Umgebungsvariablen lassen sich lokal für einen einzigen Befehl setzen bzw. in diesem Fall überschreiben, in dem man sie im Format NAME=WERT mit einem Leerzeichen vor dem Befehl eingibt. Im Folgenden habe ich das GNU/Linux-System auf Deutsch umgestellt, daher steht LANG=de_DE.UTF-8 und cat gibt deutsche Fehlermeldungen aus. Setze ich LANG auf Britisches Englisch, wird No such file or directory ausgegeben:

u-labs@pi5:~ $ echo $LANG
de_DE.UTF-8
u-labs@pi5:~ $ cat /x
cat: /x: Datei oder Verzeichnis nicht gefunden
u-labs@pi5:~ $ LANG=en_GB.UTF-8 cat /x
cat: /x: No such file or directory

Es gibt noch weitere Variablen wie LC_ALL und LANG. Wer nur die Uhrzeit in einer bestimmten Sprache bzw. dem Format des Landes haben möchte, kann LC_TIME nutzen. LC_ALL überschreibt meist alle anderen, außer $LANGUAGE unter bestimmten Umständen. Bedenkt, dass ihr nur Lokalisierungen nutzen können, die installiert sind. Eine Liste liefert euch localectl:

u-labs@pi5:~ $ localectl list-locales
C.UTF-8
de_DE.UTF-8
en_GB.UTF-8

Dies funktioniert nicht mit allen Sprachen und Programmen, da diese Unterstützung von der jeweiligen Software eingebaut werden muss. Bei raspi-config gibt es beispielsweise keine Übersetzung – es wird immer in Englisch dargestellt. Teilweise sieht man im Raspberry Pi OS unvollständige Übersetzungen. Fehlt der Deutsche Text, wird Englisch angezeigt.

Hat man ein GNU/Linux System auf diesem Wege auf eine andere Sprache als Englisch eingestellt, kann dieser Trick zur Fehlersuche nützlich sein – manchmal finden sich nur zu den englischen Fehlermeldungen hilfreiche Informationen im Web.

L2: Zeitzone

Mittlerweile muss das oft gar nicht mehr händisch eingestellt werden, da das dahinter steckende Paket tzdata beides versucht, automatisch zu erkennen: Wer zuvor mit de_DE.UTF8 angegeben hat, dass er deutsch spricht und sich in Deutschland befindet, wird wahrscheinlich in der Zeitzone Europe/Berlin liegen. Wie man an diesem Beispiel sieht, besteht eine Zeitzone aus einem Kontinent und einer Stadt. Im Einzelfall mag die Standardauswahl daneben liegen, weil man etwa ein System im Ausland betreibt und dies auf Deutsch/Englisch bedienen möchte – die Regel wird das nicht sein.

Wie ihr seht, erscheint die Oberfläche auf Deutsch, nachdem wir die Sprache zuvor geändert haben. Auch hier könnten wir wahlweise nur dieses eine Programm wieder in Englisch anfordern:

LANG=en_GB.UTF-8 sudo dpkg-reconfigure tzdata

L3: Tastaturlayout

Ähnlich sieht es auch mit dem Tastaturlayout aus: Anpassungen sind nur nötig, wenn Tasten nicht funktionieren oder andere Zeichen erzeugen, als sie sollten. Das kann passieren, wenn ihr z.B. eine englische Tastatur nutzt. In diesem Falle müsste das Tastaturlayout angepasst werden.

L4 WLAN Ländercode

Diese Einstellung ist wichtig, wenn ihr die WLAN-Funktion des Raspberry Pis benutzen möchtet. Der Hintergrund liegt im Frequenzspektrum, das je nach Land unterscheiden kann. Dabei geht es nicht zwingend um technische Gründe, sondern auch um die Einhaltung von Vorgaben sowie Vermeidung von Störungen. Steht dieser auf GB für Großbritannien (dem Heimatland des Raspberry Pi), werden möglicherweise WLAN-Netzwerke hierzulande nicht erkannt.2 Daher solltet ihr diese Einstellung auf DE für Deutschland setzen.

1 System Options

Hier finden sich einige grundlegende Einstellungen, die zu keiner speziellen Kategorie gehören.

S1 Wireless LAN

Möchtet ihr euch mit einem WLAN-Netzwerk (z.B. eurem WLAN-Router zuhause) verbinden, fragt euch der Assistent nach der SSID (Service Set Identifier). Das ist der Name des kabellosen Netzwerkes. Standardmäßig steht er oft hinten auf dem Router aufgedruckt. Sicherheitstechnisch am besten wäre es, wenn ihr Name & Schlüssel im Konfigurationsmenü selbst setzt.

Der Schlüssel (das Passwort) folgt im nächsten Schritt.

S2 Audio

Bis einschließlich zum Raspberry Pi 4 war eine 3,5″ Klinkenbuchse vorhanden, über die ein externes Wiedergabegerät (Kopfhörer oder Stereoanlage) angeschlossen werden konnte. Da HDMI sowohl Bild als auch Ton überträgt, konnte man hier auswählen, welcher der beiden Wege zur Audioausgabe gewünscht ist. Beim Raspberry Pi 5 ist diese Einstellung bedeutungslos geworden, da die 3,5″ Buchse entfernt wurde. Hier haben wir also ein Beispiel für die Umgekehrte Richtung: Diese Option kann nur auf älteren Pis genutzt werden.

S3 Password

Damit ändert ihr das Passwort für den aktuell angemeldeten Nutzer. Dies wird systemweit genutzt, etwa zur Anmeldung am Desktop oder per SSH – je nachdem, was davon aktiviert & genutzt wird. Letztendlich ist das ein verpackter Aufruf des GNU/Linux Werkzeugs passw.

S4 Hostname

Jeder Computer im Netzwerk besitzt eine eindeutige Bezeichnung, den Hostname. Zuhause bildet euer WLAN-Router ein internes Netzwerk, d.H. alle daran angeschlossenen Geräte können miteinander kommunizieren (ausgenommen möglicherweise vorhandene Gastnetzwerke). Das eingebaute DSL-Modem baut eine Internetverbindung auf und leitet Datenpakete außerhalb des internen Netzwerks in Richtung Internet sowie per NAT zurück. Üblicherweise steckt in solchen Heimgeräten auch ein DNS-Server: Er löst die Hostnamen auf. Das ist praktisch und flexibel, da man ein Gerät so über eine sprechende Bezeichnung erreichen kann, statt einer IP-Adresse wie beispielsweise 192.168.0.100.

Standardmäßig lautet der Hostname des Raspberry Pi raspberrypi. Ihr könnt ihn an dieser Stelle ändern: Nur Groß/Kleinbuchstaben und Minus verwenden, keine Sonderzeichen. Den jetzigen Hostname sehr ihr im Terminal-Promt links nach dem @ Zeichen:

u-labs@pi5:~ $ hostname -I
192.168.0.100 2001:9e8:8097:c700:4118:a7e8:a55a:ed44

Mein Test-Pi heißt pi5 und hat vom Router die IP-Adresse 192.168.0.100 bekommen. Der Hostname pi5 wird innerhalb des Netzwerkes (z.B. hier von meinem PC aus) vom Router (hier eine Fritz! Box) zu 192.168.0.100 aufgelöst:

daniel@dani-pc:~$ ping -c1 -4 pi5
PING pi5 (192.168.0.100) 56(84) Bytes an Daten.
64 Bytes von pi5.fritz.box (192.168.0.100): icmp_seq=1 ttl=64 Zeit=0.905 ms

daniel@dani-pc:~$ dig +short pi5
192.168.0.100

S5 Boot / Auto Login

Hier legt ihr fest, wie der Raspberry Pi sich verhalten soll, wenn er gestartet wird. Ihr habt die Wahl zwischen vier Varianten, da grafische Oberflächen bei GNU/Linux immer nur eine zusätzlich installierte Komponente sind. Im Gegensatz zu Windows ist die grafische Oberfläche kein Kernbestandteil des Betriebssystems, sondern wird nach dem Start des Betriebssystems gestartet. Man kann sie auch dann weglassen, wenn sie installiert wurde.

  • B1 Console: Startet keine Desktop-Umgebung, sondern die Konsole einer minimalen Installation. Ihr müsst euch mit Benutzername & Passwort anmelden.
  • B2 Console Autologin: Wie B1, allerdings meldet sich der aktuell eingeloggte Nutzer automatisch an.
  • B3 Desktop startet die grafische Desktopumgebung des Raspberry Pi OS, sofern sie installiert wurde. Es erscheint ein Anmeldebildschirm.
  • B4 Desktop Autologin ist wie B3 mit automatischer Anmeldung. Dies kann sinnvoll sein, falls beispielsweise nach dem Start ein Programm starten soll – etwa für Infobildschirme.

S6 Splash Screen

Ähnlich wie bei vielen X86 BIOS/UEFI Systemen, lässt sich einstellen, ob während des Starts ein optisch schöneres, dafür wenig aussagekräftiges Logo erscheinen soll (Standardmäßig aktiv):

Oder die technische Ansicht, welche die Kernel-Meldungen zeigt:

Sofern der Raspberry Pi bootet, könnt ihr die Protokolle des Kernels jederzeit im laufenden Betrieb mit dem Kommandozeilenwerkzeug dmesg einsehen.

S7 Power LED

Der Raspberry Pi besitzt auf dem Board selbst zwei Leuchtdioden: Eine grüne leuchtet permanent, sobald er läuft. Daneben blinkt eine weitere in rot, sofern Laufwerksaktivität herrscht. Erstere kann mit dieser Einstellung abgeschaltet werden, etwa wenn der Pi im Schlafzimmer betrieben wird und das Licht stört. Zudem spart das etwas Strom, allerdings nur sehr wenig. Nicht alle Modelle unterstützen diese Einstellung.

S8 Browser (Desktop)

Das Raspberry Pi OS 12 bietet mit Firefox erstmals eine offizielle Alternative zum Chromium-Browser von Google. Dafür wurde diese Einstellung neu eingefügt: Sie legt fest, welcher der beiden als Standardbrowser zum Einsatz kommt – sofern beide installiert sind. Der Einrichtungsassistent bietet ja die Möglichkeit, auf Wunsch den anderen Browser zu entfernen. Auch wenn man davon Gebrauch gemacht hat, kann man natürlich jederzeit den anderen nachinstallieren. Sollten beide auf dem System sein, macht diese Einstellung Sinn, wie auf dem X86 Desktop.

S2 Display Options

D2 Screen Blanking (Desktop)

Standardmäßig schaltet der Raspberry Pi das Bildsignal nach einiger Zeit Inaktivität ab. Üblicherweise versetzt das den angeschlossenen Bildschirm kurz darauf in den Bereitschaftsmodus. Ist das nicht gewünscht (z.B. für Infotafeln), kann diese Einstellung hier abgeschaltet werden.

D3 VNC Resolution (Desktop)

Unter GNU/Linux und Unix ist VNC ein verbreitetes Protokoll, um grafische Oberflächen aus der Ferne bedienen zu können – vergleichbar mit dem proprietären RDP von Microsoft Windows. Für den eingebauten VNC-Server (siehe dazu Punkt 3 unten) kann hier die Auflösung festgelegt werden. In der Regel möchte man hier Full-HD (1920×1080), der Standard ist HD (1280×720).

D4 Composite Video

Dieser Standard stammt aus den späten 1950er Jahren3 und hat sich Jahrzehnte lang für Videosignale halten können. Im privaten Bereich ist er wohl am ehesten noch über die bunten RCA-Stecker (Cinch) bekannt: Gelb für das Videosignal, dazu meist Rot/Weiß für den rechten & linken Tonkanal. Später folgte für Fernsehgeräte der breite SCART-Stecker. Der Raspberry Pi 1 hatte die gelbe Buchse noch aufgelötet. Inzwischen ist sie verschwunden, doch die Kontakte befinden sich weiterhin auf der Platine. Die Einsatzzwecke dürften aufgrund der geringen Auflösung überschaubar sein – wer möchte, kann Composite Video weiterhin nutzen. In diesem Falle wäre der Anschluss hier als Ausgang zu aktivieren.

3 Interface Options

Schnittstellen sind aus Sicht des Werkzeugs alle Verbindungen des Raspberry Pi nach außen. Dieser Punkt bündelt daher unterschiedlichste Technologien von Hardware bis Software. Viele davon sind ab Werk abgeschaltet, das heißt: Bei rein Software basierten fehlen die benötigten Programme. Eine Aktivierung installiert diese und installiert sowie aktiviert den jeweiligen Systemd-Dienst. Hardwareschnittstellen benötigen oft ein Kernel-Modul, welches aktiviert und bei zukünftigen Starts automatisch geladen wird.

I1 SSH

Hier findet sich daher unter I1 das unter GNU/Linux verbreitete SSH, um eine Konsole sicher aus der Ferne zu öffnen. Über SSH kann man den Raspberry Pi und jedes andere GNU/Linux-System vollständig verwalten: Programme starten/stoppen, mit Dateien arbeiten, Software installieren usw.

I2 VNC

Wie oben bereits erwähnt, ist VNC ein verbreitetes Protokoll, um aus der Ferne den grafischen Desktop zu nutzen.

I3 SPI, I4 I2C, I6 1-Wire

Das sind verschiedene Bussysteme: Dort können mehrere Teilnehmer an der gleichen Leitung angeschlossen werden, allerdings dürfen nur zwei davon gleichzeitig kommunizieren. Man kann dort beispielsweise verschiedene Sensoren, Bildschirme, Microcontroller und weitere Bauteile anschließen.

Bei I2C bekommt jeder Sensor eine eigene Adresse. So können mehrere Geräte über die gleiche Leitung angesprochen werden. Dafür kommen Doppelbelegungen der GPIO-Ports zum Einsatz. Für I2C sind das beispielsweise die Pins 3, 5, 27 und 28, wie pinout.xyz zeigt:

I5 Serial Port

Man kann über bestimmte Pins eine serielle Konsole erhalten. Dadurch sehen wir Konsolen-Meldungen, ohne per SSH verbinden zu sein. Das ist vor allem zur Fehlersuche hilfreich, wenn der Raspberry Pi nicht vollständig startet.

I7 Remote GPIO

Die GPIO-Schnittstellen lassen sich auch über das Netzwerk von einem anderen Gerät aus ansprechen, wenn diese Einstellung aktiviert ist.4 Sie kann hilfreich sein, um Skripte/Programme zu entwickeln, die von den GPIO-Pins Gebrauch machen und daher zwingend auf einem Raspberry Pi laufen müssen. Vor allem bei komplexerer Software in Kombination mit einem älteren, schwachen Pi kann das mühsam sein. Remote GPIO erlaubt es euch, in Bibliotheken wie GPIO Zero auf einem anderen System zu entwickeln – während Code, der auf GPIO-Funktionen zugreift, über das Netzwerk an den Raspberry Pi geleitet wird.

Während das zu Entwicklungszwecken sehr praktisch sein kann, sollte man dies nur im lokalen Netzwerk ohne Portweiterleitung ins Internet aktivieren. Und im besten Falle per pigpiod auf die IP-Adresse der Arbeitsstation beschränken.

4 Performance Options

P2 und P4 erscheinen bei allen Modellen. Die restlichen Einträge werden nur für bestimmte Pis angezeigt, wie man im Code in der Funktion do_performance_menu() sehen kann:

In get_pi_type ist bemerkenswert, dass 0 wirklich nur für den ersten Raspberry Pi Zero steht. Der Zero 2 und das Compute Model 3 werden als Raspberry Pi 3 erkannt.

P1 Overclock

Manche Modelle (derzeit Raspberry Pi 1 + 2) können hier übertaktet werden, um mehr Leistung zu erhalten.5 Dies geschieht nicht über einen freien Multiplikator oder die Spannung, wie man es von X86 Systemen her kennt. Sondern in 25% Schritten: Modest (50%), Medium (75%) usw. bis Turbo (125% der maximalen Leistung). Grundsätzlich sollte man ein übertaktetes System auf Stabilität messen und vor allem die Temperatur im Auge behalten. Wer

P2 Overlay File System

Standardmäßig wird das Dateisystem mit Schreibrechten eingehängt. Das ist praktisch und ggf. notwendig, damit Änderungen dauerhaft erhalten bleiben. Es gibt einige Gründe, die im Einzelfall dagegen sprechen: Beispielsweise das grobe Ausschalten durch Trennen der Netzverbindung. Das kann zu einer korrupten Speicherkarte führen. Zudem sind Micro-SD Karten nicht für regelmäßige, umfangreiche Schreibzugriffe ausgelegt. Für manche Szenarien werden zudem gar keine ständigen Schreibzugriffe benötigt – etwa als digitaler Bilderrahmen oder Info-Anzeige.

Man kann bzw. sollte allerdings nicht einfach die Dateisysteme lesend einhängen. Schließlich schreiben einige Programme beim Start und im laufenden Betrieb, beispielsweise in Logdateien. Wenn dies mangels Schreibrechte nicht gelingt, führt dies zu Fehlern. Das erschwert nicht nur eine mögliche Fehlersuche: Manche Programme brechen den Start daraufhin ab. Ein verbreiteter Ansatz ist daher ein Overlay File System. Es agiert als Mittelsmann und leitet Schreibzugriffe um – beispielsweise in den flüchtigen Arbeitsspeicher oder auf externe Speichermedien.

Somit funktionieren sämtliche Programme und man kann uneingeschränkt z.B. neue Software installieren. Nach dem nächsten Neustart werden diese Änderungen allerdings wieder zurückgesetzt. Das ist daher auch eine Möglichkeit, um etwas auszuprobieren, ohne sich im Zweifel das System zu zerschießen. Auf regelmäßige Sicherungen sollte man trotzdem nicht verzichten.

P3 Fan

Ist ein Lüfter über z.B. ein Gehäuse an die GPIO-Schnittstellen des Raspberry Pi 4 angeschlossen, kann er hier aktiviert/deaktiviert werden. Beim Raspberry Pi 5 fehlt dieser Eintrag – dort gibt es über den PWM-Anschluss ohnehin eine wesentlich bessere Möglichkeit.

P4 USB Current

Wenn der Raspberry Pi 5 nicht über das offizielle Netzteil angeschlossen und darüber mit 5A versorgt wird (die nur das offizielle Netzteil entgegen des USB PD Standards liefern kann), drosselt er die Stromstärke aller USB-Anschlüsse auf 0,6A statt 1,6A. Mit dem 5A Netzteil wird usb_max_current_enable=1 in /boot/firmware/config.txt gesetzt. Man kann dies manuell erzwingen, in dem das Limit deaktiviert wird.678 Dadurch entfällt die Beschränkung auf 0,6A an den USB-Anschlüssen. Dafür muss das Netzteil allerdings leistungsfähig genug sein und nicht stark durch andere Geräte belastet, sonst kann das zu einem instabilen Raspberry Pi führen.

6 Advanced Options

A1 Expand Filesystem

Wird die Speicherkarte auf eine größere geklont (z.B. 16GB auf 32GB Karte), bekommt das Dateisystem davon nichts mit und bleibt in diesem Beispiel bei unveränderten 16GB. Man muss die Partition zuerst vergrößern. Dieser Eintrag macht das automatisch auf den kompletten freien Speicher der Micro-SD-Karte. Im normalen Betrieb wird diese Funktion nicht benötigt.

A2 Network Interface Names

Im zugrunde liegenden Debian wurden Predictable Names für die Bezeichnungen der Netzwerkschnittstellen eingeführt. Die Idee war, dass man von der Lage des Hardware-Busses darauf schließen kann, wie eine Schnittstelle benannt wird.9 Außerdem sollte das für eine konsistent gleiche Benennung sorgen. Zuvor wurde ethX genutzt und X jeweils mit einer Nummer beginnen ab 0 erhöht. Das kann bei mehreren Schnittstellen dazu führen, dass die Benennung nach Neustarts variiert: Aus eth0 wird eth1 und aus eth1 wiederum eth0. Dies kann unter Umständen problematisch sein, etwa wenn Firewall-Regeln den Datenverkehr für bestimmte Netzwerkadapter erlauben/verbieten sollen.10

Allerdings sind die neuen Namen wie enp0s31f6 oder wlp3s0 schwieriger zu merken, als die alten nach dem Schema eth0, wlan0 usw. Mit dieser Einstellung kann man wahlweise Predictable Names aktivieren, oder wieder auf die vorherige Benennung zurückkehren.

A3 Network Proxy Settings

In Unternehmen ist es üblich, dass PCs & Server nicht direkt ins Internet kommen. Sondern nur (kontrolliert) über einen Proxy-Server. Der kann hier bei Bedarf bequem eingestellt werden. Der Raspberry Pi bietet hier eine bequeme Oberfläche für die einschlägigen Umgebungsvariablen *_proxy wie http_proxy, https_proxy, ftp_proxy, no_proxy usw. Außerdem wird er ebenfalls für APT gesetzt, was inzwischen laut meinen Tests nicht mehr nötig ist – allerdings im Zweifel nicht schadet.

A4 Boot Order

Längst vorbei sind die Zeiten, in denen der Raspberry Pi ausschließlich von der Micro-SD Speicherkarte booten kann: Schon der Raspberry Pi 4 unterstützt den Start von USB-Laufwerken wie externen SSDs oder Festplatten. Der Bootloader kann sich dort seit einiger Zeit sogar selbst installieren, für den Nachfolger fehlt eine vergleichbare Möglichkeit bislang. Dafür kann dort per PCIe sogar eine M2-SSD direkt ohne Umweg über USB angeschlossen werden. Wie im X86 BIOS/UEFI könnt ihr in dieser Einstellung festlegen, in welcher Reihenfolge der Bootvorgang durchgeführt werden soll. Am sinnvollsten steht euer primäres Laufwerk an erster Stelle, um den Startvorgang nicht unnötig zu verlängern. Beim Raspberry Pi 4 gilt B2 nur für USB-Laufwerke, der Raspberry Pi 5 erweitert es auf M2 (NVMe) SSDs.

A5 Bootloader

Die Firmware des Raspberry Pi bringt manchmal neue Funktionen, wie z.B. das Booten vom Netzwerk beim Raspberry Pi. E1 aktualisiert automatische Aktualisierungen über einen Systemd-Dienst. Wenn Stabilität oberste Priorität hat, möchte man dies möglicherweise nicht und lieber die ab Werk installierte Firmware behalten. Manuelle Aktualisierungen sind weiterhin möglich.

A6 Wayland (Desktop) & A7 Audio Config

Im Raspberry Pi OS 12 hat sich technisch einiges getan – deutlich mehr, als im zugrunde liegenden Debian 12 Bookworm. So wurde der Anzeigeserver Standardmäßig von X11 zu Wayland gewechselt. Für den Ton ist Pipewire statt PulseAudio zuständig. Im kompletten Beitrag dazu findet ihr alle Änderungen, wie u.a. auch der Einzug des NetworkManagers. Einige dieser neuen Programme könnt ihr gegen die Vorgänger tauschen: A6 erlaubt die Re-Aktivierung von X11, mit X7 nutzt man wahlweise wieder PulseAudio.

Bei Problemen kann das nützlich sein, um zumindest den Fehler einzugrenzen – vor allem was Wayland angeht waren zur Veröffentlichung bestimmte Konstellationen bekannt, die nur eingeschränkt oder vorerst gar nicht mehr funktionieren. Ansonsten sollten diese beiden Einstellungen nicht verändert werden.

8 Update

Dahinter verbirgt sich kein Menü, da es sich um eine interne Update-Funktion handelt: Die Paketquellen werden aktualisiert und das Paket raspi-config aktualisiert.

9 About raspi-config

Zeigt die installierte Version an – nützlich, um etwa bei fehlenden/abweichenden Einstellungen zwischen mehreren Pis zu ermitteln, ob auf einem noch eine ältere Version installiert ist.

Man bekommt die Versionsnummern auch über die Paketverwaltung: Für die Kommandozeile heißt das Paket raspi-config, die grafische Version rc-gui.

u-labs@pi5:~ $ dpkg -l | grep raspi-config
ii  raspi-config                         20231216                            all          Raspberry Pi configuration tool
ii  rc-gui                               1.75                                arm64        raspi-config GUI

Unterschiede zum Raspberry Pi 4

Wie zuvor erwähnt, sind ein paar Einstellungen ausschließlich für den Raspberry Pi 5 verfügbar. Umgekehrt gibt es auch welche, die exklusiv am Raspberry Pi 4 zur Auswahl stehen. Weitere Unterschiede gibt es zwischen den verschiedenen Versionen des Raspberry Pi OS: In Version 11 findet sich z.B. unter 3 Interface Options noch der Eintrag I1 Legacy Camera für das alte Kamera-System. Dieser wurde im Nachfolger Raspberry Pi OS 12 entfernt. Im Folgenden wird jeweils das aktuelle Raspberry Pi OS 12 auf dem Raspberry Pi 5 mit dem Vorgängermodell RPI 4 verglichen.

2 Display Options: 5 4Kp60 HDMI

4 Performance Options

Hier ist P4 USB Current exklusiv für den Rasperry Pi 5 vorhanden, da dort das offizielle Netzteil von 3A auf 5A vergrößert wurde. P3 Fan richtet sich dagegen ausschließlich an den Raspberry Pi 4: Dort kann das Verhalten eines per GPIO-Leiste angeschlossenen Lüfters beeinflusst werden. Beim Nachfolger existiert eine eigene Buchse, worüber der Lüfter per PWM regelbar ist. Somit steht eine bessere Alternative zur Verfügung und P3 wurde entfernt.

Zwei Alternativen zum interaktiven raspi-config

Nicht-Interaktiv zur Ausführung auf dem Raspberry Pi

Wer die Einstellungen automatisiert über z.B. ein Skript oder Ansible-Playbooks setzen möchte, kann raspi-config auch nicht-interaktiv über die Kommandozeile nutzen.11 Dafür ruft man es mit dem Befehl noint (steht für non interactive) auf:

sudo raspi-config nonint <Befehl> <Werte>

Die möglichen Werte unterscheiden sich dabei je nach der Einstellung, die gesetzt wird. Um den Rechnername (Hostname) zu ändern, genügt der neue Name:

sudo raspi-config nonint do_hostname ul-pi5

Beim verbinden mit einem WLAN-Netzwerk werden dessen Name (SSID) sowie Passwort erwartet:

sudo raspi-config nonint do_wifi_ssid_passphrase ul-network SuperSicheresPasswort2024

Sollten die verfügbaren Werte vorgegeben sein, handelt es sich in der Regel um die Kürzel am Anfang, die in der interaktiven raspi-config Oberfläche zu sehen sind. Beispielsweise beim Startverhalten: B1 startet zur Konsole mit manueller Anmeldung, B2 mit automatischem Login. B3 startet in die grafische Desktop-Umgebung mit händischer Anmeldung, B4 steht für die gleiche Einstellung automatisiert.

sudo raspi-config nonint do_boot_behaviour B2

Vorkonfiguration mit dem Raspberry Pi Imager

Der Raspberry Pi Imager bietet in den OS Anpassungen einige Einstellungen zur Vorkonfiguration an. Nach dem Überspielen des Abbildes schreibt er diese in eine Textdatei und legt sie auf die Boot-Partition. Das Raspberry Pi OS ließt diese beim ersten Start ein.

Damit könnt ihr nicht alle Einstellungen setzen, die raspi-config euch bietet. Allerdings sind die gängigsten enthalten, welche für den Anfang wichtig sind: Etwa Hostname, Benutzername, ein Passwort oder SSH-Schlüssel, Netzwerkanbindung, SSH-Server aktivieren usw. So könnt ihr euch beispielsweise per SSH verbinden, um die restlichen Anpassungen per Bash-Skript/Ansible vorzunehmen. Je nachdem, wie viel angepasst werden soll, reichen die Möglichkeiten des Imager möglicherweise bereits aus.

Quellen & weiterführende Informationen

  1. https://www.raspberrypi.com/documentation/computers/configuration.html ↩︎
  2. https://www.elektronik-kompendium.de/sites/raspberry-pi/1906291.htm ↩︎
  3. https://amiaopensource.github.io/cable-bible/#composite ↩︎
  4. https://gpiozero.readthedocs.io/en/stable/remote_gpio.html ↩︎
  5. https://www.raspberrypi.com/documentation/computers/configuration.html#overclock-nonint ↩︎
  6. https://forums.raspberrypi.com/viewtopic.php?p=2161333#p2161333 ↩︎
  7. https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html#usb-boot-and-power-supplies ↩︎
  8. https://forums.raspberrypi.com/viewtopic.php?p=2170925#p2170925 ↩︎
  9. https://wiki.debian.org/NetworkInterfaceNames#THE_.22PREDICTABLE_NAMES.22_SCHEME ↩︎
  10. https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ ↩︎
  11. https://www.raspberrypi.com/documentation/computers/configuration.html#raspi-config-cli ↩︎

Leave a Reply