Raspberry Pi: meine Standardkonfiguration

Jahrelang ging der Raspberry Pi irgendwie an mir vorbei. Ich hatte natürlich mitbekommen, dass es da so einen kleinen Computer für schmales Geld gibt, aber mir erschloss sich irgendwie nicht, was ich damit machen soll. Kürzlich hat sich das geändert. Ich hab mir so ein Teil gekauft, und dann gleich noch einen. Dazu fliegen hier 4 Speicherkarten herum, wobei ich jede wahrscheinlich schon 5 mal mit einem Image bespielt habe. Da kommt Routine rein.

Raspberry Pi Modell B+

Raspberry Pi Modell B+

Mit diesem Post möchte ich gern meine Standardkonfiguration teilen.

Installation

Den Mini-Computer, nebst Speicherkarte und Netzteil habt ihr sicher schon. Was wir aber noch brauchen ist ein Betriebssystem, zum Beispiel Raspbian von der offiziellen Raspberry Pi-Seite (Direktdownload der neuesten Version). Außerdem ein Netzwerkkabel.

Zu aller erst muss das Betriebssystem, das in Form eines Image heruntergeladen wurde, auf die SD-Karte geschoben werden.

Am Mac

Unter Mac OS X verwendet man am einfachsten ein Tool wie den Pi Filler (Direktdownload).

Die Sache erklärt sich eigentlich von selbst:

  1. Pi Filler starten
  2. alle SD-Karten entfernen
  3. Image auswählen
  4. SD-Karte einstecken und in RASPBERRY umbenennen (optional)
  5. Erase SD Card anklicken
  6. Passwort eingeben
  7. warten
Pi Filler: Daten werden auf die SD-Karte geschrieben

Pi Filler: Daten werden auf die SD-Karte geschrieben

Unter Windows

Windows-User greifen zu Win32 Disk Imager (Direktdownload). Auch hier ist der Vorgang denkbar einfach:

  1. SD-Karte einstecken
  2. Win32 Disk Imager starten
  3. Image auswählen
  4. Ziellaufwerk auswählen
  5. Write anklicken
  6. Warnhinweis bestätigen
  7. warten
Win32 Disk Imager: Daten werden auf die SD-Karte geschrieben

Win32 Disk Imager: Daten werden auf die SD-Karte geschrieben

 

Konfiguration

SSH aktivieren

Bevor wir jetzt die SD-Karte in den Raspberry Pi stecken müssen wir noch SSH aktivieren, damit das System headless laufen kann und wir trotzdem jederzeit Zugriff darauf haben.

Seit Raspbian Jessie ist SSH aus Sicherheitsgründen standardmäßig deaktiviert, damit nicht jeder Raspberry Pi auf dieser Welt, ungeachtet seines Einsatzgebietes, von außen erreichbar ist.

Um SSH zu aktivieren reicht es, eine Datei oder einen Ordner mit dem Namen SSH auf der Bootpartition anzulegen. Dadurch erkennt Raspbian Jessie unseren Willen und schaltet SSH ein. Eine weitere Konfiguration ist nicht nötig.

Raspbian Jessie: SSH aktivieren

Raspbian Jessie: SSH aktivieren

Wenn wir das erledigt haben werfen wir die SD-Karte aus, stecken sie direkt in den SD-Reader des Raspberry Pi, verbinden ihn mit dem Netzwerk und schließen das Netzteil an.

Nach kurzer Zeit sollte die rote LED am Raspberry Pi leuchten und die grüne blinken. Sollte etwas schiefgegangen sein, einfach das Image nochmal neu auf die Speicherkarte bringen.

Per SSH verbinden wir uns auf den Raspberry Pi. Welche IP-Adresse dieser derzeit hat zeigt die Weboberfläche Eures Routers an. Sonst erreicht man ihn oft auch unter raspberrypi (variiert je nach verwendetem Image) oder sucht ihn mittels Pi Finder (Direktdownload).

Ebenfalls abhängig vom verwendeten Image sind Standard-Benutzername und Passwort. Viele verwenden als Benutzer pi und als Passwort raspberry.

Passwort ändern

Schritt 1 bei der Konfiguration ist das Ändern des Passwortes. Der passende Befehl dafür lautet

$ passwd

Hier greifen die System-Richtlinien, wie Passwörter gewählt werden müssen. Da grundsätzlich keines meiner Geräte von Außen über das Internet erreichbar ist, bevorzuge ich bei unkritischen Anwendungen auch eher einfachere Passwörter. Das erreichen wir mit

$ sudo passwd pi

Nun kann man ein beliebiges Passwort wählen.

Zeitzohnenkonfiguration

Damit der Raspberry Pi die richtige Uhrzeit bekommt, muss die Zeitzone korrekt eingestellt werden:

$ sudo dpkg-reconfigure tzdata

Als erstes wird hier die Region, anschließend die nächst größere Stadt ausgewählt und mit der Eingabetaste bestätigt.

tzdata: Zeitzone einstellen

tzdata: Zeitzone einstellen

Weitere Einstellungen

Es gibt noch ein paar weitere Einstellungen, die man sich anschauen sollte:

$ sudo raspi-config

raspi-config: Startbildschirm

raspi-config: Startbildschirm

Damit später der gesamte Speicherplatz auf der Karte zur Verfügung steht, muss das Dateisystem expandiert werden. Macht man dies nicht, sind irgendwann die 2 GB, die so zur Verfügung stehen, voll und der Raspberry Pi bekommt Probleme.

TIPP: Wer später ein Backup machen möchte (siehe ganz unten), überspringt diesen Schritt erstmal und macht ihn nach dem Backup. Das hat den Vorteil, dass Ihr das Backup dann auch auf einer kleineren Speicherkarte nutzen könnt.

Wir wählen also Expand Filesystem.

raspi-config: Dateisystem expandieren

raspi-config: Dateisystem expandieren

Beim nächsten Neustart wird die Aktion durchgeführt. Anschließend steht der volle Speicherplatz zur Verfügung.

Wenn wir einmal hier im Menü sind, stellen wir noch schnell die Sprache um. Viele Programme und einiges an Terminal-Ausgaben sind von da an in Deutsch. Wir hangeln uns über Internationalisation Options zu Change Locale, wählen de_DE.UTF-8 UTF-8 mit der Leertaste aus, und en_GB.UTF-8 UTF-8 ab.

raspi-config: Sprache auswählen

raspi-config: Sprache auswählen

Nach dem Betätigen der Eingabetaste wird nach der Standardsprache gefragt. Hier wählen wir de_DE.UTF-8 aus.

raspi-config: Standardsprache festlegen

raspi-config: Standardsprache festlegen

Wir bestätigen wiederum mit der Eingabetaste und warten, bis die Änderungen an den Spracheinstellungen übernommen wurden.

Hostname ändern

Spätestens wenn man sich den zweiten Raspberry Pi zulegt wird es unübersichtlich. Also verpassen wir ihm gleich einen neuen Namen. Das geht ebenfalls über raspi-config und ist unter Advanced Options -> Hostname zu finden.

raspi-config: Hostname festlegen

raspi-config: Hostname festlegen

Alternativ führt der Weg über die Kommandozeile:

$ sudo nano /etc/hostname

Den Inhalt aus Zeile 1 löschen und den neuen Namen eintragen. Anschließend mit STRG+X beenden und die Frage, ob die Änderungen gespeichert werden sollen, durch drücken der J-Taste, gefolgt von der Eingabetaste bestätigen.

$ sudo nano /etc/hosts

In Zeile 8 wird raspberrypi gegen den gewünschten Namen ausgetauscht.

127.0.1.1       raspberrypi

Zeit für einen Neustart

Hat man den Hostname über raspi-config geändert, fragt es direkt danach. Ansonsten:

$ sudo reboot

System updaten

Sobald das System wieder verfügbar ist, loggen wir uns erneut per SSH ein, bringen die Paketverwaltung apt-get auf den aktuellen Stand, aktualisieren installierte Paket und werfen unnötiges von Board – alles in einem Rutsch. Wieder gefolgt von einem Neustart:

$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y && sudo reboot

Das dauert jetzt eine Weile.

Feste IP-Adresse vergeben

Wer feste IP-Adressen in seinem Netzwerk bevorzugt, kann diese wie folgt einstellen:

$ sudo nano /etc/network/interfaces

Es lassen sich sowohl für LAN, als auch für WLAN, feste IP-Adressen einstellen. In der Konfigurationsdatei werden die benötigten Informationen zur IP-Adresse, Subnet-Maske und dem Gateway ins Internet einfach eingetragen.

In meinem Beispiel sieht das so aus:

Ethernet

auto lo
iface lo inet loopback
 
iface eth0 inet static
    address 192.168.243.20
    netmask 255.255.255.0
    gateway 192.168.243.1
    dns-nameservers 192.168.243.1

WLAN

Wenn der Raspberry Pi per WLAN ins Netz gebracht wird, kann es nicht schaden, die LAN-Schnittstelle auf DHCP zu stellen. So kommt man immer ohne Mühe an das System, falls mal der WLAN-Schlüssel geändert wird. Natürlich ist es auch möglich, für LAN und WLAN gleichzeitig feste IP-Adressen zu verwenden.

auto lo
iface lo inet loopback
iface eth0 inet dhcp
 
allow-hotplug wlan0
auto wlan0
#iface wlan0 inet dhcp
iface wlan0 inet static
    address 192.168.243.30
    netmask 255.255.255.0
    broadcast 192.168.243.255
    network 192.168.243.0
    gateway 192.168.243.1
    dns-nameservers 192.168.243.1
    wpa-ap-scan 1
    wpa-scan-ssid 1
    wpa-ssid "der Name des WLAN-Netzwerkdes"
    wpa-psk "Passwort des WLAN-Netzwerkes"

Sind alle Eintragungen angepasst/ergänzt, verlassen wir den Editor mit STRG+X und bestätigen das Speichern der Änderungen wieder mit der J-Taste, gefolgt von der Eingabetaste. Anschließend starten wir den Netzwerkdienst neu:

$ sudo service networking restart

Wenn sich die SSH-Verbindung aufhängt – einfach neu verbinden. Alternativ einfach einen Neustart durchführen:

$ sudo reboot

Probleme mit dem WLAN

Der Energiesparmodus

Der Raspberry Pi sollte nach der obigen Konfiguration nun per WLAN erreichbar sein. Allerdings kann es passieren, dass die Verbindung lahmt oder der kleine Computer einfach ständig nicht erreichbar ist. Das kann seine Ursache im aktivierten Energiesparmodus haben. Den Status kann man mittels

$ iwconfig

abfragen. Allerdings gibt es da einen kleinen Haken:
Die Angabe Power Management:off zeigt lediglich, dass das Betriebssystem keinen Energiesparmodus aktiviert hat. Was der Treiber macht, geht daraus nicht hervor.

iwconfig: Power Management:off

iwconfig: Power Management:off

Der Energiesparmodus des Treibers lässt sich wie folgt abfragen:

$ cat /sys/module/8192cu/parameters/rtw_power_mgnt

Wobei 8192cu für einen sehr weit verbreiteten Chipsatz des WLAN-Moduls steht. Als Antwort bekommen wir 1, was so viel bedeutet wie, dass Power Management (auf Treiberebene) eingeschaltet ist.

Sollte Euch der Chipsatz unbekannt sein, so ist das meist kein Beinbruch, denn es gibt noch den 8188eu, der ebenfalls sehr weit verbreitet ist. Wenn wir jetzt einfach bei beiden den Energiesparmodus deaktivieren, stehen die Chancen gut, erfolgreich zu sein.

Um den Energiesparmodus abzuschalten, editieren wir die Konfigurationsdateien mit dem Befehl

$ sudo nano /etc/modprobe.d/8192cu.conf

und fügen folgendes ein:

# Disable power management
options 8192cu rtw_power_mgnt=0

Im Zweifel passen wir für den anderen Chipsatz ebenfalls die Konfiguration an:

$ sudo nano /etc/modprobe.d/8188eu.conf

und fügen dabei folgendes ein:

# Disable power management
options 8188eu rtw_power_mgnt=0

Nach einem Neustart werden die Änderungen aktiv.

$ sudo reboot

Sobald der Raspberry Pi wieder gestartet und per SSH erreichbar ist, können wir den aktuellen Status abfragen:

$ cat /sys/module/8192cu/parameters/rtw_power_mgnt

Wenn als Antwort 0 kommt, ist alles gut gegangen.

WLAN automatisch neu verbinden

Zuweilen kann es vorkommen, dass die WLAN-Verbindung getrennt wird. So zum Beispiel bei einem Neustart des Routers. Der Raspberry Pi verbindet sich dann mit den Standardeinstellungen nicht automatisch neu, sodass nur ein Neustart oder Ziehen und Stecken des WLAN-Sticks Abhilfe schaffen.

Das beheben wir, indem wir das dafür verantwortliche Script gegen eines austauschen, das diese Funktion beinhaltet. Dazu erzeugen wir als erstes ein Backup des alten Scripts:

$ sudo mv /etc/ifplugd/action.d/ifupdown /etc/ifplugd/action.d/ifupdown.old

Anschließend kopieren wir das funktionierende Script an die alte Stelle…

$ sudo cp /etc/wpa_supplicant/ifupdown.sh /etc/ifplugd/action.d/ifupdown

…und starten den Raspberry Pi neu:

$ sudo reboot

Midnight Commander installieren

Der Midnight Commander sollte auf keinem System fehlen. Er ist das Linux-Pendant vom Norton Commander, der zu DOS-Zeiten wohl auf den meisten Computern zu finden war. Installiert wird er mit

$ sudo apt-get install mc

und lässt sich von überall auf der Kommandozeile mittels

$ mc

starten. Wer lieber mit dem internen Editor arbeitet, statt mit nano, findet diese Einstellung unter

Optionen -> Einstellungen:
[ ] Internen Editor benutzen

Mit der Leertaste wird die Option aktiviert. Anschließend öffnet sich nach dem betätigen der F4-Taste der interne Editor.

Midnight Commander: Internen Editor benutzen

Midnight Commander: Internen Editor benutzen

SAMBA einrichten

Für die Freigabe von Netzwerkordnern für Windows-Computern wird der SAMBA-Server benötigt. Den installieren wir mit

$ sudo apt-get install samba samba-common-bin

Anschließend müssen noch ein paar Einstellungen vorgenommen und Freigaben eingerichtet werden.

$ sudo nano /etc/samba/smb.conf

Es empfiehlt sich, die Passwortabfrage zu aktivieren. Dazu suchen wir die Zeile mit dem Inhalt #   security = user und entfernen die #, die diesen Eintrag auskommentiert.

Am Ende der Datei werden die Freigaben eingetragen. Bei mir ist immer das Verzeichnis /opt dabei, um schnell auf die installierte Software zugreifen zu können.

[opt]
path = /opt
writeable = yes
guest ok  = no

Weitere Freigaben werden nach dem gleichen Schema einfach unten angefügt. Anschließend muss noch ein Benutzer nebst Passwort für den Zugriff angelegt werden:

$ sudo smbpasswd -a pi

Nach einem Neustart des Dienstes steht die Dateifreigabe zur Verfügung:

$ sudo /etc/init.d/samba restart

AFP einrichten

Wenn man mit einem oder mehreren Mac-Computern auf den Raspberry Pi zugreifen möchte, ist AFP die bessere Wahl. Zwar versteht sich der Mac auch mit einem SAMBA-Server, aber AFP läuft einfach flüssiger.

$ sudo apt-get install netatalk

Nach dem die Installation durchgelaufen ist, müssen auch hier noch ein paar Sachen konfiguriert werden. Für etwas bessere Performance schalten wir zu aller erst die Abwärtskompatibilität zu Mac OS-Versionen vor OS X (also OS 9 oder früher) aus:

$ sudo nano /etc/default/netatalk

Dabei setzen wir folgende Einträge:

CNID_METAD_RUN=yes
AFPD_RUN=yes
ATALKD_RUN=no
PAPD_RUN=no
TIMELORD_RUN=no
A2BOOT_RUN=no

Anschließend werden die Dateifreigaben eingerichtet:

$ sudo nano /etc/netatalk/AppleVolumes.default

Eine Freigabe ist schon enthalten:

~/                      "Home Directory"

Sie repräsentiert die Freigabe des home-Verzeichnisses, welches jeder Nutzer vom System zugewiesen bekommt. Wir ergänzen unsere eigenen Freigaben. In meinem Fall wieder /opt:

/opt                    "opt"

Weitere Informationen zu den Parametern, die man in dieser Datei setzen kann, findet man hier. Zum Abschluss des Vorganges muss der Netatalk-Dienst neu gestartet werden:

$ sudo /etc/init.d/netatalk restart

Perl installieren

Solltet Ihr noch Perl benötigen:

$ sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl

Tipp: .deb-Packages installieren

Manche Pakete/Software bekommt man als .deb-Datei aus dem Internet. Zur Installation werden diese in ein beliebiges Freigabeverzeichnis auf dem Raspberry Pi geschoben und mit dem Befehl

$ sudo dpkg -i <debfile>

installiert.

Backup anfertigen

Wenn man viel ausprobiert geht auch mal was kaputt. Um nicht jedes Mal wieder bei null anfangen zu müssen, machen wir noch schnell ein Backup.

Am Mac

Mac-User verwenden dafür Pi Copier (Direktdownload). Auch dieses Prozedere ist denkbar einfach:

  1. Raspberry Pi herunter fahren:
    $ sudo shutdown -h now
  2. SD-Karte aus dem Raspberry Pi entfernen
  3. Pi Copier starten
  4. Verzeichnis auswählen, wohin das Backup gespeichert werden soll
  5. Dateinamen angeben (oder Vorschlag einfach bestätigen)
  6. Entscheiden, ob das Backup komprimiert werden soll
  7. SD-Karte einstecken
  8. Backup now anklicken
  9. Passwort eingeben
  10. warten
Pi Copier: Backup läuft

Pi Copier: Backup läuft

Unter Windows

Hier verwenden wir das gleiche Tool wie oben, den Win32 Disk Imager. Diesmal wählen wir jedoch kein vorhandenes Image aus, sondern legen ein neues an. Der Ablauf:

  1. SD-Karte einstecken
  2. Win32 Disk Imager starten
  3. Bei Image File selber einen Pfad + Dateinamen festlegen
  4. Quelllaufwerk auswählen
  5. Read anklicken
  6. Warten

Wind32 Disk Imager: Backup läuft

Sebastian

Sebastian

...ist staatlich geprüfter Techniker für Elektrotechnik, Schwerpunkt Prozessautomatisierung und Energietechnik. Die Themen Automatisierung und Programmierung haben es ihm besonders angetan.
Außerdem ist er für jede technische Spielerei zu haben 😉
Sebastian

2 Comments

  1. Heiko Böhme
    Antworten Heiko Böhme

    Hallo Sebastian, kannst du den Artikel noch um eine SSH-Konfiguration erweitern?
    Danke, Heiko!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.