#!/coding/blatt
Sammelsurium mit Schwerpunkten Linux & IT-Sicherheit

Raspberry Pi: Headless-Installation ohne Raspberry Pi Imager

Zur Installation von Raspberry Pi OS auf einem Raspberry Pi gibt es mit dem Raspberry Pi Imager eine benutzerfreundliche GUI-Lösung. Ich selbst führe die Installation aber weiterhin auf die altmodische Weise ohne Imager-GUI durch. Was dafür zu tun ist, beschreibe ich in diesem Beitrag.

Folgende Hardware bzw. Software wurde verwendet:
  • Notebook mit Arch Linux
  • Raspberry Pi 3B+
  • Raspberry Pi OS Lite (Release vom 04. April 2022)
  • OpenSSL v1.1.1n

Raspberry-Pi-OS-Image herunterladen & auf SD-Karte kopieren

Als erstes ladet das Image von der Download-Seite für eurer Raspberry-Pi-Modell herunter. Bevor das Image auf die SD-Karte kopiert wird, ist es empfehlenswert das Image bzw. die Signatur zu verifizieren (siehe Software-Signaturen verifizieren). Danach entpackt die Image-Datei z.B. mit dem Befehl unxz.

Zum Kopieren der Imagedatei auf die SD-Karte benötigt ihr den Pfad zur SD-Karte. Der Pfad lässt sich bspw. mittels dem Befehl lsblk ermitteln. In meinem Fall lautet der SD-Karten-Pfad /dev/sdb. Anschließend erfolgt das Kopieren mithilfe von dd:

sudo dd if=2022-04-04-raspios-bullseye-arm64-lite.img of=/dev/sdb bs=4M
Terminal / Konsole

SSH aktivieren

Um SSH zu aktivieren, reicht es eine leere Datei namens ssh auf der Boot-Partition der SD-Karte anzulegen. Ich verwende dazu z.B. den Befehl touch:

touch /run/media/sl/boot/ssh
Terminal / Konsole

Benutzer anlegen

Seit dem letzten April Release gibt es keinen Standard-Benutzer namens pi mehr (siehe An update to Raspberry Pi OS Bullseye). Aus diesem Grund muss hierfür auf der Boot-Partition eine weitere Datei namens userconf angelegt werden. In dieser Datei sind die Zugangsdaten des beim ersten Booten anzulegenden Benutzers zu hinterlegen. Das Format für die Datei ist dabei benutzer:passwort. Das Passwort ist als SHA256/SHA512-Hash anzugeben.

Schreibt euer Klartext-Passwort in eine temporäre Datei z.B. in /tmp/pi.txt. Nun legt die userconf-Datei wie folgt an:

echo -n sl: > /run/media/sl/boot/userconf
cat /tmp/pi.txt | openssl passwd -6 -stdin >> /run/media/sl/boot/userconf
Terminal / Konsole

Die Klartext-Passwort-Datei könnt ihr nun z.B. mittels shred wieder sicher löschen.

Raspberry Pi booten & per SSH verbinden

Steckt die SD-Karte in euren Raspberry Pi, schließt diesen per Ethernet an euren Router und startet euren Raspberry Pi (Strom anschließen). Ihr müsst nun nur noch die IP-Adresse bzw. den Hostnamen eures Raspberry Pi in eurem Netzwerk ermitteln. Hierzu siehe z.B. Raspberry Pi - Remote Access. Ich habe meinen Raspberry Pi einfach per ping von raspberrypi ermiteln können:

ping raspberrypi
PING raspberrypi.lan (192.168.1.228) 56(84) Bytes an Daten.
64 Bytes von raspberrypi.lan (192.168.1.228): icmp_seq=1 ttl=64 Zeit=2.70 ms
Terminal / Konsole

Abschließend könnt ihr euch dann per SSH mit eurem Raspberry Pi verbinden:

ssh sl@192.168.1.228
Terminal / Konsole

Fazit

Raspberry Pi OS lässt sich auch ohne Raspberry Pi Imager einfach und schnell installieren.