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.
Mit diesem Post möchte ich gern meine Standardkonfiguration teilen.
Inhalt
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:
- Pi Filler starten
- alle SD-Karten entfernen
- Image auswählen
- SD-Karte einstecken und in
RASPBERRY
umbenennen (optional) Erase SD Card
anklicken- Passwort eingeben
- warten
Unter Windows
Windows-User greifen zu Win32 Disk Imager (Direktdownload). Auch hier ist der Vorgang denkbar einfach:
- SD-Karte einstecken
- Win32 Disk Imager starten
- Image auswählen
- Ziellaufwerk auswählen
Write
anklicken- Warnhinweis bestätigen
- warten
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.
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.
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.
Weitere Einstellungen
Es gibt noch ein paar weitere Einstellungen, die man sich anschauen sollte:
$ sudo raspi-config
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
.
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
.
Nach dem Betätigen der Eingabetaste wird nach der Standardsprache gefragt. Hier wählen wir de_DE.UTF-8
aus.
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.
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.
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.
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:
- Raspberry Pi herunter fahren:
$ sudo shutdown -h now
- SD-Karte aus dem Raspberry Pi entfernen
- Pi Copier starten
- Verzeichnis auswählen, wohin das Backup gespeichert werden soll
- Dateinamen angeben (oder Vorschlag einfach bestätigen)
- Entscheiden, ob das Backup komprimiert werden soll
- SD-Karte einstecken
Backup now
anklicken- Passwort eingeben
- warten
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:
- SD-Karte einstecken
- Win32 Disk Imager starten
- Bei
Image File
selber einen Pfad + Dateinamen festlegen - Quelllaufwerk auswählen
Read
anklicken- Warten
- Proxmox: „Failed to connect to Server“ mit Safari auf MacOS - 28. Januar 2023
- Loxone: Benachrichtigung per Telegram - 15. Januar 2022
- Telegram: Nachrichten per Bot von der Heimautomation aufs Handy - 2. Januar 2022
10 Comments