RaspBerryPi ohne Tastatur und Bildschirm einrichten
Stand: 30.09.2020
Vorwort
Vorab, Raspbian wurde umbenannt und heißt nun Raspberry Pi OS.
Immer wieder ist man mit einer Standardinstallation für neue Entwicklerboards konfrontiert. Aus diesem Grund habe ich in dieser kurzen Anleitung alle mir wichtig erscheinenden Dinge zusammengefasst.
Ziel ist es, dass man zu keinem Zeitpunkt einen Bildschirm oder eine Tastatur anschließen muss. Dafür müssten nämlich alle Adapter, Kabel, Tastatur, … bereit stehen. Gerade beim PiZero oder Pi 3A+ ist dies durch eingeschränkte Anschlussmöglichkeiten schwierig.
Ich verwende für alle Arbeiten Linux (i. d. R. Ubuntu mit Cinnamon oder XFCE als Oberfläche). Es geht aber auch alles unter Windows oder macOS. Lediglich für direkte Änderungen im root-Dateisystem, ext4, ist Linux erforderlich. Das ist aber nur im Fehlerfall notwendig, wenn bspw. WiFi nicht richtig konfiguriert wurde und kein Zugriff über das Netzwerk möglich ist. Dafür benötigt man ohnehin einige Linux-Kenntnisse.
Geht etwas schief oder läuft nicht wie erwartet, kann man auch problemlos von vorn anfangen. Es geht alles ohne großen Zeitaufwand und „Übung macht den Meister“.
1. Beschaffung
Nachdem bspw. Pimoroni mit der deutschen Niederlassung weggefallen ist, ist die Beschaffung schwierig geworden. Hohe Portokosten und Preise trüben den Eindruck noch. Hier ein wenig bekannter Shop, den ich gefunden habe – www.welectron.com – sehr gut aufgeräumter Webshop mit hervorragender Konfigurationsmöglichkeit und halbwegs moderaten Portokosten. Nicht alle Artikelgruppen sind günstig, aber für Raspi und -Erweiterungen gut. Es lassen sich seht gut „Bundles“ zusammenstellen.
Zwei Beispiele, ein Pi Zero W kostet aktuell 16,08 EUR, der WH mit aufgelöteter Stiftleiste, 16,47 EUR, nur 39 Cent mehr. Andere Anbieter verlangen dafür einen Aufpreis von bis zu 3 EUR. Der Raspi 3 A+ ist aktuell für 23,83 EUR – auch sehr interessant – zu haben. Ab 80 EUR Portofrei, sonst 3,95 EUR. Zahlung auch mit PayPal und auf Rechnung, bei Vorkasse sogar 2% Rabatt.
2. microSD-Karte vorbereiten
Das System wird aktuell mit dem rpi-imager auf eine microSD-Karte übertragen. (Die Verwendung von Etcher wird nicht mehr empfohlen.) Das aktuelle Image kann ausgewählt und direkt auf eine microSD-Karte geschrieben werden.
https://www.raspberrypi.org/downloads/
Raspberry Pi Imager Windows https://downloads.raspberrypi.org/imager/imager_1.4.exe
Raspberry Pi Imager macOS https://downloads.raspberrypi.org/imager/imager_1.4.dmg
Raspberry Pi Imager Ubuntu https://downloads.raspberrypi.org/imager/imager_1.4_amd64.deb
rpi-imager installieren für Ubuntu und alle Debian-basierten Derivate
# dpki -i imager_1.4_amd64.deb
- bei Fehlermeldungen während der Installation nachfolgenden Befehl
# apt install -f # rpi-imager
Empfehlung Rasbberry Pi OS (Other) –> Rasbberry Pi OS Lite (32-bit) ohne grafische Oberfläche
mit Write – Warnung – alle Daten auf dem Zieldatenträger werden überschrieben! ausführen
nach wenigen Minuten (zwei) ist das Image heruntergeladen und installiert (schnelle Internetverbindung vorausgesetzt)
$ sudo rpi-imager QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' QObject::setParent: Cannot set parent, new parent is in a different thread mountutils: Reading /proc/mounts mountutils: Closing /proc/mounts Sector size: 512 Device size: 31914983424 Try to perform TRIM/DISCARD on device BLKDISCARD successful Hash of uncompressed image: "3fe88721668543899fc8de9168bed798bdaa795b5a403f0332d7731b0afbaaa3" Write done in 89 seconds Verify done in 26.847 seconds Verify hash: "3fe88721668543899fc8de9168bed798bdaa795b5a403f0332d7731b0afbaaa3" Writing first block (which we skipped at first) mountutils: Reading /proc/mounts mountutils: Closing /proc/mounts
Karte auswerfen, entnehmen, neu einlegen
Man kann auch ältere Images auf microSD-Karte kopieren. Dafür muss das passende Image nicht entpackt werden (Downloads – siehe 99. gute Links). Die heruntergeladene zip-Datei wird direkt verarbeitet und muss nicht entpackt werden. Das ist sehr praktisch und spart viel Speicherkapazität. Der Menüpunkt Use custom – Select a custom .img from your computer suggeriert etwas anderes, also dass man die img-Datei zuerst entpacken müsste.
3. ssh und WLAN aktivieren
auf der Karte die boot – Partition öffnen
Datei mit dem Dateinamen – ssh – ohne Inhalt anlegen
Die Entwicklerboards Pi Zero W oder Pi 3A+ besitzen kein Ethernet. Deshalb ist es um so wichtiger, das WLAN zu aktivieren! Dafür muss nachfolgende Datei konfiguriert werden.
Datei wpa_supplicant.conf direkt in der boot – Partition anlegen. beispielhafter Inhalt (das Password stimmt natürlich nicht!):
Datei wpa_supplicant.conf in der Boot-Partition (Raspbian Stretch)
country=DE ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="Cookie Gast" psk="Password" key_mgmt=WPA-PSK }
Hinweis:
Die Datei ssh wird mit dem Start gelöscht. Die Aktivierung von ssh erfolgt einmalig! Wichtig: ssh unter Pkt. 4 aktivieren!
Auch die Datei wpa_supplicant.config im root wird durch das System einmalig verarbeitet und nach /etc/wpa_supplicant/wpa_supplicant.conf in der root-Partition verschoben. Wichtig für eine Fehlersuche nach dem ersten Start.
4. nach dem Erststart mit ssh verbinden
IP-Adresse des RasPi ermitteln
$ sudo nmap -sP 192.168.178.0/24 : Nmap scan report for 192.168.178.124 Host is up (0.052s latency). MAC Address: B8:27:EB:D7:8F:5E (Raspberry Pi Foundation) :
$ ssh pi@192.168.178.124
Standardkennwort: raspberry
(möglicherweise englische Tastatur beachten, also z => y)
5. Erstkonfiguration nach dem Start
$ sudo raspi-config 1 Passwort ändern 2 Netzwerk - Netzwerkname ändern 3 Boot-Optionen - B1 Desktop/CLI - B1 Console 4 Lokalisation - I1 Change Locale - [*] de_DE.UTF-8 UTF-8 4 Lokalisation - I3 Keyboard - Deutsch 5 Interface Options - P2 ssh aktivieren!!! 7 Advanced Options - A1 Dateisystem auf die gesamte Karte erweitern
Alle weiteren Einstellungen nach Bedarf.
bspw. Anpassung der ~/.bashrc - alias ll='ls -laF ...'
An dieser Stelle wird ein erster Neustart empfohlen.
bei falscher Tastatur-/Länderkonfiguration auf cli-Ebene wiederholen
$ sudo dpkg-reconfigure locales $ sudo dpkg-reconfigure keyboard-configuration
6. statische IP-Adresse festlegen (ab Debian 10 – buster)
für Server, Internetradio, … empfohlen
IPv6 deaktivieren
$ sudo nano /etc/sysctl.conf - nachfolgende Zeile ergänzen : # added by BeM 2020-07-24 net.ipv6.conf.all.disable_ipv6 = 1 :
# um die Einstellung direkt zu aktivieren
$ sudo sysctl -p
# Kontrolle mit
$ ip addr show
NEU für statische IP-Adresse
$ sudo nano /etc/dhcpcd.conf # Example static IP configuration: # all duplicate lines BeM 2020-07-24 #interface eth0 interface wlan0 #static ip_address=192.168.0.10/24 static ip_address=192.168.178.133/24 #static ip6_address=fd51:42f8:caae:d92e::ff/64 #static routers=192.168.0.1 static routers=192.168.178.1 #static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1 static domain_name_servers=192.168.178.1 1.1.1.1
7. wpa-conf schützen
/etc/wpa_supplicant/wpa_supplicant.conf
Rechte der WiFi-Konfiguration anpassen und somit vor unberechtigten Blicken schützen. Nur root als Eigentümer darf diese lesen und ändern! Sollte bereits so richtig sein.
$ sudo chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf
Wenn alles funktioniert hat kann man sich, nach einem Neustart, auf die fest vergebene IP verbinden und das System aktualisieren.
$ sudo apt update $ sudo apt upgrade
Ein System-Backup ist keine schlechte Idee, bevor man das System für den tatsächlichen Eisatzzweck weiter konfiguriert.