Raspberry Pi Zero Headless installieren
Kategorien: Raspberry Pi
Nachdem wir unter “Raspberry Pi Zero Rev 1.3 mit Pibow Case zusammenbauen” unseren Mini zusammengebaut haben, brauchen wir nun noch ein Betriebssystem um ihm Leben einzuhauchen.
Mein Monitor hat einen VGA- und einen DVI-Port, aber leider keinen HDMI-Port.
Aber das ist alles kein Problem, denn der Pi Zero lässt sich auch wunderbar einfach headless – also ohne Monitor und/oder Tastatur/Maus – installieren, da er eine neue Funktion mitbringt, die ein virtuelles Netzwerkgerät per USB emuliert und es via Avahi/Bonjour bereitstellt. (Ähnliche Technik wie Arduinos mit dem PC programmiert werden.)
Auf Grund dessen können wir den Pi Zero mittels USB-Kabel an unseren PC anschließen und er wird als Gerät mit einem virtuellen USB Ethernet-Adapter erkannt.
In meinem Fall verwende ich ein Windows 7-Betriebssystem – es sollte aber auch problemlos mit Windows 10 funktionieren – um für die Installation auf den Pi Zero zugreifen zu können. Dies geschieht dann über eine SSH-Verbindung.
Doch zu allererst die Frage, was wir alles benötigen:
- 4 – 8 GB MicroSD-Karte
- Raspberry PI Zero (W)
- Etcher
- Aktuelles Raspbian Image, welches wir später mit Etcher auf die SD-Karte flashen
(Raspian heißt jetzt Raspberry Pi OS – Stand 12/2020) - Putty
- ein einfacher Texteditor. Notepad, Notepad++, PSPad, usw. Kein WORD!
- Bonjour
Im ersten Schritt nutzen wir nun Etcher, welches wir heruntergeladen und installiert haben.
Die Bedienung ist simpel und auf drei Punkte beschränkt:
Raspbian-Image auswählen (es geht nicht mit Noobs!),
die SD-Karte auswählen, die natürlich im Rechner stecken muss,
und “Flash” macht den Rest.
Ist Flash fertig, wirft es die gemountete SD-Karte heraus. Wir müssen aber noch zwei Dateien anpassen, daher müssen wir die SD-Karte erneut an unserem PC einstecken.
Wir suchen die Datei “config.txt” auf der SD-Karte und öffnen Sie mit unserem kleinen Texteditor. Verwendet kein Word. Das Notepad unter Windows, oder eines der oben aufgeführten Alternativen verwenden, sonst könnte es passieren, dass irgendwelche Steuerzeichen in die Datei geschrieben werden und bei der config.txt handelt es sich um eine reine Textdatei.
An das Ende der config.txt-Datei fügen wir folgende Zeile hinzu und fügen nach ihr noch eine leere Extrazeile ein.
1 |
dtoverlay=dwc2 |
Wir speichern und schließen das Dokument.
Jetzt suchen wir die Datei “cmdline.txt” und öffnen sie ebenfalls mit unserem Texteditor und suchen nach “rootwait” in der langen Zeile:
1 |
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh |
Direkt hinter “rootwait” schreiben wir mit einem Leerzeichen folgenden Teil dazu:
1 |
modules-load=dwc2,g_ether |
So sollte der entsprechende Teil aussehen:
1 |
[...] rootwait modules-load=dwc2,g_ether quiet [...] |
Diese Datei können wir nun speichern und schließen.
Zum Abschluss müssen wir unbedingt noch eine leere Datei erzeugen, mit dem Namen “ssh”.
Diese Datei darf keine Endung haben und ist von essentieller Bedeutung, denn ohne sie ist eine SSH-Verbindung gar nicht möglich. Das hatte die Foundation als Sicherheit geändert, da viele ältere Raspberries ungewollt und unwissentlich per SSH von außen erreichbar waren.
Somit muss im Vorfeld unbedingt vom Benutzer festgelegt werden, ob er SSH will, oder nicht.
Wenn Ihr unter Eurem Windows die “Anzeige der Dateiendungen” deaktivert habt, dann könnt Ihr mit dem Start-Button in der Eingabezeile die erforderliche Datei einfügen. Wandelt den folgenden Befehl entsprechend dem Laufwerk Eurer SD-Karte ab:
1 |
touch j:\ssh |
Nun solltet Ihr in dem Verzeichnis, in dem Ihr die beiden oben genannten Dateien geändert habt, eine Datei namens “ssh” vorfinden.
Ist dies der Fall, so könnt Ihr die SD-Karte auswerfen und in den Pi Zero stecken.
Als nächstes installieren wir Bonjour auf unserem Rechner. Hier gibt es nicht viel zu sagen, da die Installation von alleine abläuft.
Es ist etwas merkwürdig, da die Software von Apple ist. Aber ohne dieses Protokoll können wir mit einem Windows-Rechner nicht via SSH auf den Pi Zero zugreifen.
Putty ist oben als Link eine portable Version und somit muss/kann sie nicht installiert werden. Wer das nicht möchte, muss unter putty.org nach der installierbaren Version schauen.
Jetzt verbinden wir den Pi Zero mit dem Micro-USB-Dataport mit unserem Computer. Durch den USB-Port wird er automatisch mit 5 V versorgt.
Achtung, jetzt kommt ein wichtiger Punkt, denn es funktioniert nicht jedes USB-Kabel. Handyladekabel mit Micro- auf Standard-USB haben bei mir zumindest nicht funktioniert, aber eines für meine Bluetooth-Kopfhörer.
Ihr müsst ein wenig ausprobieren. Eines wird schon funktionieren und wenn nicht, dann müsst Ihr Euch ein OTG-USB-Kabel besorgen. Das ist nicht viel teurer, als ein normales USB-Kabel, aber nicht jedes Multimediagerät hat so was dabei.
Wenn es richtig ist, merkt Ihr das daran, dass unter Windows (7) versucht wird ein RNDIS-Treiber zu installieren, was vermutlich scheitern wird.
Dies ist schon ziemlich komisch, zumal der RNDIS-Treiber Teil des Betriebssystems ist.
Ihr müsst Euch daher nicht auf die Suche machen, um einen passenden Treiber zu finden, sondern folgende Schritte abarbeiten:
Klickt “Start”->”Systemsteuerung”->”Geräte-Manager” an.
Es wird eine Liste angezeigt der Geräte angezeigt, die mit dem Computer verbunden sind.
Auch einen fehlerhaften Eintrag mit einem Ausrufezeichen versehen und zwar unser fehlendes Gerät, welches RNDIS benötigt.
Mit der rechten Maustaste klicken wir nun auf das fehlerhafte Device, wählen Eigenschaften aus und im darauffolgenden Fenster den Reiter “Treiber”.
Dort klicken wir auf “Treiber aktualisieren” und wählen jetzt “Auf dem Computer nach Treibersoftware suchen” aus.
Auf der nächsten Maske wählen wir aus dem unteren Bereich den Menüpunkt “Aus einer Liste von Gerätetreibern auf dem Computer auswählen” aus.
Wir wählen den Punkt “Netzwerkadapter” aus und es öffnet sich eine weitere Maske:
Dort suchen wir nach “Microsoft Cooperation” und wählen “Remote NDIS based Internet Sharing Device” aus.
Jetzt wird der Treiber installiert. Eventuelle Fehlermeldungen wie, dass der Treiber nicht korrekt sei, ignorieren wir. Ist alles ok, verschwindet der fehlerhafte Eintrag aus der Gerätemanagerliste und ist als Remote NDIS based Internet Sharing Device unter der Gruppe “Netzwerkadapter” zu finden.
Jetzt haben wir alles, was wir brauchen vorbereitet, um uns mit dem Pi Zero zu verbinden.
Dazu starten wir Putty und geben in die IP-Adress-Zeile “pi@raspberrypi.local” ein.
Unter “Translation” kann noch “UTF-8” als Zeichensatz ausgewählt werden.
Der Rest bleibt wie er ist.
Jetzt können wir uns via SSH auf dem Pi Zero anmelden.
Das Standard-Passwort für “pi” ist “raspberry”.
Um künftig WLAN zu benutzen, müssen wir nun ein paar Einstellungen auf dem Pi Zero vornehmen:
Hierzu tippen wir folgende Zeile ein und drücken Enter:
1 |
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf |
Mit den Pfeiltasten wandern wir an das Ende der Seite und fügen folgendes ein:
1 2 3 4 |
network={ ssid="DEIN_NETZWERKNAME" psk="DEIN_NETZWERKPASSWORT" } |
Danach drücken wir “CTRL + X” um zu beenden.
Wir werden gefragt, ob wir die Modifizierungen speichern möchten. Wir tippen ein “Y” ein und drücken Enter.
Jetzt müssen wir noch die Datei “interfaces” anpassen. Hierzu tippen wir folgende Zeile ein und drücken Enter:
1 |
sudo nano /etc/network/interfaces |
Dort müssen wir unsere Einstellungen für den WLAN-Stick vornehmen.
Da mein Pi Zero eine feste IP-Adresse und keine Adresse via DHCP zugewiesen bekommt, schaut mein Eintrag wir folgt aus:
1 2 3 4 5 6 7 8 9 10 11 |
allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet static address 192.168.0.99 # Feste IP-Adresse Pi Zero netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.254 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 192.168.0.250 # Hauseigener DNS |
Euren müsst Ihr natürlich entsprechend modifizieren.
Dann wieder mittels CTRL+X und Y Speichern.
Nutzt Ihr einen DHCP-Server, so sähe die Datei wie folgt aus (ohne Gewähr, da nicht getestet):
1 2 |
allow-hotplug wlan0 iface wlan0 inet dhcp |
Als nächstes solltet Ihr den Raspberry mit
1 |
sudo shutdown -h now |
herunterfahren und das USB-Kabel entfernen.
Jetzt steckt Ihr den USB-Stick mit Adapter in den Micro-USB-Dataport und ein passendes 5V-Netzteil in den Micro-USB-Power-Input.
Gebt ihm kurz Zeit hochzufahren und dann tippt Ihr statt “pi@raspberrypi.local” die IP-Adresse (meiner 192.168.0.99) in die IP-Adresszeile und drückt Enter.
Wenn alles glatt läuft, wird eine SSH-Verbindung via WLAN aufgebaut.
Ändert aus Sicherheitsgründen unbedingt noch das Passwort für den User Pi, oder noch besser ersetzt ihn durch einen anderen Benutzer mit Passwort.
Jetzt könnt Ihr jederzeit via SSH auf den Pi Zero zugreifen und Programme installieren, usw.
Als erstes solltet Ihr mittels
1 |
suido apt-get update && sudo apt-get upgrade |
Euer Raspbian aktualisieren.
Viel Spaß und viel Erfolg mi Eurem Pi Zero…
3 Comments
Wolke
31. August 2022 at 11:20 pmEs ist ärgerlich aber ich komme nicht weiter. Trotz Beachtung aller Hinweise wird der Pi nicht als neues Gerät erkannt.
HarryL
30. Juni 2020 at 10:50 pmSuper,
habe einen Billig-WLAN-Dongle aus Spanien mit dem Realtek RTL8188EUS auf einem RaspberryPi Zero 1.3 per Mini-USB-Adapter damit zum Laufen gebracht!
Danke sehr!
wert
23. Februar 2020 at 11:39 amHinweis
zur pc verbuindung mit dem Datenport muss ein Datenkabel verwendet werden, da einfache ladekabel die dasten leitungen nicht mitführen, das halb funktionieren manche Kabel und manche nicht, da bei biligeren Geräten meist einfache Ladekabel dabei sind ohne Datenstrang,