Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In dem heutigen Artikel möchten wir zeigen wie man eine Headless-Installation von Raspbian vornimmt. Headless bedeutet in diesem Fall, dass für die Ersteinrichtung weder Monitor noch Tastatur oder Maus notwendig sind. Oftmals ist am späteren Einsatzort des Raspberry Pi keine Tastatur und auch kein Monitor vorgesehen und meistens auch nicht notwendig. Sollte nun ein neues System in Betrieb genommen werden oder aber die SD-Karte muss ausgetauscht werden, kann man diese bequem am eigenen Rechner vorbereiten und anschließend den Raspberry Pi direkt damit booten. Er verbindet sich dann automatisch mit dem eingestellten Netzwerk und stellt einen SSH Zugang bereit.

Diese Anleitung kann generell für das von der Raspberry Pi Foundation empfohlene Raspbian Betriebssystem verwendet werden. Dieses auf Debian Linux basierte System ist optimal auf den Raspberry Pi voreingerichtet und bringt notwendige Treiber usw. direkt mit. Für andere Distributionen, die ebenfalls auf dem Raspberry Pi verwendet werden können, kann diese Anleitung nur bedingt verwendet werden.


Info
Da der balenaFin ebenfalls mit Raspbian betrieben werden kann, ist diese Anleitung auch für ihn verwendbar. Dabei ist aber zu beachten, dass der balenaFin Anpassungen am Raspbian Image benötigt. Ein Raspbian Stretch für den balenaFin stellt der Hersteller bereit, für Raspbian Buster zeigen wir in einem separaten Artikel wie man dafür ein Image selbst herstellen kann. 


Benötigte Hardware:


Benötigte Software:


In diesem Fall nutzen wir das Lite Image von Raspbian. Dieses stellt ein Minimalsystem ohne grafische Oberfläche zur Verfügung. Es kann natürlich auch ein Image mit grafischer Oberfläche oder eine Full Installation verwendet werden.


Nach der Installation von Balena Etcher und optional 7-Zip wird nun das Raspbian Buster Image in ein Verzeichnis nach freier Wahl entpackt.


Im Anschluss starten wir Balena Etcher und wählen das entpackte IMG Image mit „Flash from file“ aus.

Nachdem die SD-Karte eingelegt worden ist (evtl. ist noch ein Adapter notwendig) wird diese automatisch angezeigt, kann aber auch alternativ über den Button „Change“ geändert werden.

Anschließend kann der Flash Vorgang gestartet werden. Je nach Schnelligkeit der SD-Karte kann dies durchaus etwas länger dauern (~20 Minuten), dies ist jetzt der beste Zeitpunkt für einen Kaffee (smile)



In der Standardeinstellung wird durch den balena Etcher die SD-Karte nach Fertigstellung des Images aus dem System entfernt (Kann unter "Settings" => "Eject on success" deaktiviert werden). Da aber für den Headless-Betrieb noch ein paar Änderungen notwendig sind muss diese nun wieder eingesteckt werden.

Info

Sie planen ein IoT, Automatisierungs- oder Embedded Projekt? Mit über 30 Jahren Erfahrung und zertifiziert nach DIN EN ISO 9001:2015 unterstützen wir Sie in jeder Phase Ihres Projektes. Ob Auswahl der geeigneten Hardware, Planung, Projektierung und Umsetzung, individuelle Anpassungen, Implementierung, Logistik oder Ausbau und Betreuung  der Infrastruktur - sprechen Sie uns einfach an. Zu fairen Konditionen setzen wir gemeinsam mit Ihnen das Projekt erfolgreich um.


Kontakt: IoT@ico.de oder telefonisch unter 06432 / 9139 - 320

SSH Zugriff

Da wir später keine Maus, Tastatur und Bildschirm am Raspberry Pi angeschlossen haben, benötigen wir einen aktivierten SSH-Server auf dem Raspberry Pi. Per Default ist dieser nicht gestartet, kann aber ganz leicht gestartet werden. Dazu muss lediglich eine leere Datei mit dem Namen „ssh“ im Rootverzeichnis der SD-Karte angelegt werden. Die Datei darf keine Endung wie .txt oder .rtf haben.

Dazu am besten in den Einstellungen des Windows Explorers unter "Ansicht" => "Optionen" => "Ansicht" den Punkt "Erweiterungen bei bekannten Dateitypen ausblenden" deaktivieren und die Listenansicht aktivieren.

Beim ersten Start wird die Datei von Raspbian ausgewertet, der SSH Server wird aktiviert und anschließend wird die Datei gelöscht. 


Damit überhaupt per SSH auf den Raspberry zugegriffen werden kann ist eine funktionierende Netzwerkkonfiguration notwendig. Dabei muss man unterscheiden ob der Raspberry Pi per Kabel und/oder sich über WLAN verbinden soll. Ebenfalls muss in beiden Fällen noch entschieden werden ob er eine IP-Adresse über DHCP beziehen soll oder ob eine statische IP-Adresse auf dem Raspberry Pi vergeben werden soll. Standardmäßig sind alle Interfaces auf DHCP voreingestellt.


Netzwerkkabel mit DHCP

Hierbei sind keine weiteren Schritte notwendig, der Raspberry Pi bekommt automatisch eine IP-Adresse aus dem DHCP Bereich zugewiesen. Die IP-Adresse kann mit

Code Block
ping raspberrypi.local

oder alternativ mit

Code Block
ping -4 raspberrypi.local

ermittelt werden. Raspberrypi.local ist in dem Fall der Hostname der automatisch auf dem Raspberry Pi eingerichtet wird.


Netzwerkkabel mit statischer IP

Für eine statische IP Adresse muss in der Datei „cmdline.txt“ auf der SD-Karte ein weiterer Parameter hinzugefügt werden. Dazu einfach am Ende einen weitere Leerschritt einfügen und folgenden Eintrag ergänzen:

Code Block
ip=192.168.178.15

Dies konfiguriert die Netzwerkkarte mit der IP Adresse 192.168.178.15 und der Subnetmaske 255.255.255.0.

Sollte eine andere Subnetmaske erforderlich sein muss der Parameter wie folgt eingetragen werden:

Code Block
ip=10.0.0.1:::255.255.248.0

Hintergrundinformationen über die einzelnen Parameter findet man unter diesem Link:

https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt

Allerdings sollte bei dieser Variante nach dem ersten Start das Netzwerk manuell konfiguriert werden (Beschrieben in unserem Artikel über die Schritte nach der Installation) und der Eintrag danach wieder aus der „cmdline.txt“ entfernt werden.


WLAN Konfiguration mit DHCP

Für die automatische Konfiguration des WLAN mit DHCP ist es erforderlich im Rootverzeichnis der SD-Karte die Datei „wpa_supplicant.conf“ anzulegen. Dort werden dann u.a. die SSID und das Kennwort gespeichert. Diese Datei wird beim ersten Start des Raspberry Pi nach „/etc/wpa_supplicant/wpa_supplicant.conf“ kopiert und ist für die Konfiguration des WLAN verantwortlich.

Unter „country“ wird der zwei Buchstaben Ländercode nach ISO 3166-1 eingetragen, SSID und PSK stehen für die SSID und den WLAN Schlüssel.

Nach dem Starten kann dann entweder direkt aus dem Router die IP Adresse des Raspberry Pi ausgelesen werden oder alternativ mit

Code Block
ping -4 raspberrypi.local

ermittelt werden.


Jetzt sind die grundlegenden Dinge für einen Headless-Installation eingerichtet, der Raspberry Pi kann nun von der SD-Karte oder beim balenaFin über das eMMC gestartet werden. Da der Raspberry Pi mit dem Netzwerk verbunden ist und der SSH Server aktiviert wurde lässt sich beispielsweise mit Putty direkt auf ihn zugreifen. Der Standarduser und das Standardkennwort lauten:

Code Block
User: pi
Pass: raspberry

Im nächsten Schritt sollten nun ein paar grundlegende Dinge auf dem Raspberry Pi eingerichtet werden, dies beschreiben wir unter Grundeinrichtung Raspberry Pi OS (Raspbian).