Raspberry Pi im Headless-Modus (mit Laptop statt externer Tastatur, Maus & Monitor)
Peter Voigt
peter.voigt1 at gmx.net
So Okt 27 18:19:27 CET 2013
Dank der z�gigen Abwicklung durch Wolfgang konnten die bestellten "Himbeeren"
schon beim letzten Treffen der Lugrav verteilt werden.
F�r einen ersten Test m�ssen weder Maus, Tastatur noch Monitor angeschlossen
werden. Im sog. *Headless-Modus* f�llt ein Laptop die L�cke. Mit einem PC
funktioniert es nat�rlich auch.
Vorgehensweise Headless-Modus
-----------------------------
- Eine *SDHC-Karte* mit dem neuesten Raspbian beschreiben und am Raspberry Pi
einklinken.
- Den Raspberry Pi mit einem Netzwerkkabel an den *Switch* eines lokalen Netzes
anst�pseln, in welchem ein DHCP-Server aktiv ist.
- Den Raspberry Pi per Ladeger�t eines Smartphones ans *Stromnetz* anschlie�en
und kurze Zeit warten, bis die LEDs auf dem Board nicht mehr flackern.
- Ermitteln, welche *IP-Adresse* der Raspberry Pi nutzt.
- Per *SSH* als Benutzer 'pi' mit Passwort 'raspberry' auf das Ger�t zugreifen.
Stolperstein SDHC-Karte
-----------------------
Zu Beginn sollte man eine Karte mit mindestens 4 GB aber nicht mehr als 32 GB
einsetzen.
Laut Forum soll nicht jede SDHC-Karte funktionieren.
Jeder Hersteller hat Karten im Angebot, die laufen oder nicht laufen.
Es gibt kein erkennbares Kriterium. Die Hersteller legen die verbauten Controller
nicht offen. Deshalb ist halt zu probieren, bis es mit einer Karte klappt.
Die im Internet verbreiteten Listen funktionierender Karten sind mit Vorsicht
zu genie�en, weil die Hersteller die technische Auslegung ihrer Karten ohne
Vorwarnung �ndern, ohne die Modellbezeichnung anzupassen.
(Bei mir lief bereits die erste Micro-SDHC-Karte mit NoName-Adapter auf dem Rasp-
berry Pi. Mein Problem war nur, einen Rechner zu finden, der gewillt war, diese
Karte mit dem Image zu beschreiben.)
Alternative: Man kann Karten mit vorinstalliertem OS kaufen. Solche Karten sollten
am Raspberry Pi funktionieren.
Auswahl OS
----------
F�r den ersten Versuch habe ich Raspbian als OS gew�hlt, weil es sich um ein
Standard-Debian mit geringen �nderungen handelt, welches im Internet gut doku-
mentiert ist.
Die aktuelle Version findet sich auf 'http://www.raspberrypi.com/downloads'.
Es gibt mehrere Raspbian-Versionen. Ich habe das Raw-Image (im Download rund 0,5 GB)
gew�hlt.
Die herunter geladene Datei wurde mit 'unzip' in ein 2,8 GB gro�es Image
expandiert und per 'dd' auf die SDHC-Karte geschrieben. Das Beschreiben dauerte
eine gef�hlte Ewigkeit. Ich habe den Rechner 2 Stunden allein gelassen. Als
ich zur�ck kam, war der Schreibvorgang beendet.
Vorteile eines Switches
-----------------------
Am besten verbindet man den Raspberry Pi beim ersten Mal �ber einen Switch
mit dem Laptop. Damit erspart man sich m�gliche Probleme:
- Manche Laptops verlangen Crossover-Kabel, falls kein Switch dazwischen
h�ngt. Die LEDs am Raspberry Pi flackern zwar, Pakete werden aber nicht
�bertragen.
- Manche Laptops haben Schwiergkeiten, sich mit dem Raspberry Pi auf eine
�bertragungsgeschwindigkeit einzustellen. Ein Switch vermeidet dieses Problem.
Ohne Switch bildet sich in solchen F�llen ein kritische Zeitfenster.
Die Netzwerkkarte solcher Laptops darf erst hochfahren, nachdem die
Netzwerkkarte am Raspberry Pi gestartet wurde, aber noch bevor dessen DHCP-
Client seine eigenen DHCP-Pakete versandt hat. Mit jenen Paketen fordert
der Raspberry Pi die IP-Adresse von dem DHCP-Server an. Das macht Raspbian
anscheinend nicht beliebig lange.
Verf�gt man �ber einen Router mit mehreren Netzwerkbuchsen f�r das lokale
Netz, kam man das Netzwerkkabel f�r den Raspberry Pi zwanglos ein-
st�pseln. Einen zus�tzlichen Switch braucht man dann nicht. Man sollte
vorsorglich pr�fen, dass jener Netzwerkport aktiv ist. Neuere
Router (und manche Switches) schalten unbenutzte Ports zum Stromsparen
ab.
DHCP-Server zwingend
--------------------
Vor dem Anschlie�en der Stromversorgung sollte man sich vergewissern, dass
ein DHCP-Server das lokale Netz versorgt. Ohne DHCP-Server klappt es nicht.
Alle g�ngigen Home-Router lassen in ihrer Default-Einstellung einen DHCP-
Server mitlaufen.
�ber die Weboberfl�che des Routers kann man h�ufig in Erfahrung bringen,
welches Ger�t welche IP-Adresse erhalten hat.
Die Fritzbox ist dabei vorbildlich. Sie zeigt den Raspberry Pi sogar mit dem
richtigem Namen an.
Ansonsten hilft auf dem Laptop ein beherztes 'nmap -T5 -sP 192.168.1.0/24'
weiter. Die IP-Adresse ist dabei dem im lokalen Netz verwendeten Adress-
bereich anzupassen.
Gibt es keinen solchen Router, muss der Laptop als DHCP-Server herhalten.
Unter Debian & Co. installiert man beispielsweise das Paket isc-dhcp-server
und erg�nzt drei Zeilen in /etc/dhcp/dhcpd.conf:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.20;
}
Dieses Beispiel unterstellt, dass eth0 eine Adresse aus 192.168.1.0/24
tr�gt und die Adressen von 192.168.1.10 bis 192.168.1.20 weder eth0 noch
anderen Netzwerkger�ten zugewiesen sind.
Anschlie�end ist der DHCP-Server mittels 'service isc-dhcp-server start'
in Betrieb zu nehmen.
Startet der DHCP-Server nicht, passen die eingesetzten IP-Adressen nicht
zur aktuellen Adresse von eth0. Entweder ist dann eth0 mittels
'ifconfig eth0 192.168.1.1' anzupassen oder es sind die Adressen in
/etc/dhcp/dhcpd.conf passend abzu�ndern.
Nach dem Hochfahren des Raspberry Pi findet sich die an ihn vergebene
IP-Adresse auf dem Laptop in der Datei '/var/lib/dhcp/dhcpd.leases'.
Geht man diesen Weg, ist zu beachten, dass der Start des DHCP-Servers das
kritische Zeitfenster, welches im Betrieb ohne Switch (siehe oben) entsteht,
ein weiteres Mal verk�rzt.
Ergebnis
--------
Nach Abschluss aller Vorbereitungen bootet der Raspberry Pi binnen k�rzester
Zeit.
Nach dem Einloggen per 'ssh pi at 192.168.1.10' (IP-Adresse ist anzupassen)
mit dem Passwort 'raspberry' erschien ein kurzer Text mit Hinweis auf ein
Konfigurationsprogramm.
Jenes Konfigurationsprogramm kam man ad hoc aufrufen. Es f�hrt den Benutzer
mit kurzen erkl�renden Hinweisen durch die Erst-Konfiguration.
Unter anderem muss das Image, das ja im Auslieferungsstand nur 2.8 GB umfasst,
auf die volle Kapazit�t der SDHC-Karte expandiert werden.
Wer schon mit Debian gearbeitet hat, f�hlt sich gleich wie zuhause.
Man sollte daran denken, in der Datei /etc/network/interfaces auf dem
Raspberry Pi eine feste IP-Adresse zu vergeben, damit der DHCP-Server
nicht mehr gebraucht wird.
Das Password f�r den Nutzer pi sollte bald mit dem Befehl 'passwd pi'
ge�ndert werden.
Vorinstalliert ist bei Raspbian ein rudiment�res X. Man kann es mit
dem erw�hnten Konfigurationsprogramm zu einer vollst�ndigen Desktop-
Umgebung erg�nzen. Daf�r wird ein funktionierender Internet-Anschluss
(oder ein lokaler Spiegel) ben�tigt.
Als n�chster Schritt steht das Einrichten eines VNC-Servers an, um mit
dem Raspberry Pi dauerhaft auf der X-Oberfl�che arbeiten zu k�nnen,
ohne externe Maus, Tastatur oder Monitor anschaffen zu m�ssen.
:)pv
Nicht vergessen: Vor dem Stromausschalten den Raspberry Pi runterfahren!
Mehr Informationen über die Mailingliste Lugrav