Ersteinrichtung des Raspberry Pi's ohne Tastatur+Monitor
Wer nicht die möglichkeit hat (oder nicht extra Geld für ein HDMI->DVI Kabel o.ä. ausgeben möchte) einen Monitor zur Ersteinrichtung seines RaspberryPI's zu verwenden, kann trotzdem durchstarten.
Es gibt (wie immer) mehrere Möglichkeiten:
- [al=Netzwerk]Über Netzwerk[/al]
- [al=UART]Über UART (serielles Kabel)[/al]
Für den RaspberryPi Zero (W) sowie A und A+ existieren zudem weitere Möglichkeiten:
- [al=OTG]USB OTG Mode[/al]
- [al=PiZeroW]PiZero: WLAN[/al]
[an=Netzwerk][/an]1.Möglichkeit - Über Netzwerk, sofern folgende Bedingungen gegeben sind:
- Ein DHCP-Server in eurem Netzwerk -> Normalerweise hat jeder Router ein DHCP-Server aktiviert (darüber wird jedem Gerät die Netzwerkeinstellungen automatisch zugewiesen)
- Ein aktiver SSH-Server auf dem Raspberry
- Ein SSH-Client wie zum Beispiel PuTTY
Wer keinen DHCP hat kann aber trotzdem folgenden Trick anwenden:
- SD Karte in den Windows oder MAC Rechner stecken und auf die vFat Partition zugreifen in der nicht nur die config.txt sondern auch cmdline.txt Datei liegt
- cmdline.txt bearbeiten und folgendes in die erste und einzige Zeile einfügen:
Da gibt es aber folgendes zu beachten.
Die Syntax dieser Einstellung ist folgende:
client-ip: Die IP die der Raspberry haben/bekommen soll.
server-ip: Definiert normalerweise die IP des Netboot-Server's, wird in diesem Fall aber nicht benötigt!
gw-ip: Die Gateway-IP, normalerweise die IP eures Routers.
netmask: Ist eigentlich immer 255.255.255.0 aber sollte für euer Netzwerk passen.
hostname: Hostname des RaspberryPI, über den er im LAN ansprechbar wäre (DNS). Wird hier nicht benötigt!
device: Das Netzwerk Device für das diese Zuweisung gelten soll, in diesem Fall fürs Kabel: eth0
autoconf: erlaubt die Aktivierung/Deaktivierung der automatischen Konfiguration. Hier wählen Sie off
Wichtig ist das ihr keine IP doppelt belegt, die client-ip darf also noch nicht benutzt werden!
Achtet außerdem darauf das ihr in cmdline.txt nur eine Zeile habt!
Die Datei sollte also ungefähr folgenden Inhalt haben:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait ip=192.168.1.200::192.168.1.1:255.255.255.0:rpi:eth0:off
Unter Umständen reicht es aber auch nur ip=192.168.0.200 einzutragen, manchmal klappts manchmal aber leider auch nicht..
Seit ca. 2015 sieht die cmdline.txt geringfügig anders aus - wichtig ist hier einfach nur der letzte Teil!
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait ip=192.168.1.200::192.168.1.1:255.255.255.0:rpi:eth0:off
Wenn ihr eine Fritzbox nutzt ist euer Netzwerk Standardmäßig 192.168.178.xxx , also die ip= dann halt entsprechend anpassen.
Der Standard SSH Port ist normalerweise 22 , ihr könnt also anschließend normalerweise eine SSH Verbindung mit der in cmdline.txt eingestellten IP herstellen
Für gewöhnlich könnt ihr die aktuelle IP eures RaspberryPI's auch dem WebInterfaces eures Routers entnehmen, üblicherweise unter DHCP oder Netzwerkgeräte o.ä.
Nachdem ihr eine Verbindung hergestellt habt, könnt ihr den regulären Weg über die Datei /etc/network/interfaces gehen, die Standardmässig wie folgt aussieht:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
Oder für einer Festen / Static IP:
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.200
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1 8.8.8.8 8.8.4.4
Alles anzeigen
Vergesst aber nicht /boot/cmdline.txt anzupassen
[an=UART][/an]2.Möglichkeit - Über UART (serielles kabel)
(quelle1, quelle2)
Der Pi verfügt über eine UART Schnittstelle an den Pins 8 (GPIO14, RX) und 10 (GPIO15, TX). Diese "Modem-Verbindung" ist der Klassiker unter den Schnittstellen. Mit einem Programm wie PuTTY unter Windows oder GtkTerm unter Linux kann so auf die Konsole des Pi zugegriffen werden.
Über UART wird Standardmäßig auch der Bootvorgang ausgegeben und dient daher auch zur Fehlersuche/Debug.
Der Vorteil einer Konsole über die serielle Schnittstelle ist, dass man sowohl auf den Anschluss eines Monitors und Tastatur an den Pi verzichten kann, als auch ein Netzwerk nicht notwendig ist. Das ist zum Beispiel sehr hilfreich bei der Einrichtung eines WLAN-Sticks. Die WLAN-Konfiguration kann dann nämlich auf der seriellen Konsole eingerichtet werden und man muss nicht erst eine SSH-Verbindung per Netzwerkkabel herstellen.
Es gibt relativ günstige Serielle/UART Adapter-Kabel für USB wie zum Beispiel mit einem CP2102 oder PL2303 Chip (letzterer ist nicht mit Win8.1 kompatibel)
(Auch "USB to TTL Serial Cable/Adapter" genannt)
Wichtig und worauf unbedingt geachtet werden muss ist das die TTL Signal-Leitungen (RX und TX) nur mit maximal 3V3 arbeiten! Die GPIO's des RaspberryPi's vertragen nämlich nur max. 3.3V , alles da drüber würde den Pi beschädigen/zerstören! Es gibt nämlich auch TTL Kabel die mit 5V oder sogar 12V arbeiten.
Aus dem Adapter kommen mindestens vier Anschlüsse (siehe Bild im Spoiler):
- Schwarz: GND ...anschließen an... Raspberry Pin#6 (GND)
- Weiß: RX ...anschließen an... Raspberry Pin#10 (TX)
- Grün: TX ...anschließen an... Raspberry Pin#8 (RX)
- Rot: +5V VCC ...anschließen an... Raspberry Pin#2 (5V) ... NICHT anschließen wenn der Pi Strom vom Micro-USB bekommt!
RX steht für: Receive
TX steht für: Transmit
Was also der PI sendet (TX) muss der PC empfangen (RX) und andersherum: was der PC sendet (TX) muss der PI empfangen (RX)
ACHTUNG:
Falls ihr vor habt den PI ausschließlich über UART mit Strom zu versorgen sei an dieser Stelle auch noch angemerkt das über USB 2.0 nur maximal 500mA geliefert werden, was für manche Pi's aber nicht reicht! Siehe dazu Wie hoch ist der Stromverbrauch?
In dem Fall müsst ihr also das VCC Kabel weg lassen und den PI regulär mit Strom versorgen. Es ist aber auch enorm wichtig auf keinen Fall beides anzuschließen, dann brutzelt ihr den Pi ebenfalls.
Wenn der Adapter korrekt verdrahtet ist, bringt ein Terminal (PuTTY o.ä.) die Konsole des Pi auf den Schirm. Die Einstellungen sind folgende:
- Port:
- Linux: /dev/ttyUSB0
- Windows: COM3 oder ähnlich (je nachdem wie der USB Adapter eingebunden wurde)
- Baud-Rate: 115200
- Parity: None
- Bits: 8
- Stop-bits: 1
- Flow-Control: None
- XON/XOFF Flow Control: None
Wenn die Konsole funktioniert, kann der RasPi ohne weiteres Zubehör wie Netzwerk konfiguriert werden.
[an=OTG]USB OTG Mode:[/an]
Siehe dazu =>
..Übersetzung folgt..
[an=PiZeroW]PiZero: WLAN[/an]
Seit Einführung des "RaspberryPi Zero W", welcher WLAN Onboard verbaut hat, besteht für diesen die Möglichkeit direkt im /boot/ Verzeichnis eine wpa_supplicant.conf abzulegen, die dann direkt beim Systemstart integriert, aktiviert und gelöscht wird.
Das /boot/ Verzeichnis bzw genauer gesagt eine FAT32 Partition, ist jene die euch unter Windows angezeigt wird. Wichtig ist das ihr die Datei mit einem Linux kompatiblen Editor erstellt/bearbeitet.
Quelle: PI von Anfang an ohne Monitor / Keyboard - Grundconfig von /boot laden?