Raspberry Konfiguration

Für Windows Administratoren wird es erst mal "anders", denn wenn man den RasPi nicht per Tastatur und Mail und Monitor bedient, sondern per SSH, dann bleibt nur die Kommandozeile. Aber auch das ist gar nicht mal so schwer. Hier die wesentlichen Einstellarbeiten:

Vorgang Beschreibung

IP-Adresse

Wird per DHCP vergeben. Kann statisch gesetzt werden

Anmeldung

Per SSH oder an der Console:

Default username: pi 
Default Password: raspberry

Als Admin arbeiten

userAccountControl (uAC) ist nicht nur eine Windows Funktion, sondern auch bei Linux ist es üblich, dass man auf der Console sich zwar als Root oder Admin anmelden kann, aber dennoch nicht alle Rechte hat. Progamme müssen mit SuDO gestartet werden, damit sie privilegierte Aktionen ausführen können. SuDO muss also vor jeden Aufruf. Auch wenn RasPi per Default hier nicht erneut die Eingabe eines Kennworts erwartet, kann es aber schon nerven. Über folgende Zeile bekommt man eine SuDO-Shell, und erspart sich weitere SuDO-Voranstellungen.

sudo -i

# Alternativ
sudo su

Nutzen Sie diesen Weg aber nur wenn sie mehrere Befehle als Admin absetzen wollen. Mit "exit" verlassen Sie die privilegierte Shell

update aus dem Internet

Idealerweise Download aus dem Internet, indem der PI sich aus dem Internet die Daten holen darf.

Das Update kann auch über RasPi-Config unter "Advanced Options" ausgeführt werden

sudo apt-get Update
sudo apt-get upgrade -y
sudo apt-get install git-core -y
sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
sudo chmod +x /usr/bin/rpi-update
sudo rpi-update

sudo raspi-config

Dieser Weg erfordert "internet access" ohne Proxy und Authentifizierung. Die Downloads erfolgen per HTTP. Bestehende eigene Skripte bleiben aber bestehen. Insofern ist dies sicher einfacher als die aktuellste Version des Image neu auf die SD-Karte zu schreiben.

Initialkonfiguration

Die Ersteinrichtung mit Änderung des Kennworts, Ländereinstellung (z.B. DE_DE.uTF8), die Zeitzone (z.B. Europe/Berlin) und Tastatur (z.B. DE-DE) erfolgt über:

sudo raspi-config

Wichtig ist hier, dass das Dateisystem ggfls. erweitert wird (Reboot erforderlich). Hier können Sie auch einstellen, ob der Pi direkt zum "Desktop" bootet (X11)

IP-Adresse

Die IP-Adresse bezieht der Pi per DHCP. Allerdinge möchte ich den Pi auch unterwegs per Kreuzkabel am PC für Demos etc. verwenden. Daher habe ich die Datei "/etc/network/interfaces" wie folgt angepasst:

sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet dhcp

auto eth0:1
iface eth0:1 inet static
address 169.254.10.10
netmask 255.255.0.0

Nun versucht der Pi erst mal eine IP-Adresse per DHCP zu beziehen, aber wenn das nicht klappt, dann nimmt er die APIPA-Adresse 169.254.10.10. Die Wahrscheinlichkeit, dass mein PC die gleiche Adresse nimmt, ist 1:65535. Damit kann ich leben.

Interessant. Der RaspberryPI versucht auch nach einer "Off-Zeit" von 5 Tagen immer noch die alte per DHCP zugewiesene Adresse zu nutzen.

WiFi

Mit dem passenden WiFi Stecker (Bei mir ein Edimax EW-7811un) ist die Einrichtung relativ schnell passiert. Ohne GuI oder Desktop erfolgt dies aber über eine Textdatei.

#Systeminfo ausgeben und nach WLAN Adapter suchen
dmesg

# WLAN0 Interfache suchen
ifconfig

# SSIDs suchen
iwlist wlan0 scan

# Interfaces konfiguriren
sudo nano /etc/network/interfaces

In der Datei sind natürlich die richtigen WPA SSIDs und Kennworte zu pflegen.

# Auszug aus /etc/network/interfaces

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid "RASPI"
wpa-psk "RASPIKEY"
# wpa-conf /etc/wpa.conf 

Wer hingegen WPA2 nutzt muss eine Konfigurationsdatei anlegen und in der Datei /etc/network/interfaces einen Verweis addieren

# Inhalt von /etc/wpa.conf

network={
   ssid="SSID-Name"
   proto=RSN
   key_mgmt=WPA-PSK
   pairwise=CCMP TKIP
   group=CCMP TKIP
   psk="WPA-PASSWORD"
}

Achtung: der folgende  Befehl über IP beendet die Verbindung

sudo invoke-rc.d networking stop && sudo invoke-rc.d networking start

Das "-" am Anfang ist wichtig, damit beim Stop die Shell nicht durch den Verbindungsverlust beendet wird.

Alternativ kann der Raspberry natürlich auch AccessPoint sein. Dazu installiert man erst mal DHCP und aktiviert diesen auf der WiFi Schnittstelle. Unterwegs nutze ich aber lieber ein Kreuzkabel zum Notebook zum Spielen.

Shutdown

Auch der Pi "sollte" nicht einfach ausgeschaltet sondern herunter gefahren werden. Leider gibt es dazu per Default keinen Schalter oder anderen externen Trigger.

sudo shutdown -hP now

Damit fährt der Pi herunter. Der einzige zuverlässige Indikator ist die Bildschirmausgabe, Es gibt leider keine LED, die anzeigt, wenn der Pi herunter gefahren ist. Die ACT-LED (Actiity) ist leider kein sicherer Indikator, denn Sie zeigt eigentlich Aktivität auf der SD-Karte an.

Die meisten RaspberryPi haben aber eine LAN-Anbindung. Wenn der Pi herunter gefahren wurde, dann ist auch der Link weg. auch wenn die Kabelverbindung besteht. Nur richtig "Ausschalten" kann man den PI nicht per Software.

RasPi neustarten

Der RasPi hat zwar einen "RESET"-Knopf aber ein Unix-System sollte man immer geordnet herunterfahren. Einfacher ist aber einfach der Reboot per Software

sudo reboot -n

Autostart

Wenn Code beim Starte des Pi direkt aufgeführt werden soll, dann muss er in einer "Autostart"-Datei verlinkt werden. Die rc.local muss dazu editiert werden

sudo nano /etc/rc.local

Hier addiert man direkt oberhalb des "Exit 0" die eigenen Aufrufe.

python /home/pi/meinscript.py

ähnlich muss mit Modulen wie z.B. der 1-Wire-untersatützung verfahren werden, die per Default nicht geladen werden. Es gibt aber noch weitere Stellen, über die Linux Prozesse starten kann.

  • /etc/inittab
    Diese Datei steuert über Runlevels die gestarteten Prozess. Am Ende findet man z.B. die folgende Zeile, die auf Port 23 einen TTY-Server startet. Bei einigen Erweiterungsboards muss diese Zeile z.B. entfernt werden, um, dne GPIO-Port frei zu bekommen.
#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
  • /boot/cmdline.txt
    Hier können bestimmte Dienste und Prozesse aktiviert oder deaktiviert werden. Hier meine Defaultinhalte (zur Lesbarkeit umgebrochen)
dwc_otg.lpm_enable=0 
console=ttyAMA0,115200 
kgdboc=ttyAMA0,115200 
console=tty1 
root=/dev/mmcblk0p2 
rootfstype=ext4 
elevator=deadline 
rootwait

 

RDP

Wer nicht mehr per SSH arbeiten möchte, kann sich auch per RDP mit dem RasPi verbinden.. Man muss nur ein kleines Modul installieren

sudo apt-get install xrdp

Apt-Get installiert die abhängigen Pakete tightvncserver, xfonts-base und xrdp mit insgesamt 11MB Speicherbedarf

Module laden

Der RasPi bringt viele Module schon mit aber lädt diese nicht automatisch, da sie ja bestimmte GPIO-Pins blockieren könnten, z.B. 1-Wire. Module können manuell einfach mit "Modprobe modulname" geladen werden.

modprobe w1-gpio
modprobe w1-therm

Für eine dauerhafte Einbindung müssen Sie die Module einfach in der Datei /etc/modules addieren

sudo nano "/etc/modules

Addieren "w1-gpio" (ohne Anführungszeichen)
Addieren "w1-therm" (ohne Anführungszeichen)

Beim nächsten Neustart sind die Module automatisch mit an Bord

Startup Service managen

Ein nettes Paket zum Verwalten der Startup-Skripte ist RCCONF, welches wie folgt installiert werden kann

apt-get install rcconf

Browser tauschen

RasPi bringt per Default den Browser Midori mit, der manchmal aber Probleme macht, insbesondere wenn man mit dme Browser per Localhost z.B. PHP einrichten will. Es ist aber recht einfach den Midori z.B. durch iceweasel zu ersetzen, der auf dem Firefox-kern basiert

apt-get remove midori
apt-get install iceweasel

Weitere Links