Single-Board-Computer Starthilfe Raspberry Pi

Betriebssysteme auf Linux-Basis

Mit Vertriebsbeginn des Raspberry Pi Boards stehen bereits mehrere Betriebssystemvarianten zur Verfügung. Eine Übersicht zu den verschiedenen Distributionen einschließlich ihrer spezifischen Merkmale ist unter [5] zu finden. Downloads von SD Card Images verschiedener Distributionen können über [6] vorgenommen werden.

Von der Raspberry Pi Foundation empfohlen wird derzeit das Raspbian Image (Raspberry Pi + Debian = Raspbian), eine für den Raspberry Pi optimierte Version von Debian 7 „Wheezy“. Rasbian ist derzeit die einzige Distribution, die die interne Floating Point Unit des ARM11-Prozessors nutzt (armhf).

Das kompakte Arch Linux ARM Image enthält nur einen minimalen Satz an installierten Paketen. Mit Hilfe des Paketmanagers pacman können aber Pakete nachinstalliert werden. Vom QtonPi-Projekt wird die QtonPi-Distribution zur Verfügung gestellt, die hauptsächlich zur Weiterentwicklung und Optimierung von Qt 5 auf dem Raspberry Pi dient.

Von Adafruit wird mit Occidentalis v0.1 eine Linux-Distribution zur Verfügung gestellt, die speziell für die Auseinandersetzung mit der Hardware geeignet sein soll. Unterstützt werden SPI, I2C und OneWire WiFi. Außerdem ist bereits ein SSH-Server (mit Schlüsselerzeugung beim ersten Booten) und Bonjour (zum einfachen SSH-Zugriff aus dem lokalen Netzwerk, „zero-configuration networking“) installiert. Occidentalis v0.1 ist abgeleitet von Raspbian Wheezy und kann von [7] heruntergeladen werden.

SD Card vorbereiten

Der einfachste Weg, um an eine bootfähige SD Card zu kommen, ist der Bezug einer SD Card mit vorinstalliertem Linux-Image von einem der Distributoren. Ein Linux-Image kann man aber auch selbst auf die SD Card übertragen. Dazu bedarf es eines Installationsprogramms. Nutzt man einen Linux-Rechner, dann ist das UNIX-Programm dd die beste Wahl, bei einem Windows-Rechner hingegen das Programm Win32DiskImager, um das extrahierte Image auf die SD Card zu schreiben. Die SD Card Images sind für eine 2 GB SD Card ausgelegt.

Die vorbereitete SD Card kann nun in den SD Card Slot eingesteckt und der Raspberry Pi durch Anschalten der Betriebsspannung gestartet werden. Der recht komplexe und mehrstufige Boot-Vorgang startet im Hintergrund, bis der Linux-Kernel die Kontrolle übernimmt und den Boot-Prozess in üblicher Weise und am Terminal verfolgbar zum Abschluss bringt.

Der Boot-Prozess insgesamt ist in [8] detailliert beschrieben. Bei den aktuellen Linux-Distributionen startet beim erstmaligen Booten ein Dialog, um die Systemkonfiguration (Sprache, Tastaturlayout, Zeitzone u.a.) anzupassen. Später kann dieser Dialog durch Eingabe von

sudo raspi-config

über die Kommandozeile zu weiteren Anpassungen erneut gestartet werden. Die grafische Bedienoberfläche (GUI) erscheint am Ende des Boot-Prozesses automatisch oder kann durch Eingabe von

Startx

über die Kommandozeile geöffnet werden. Beim Raspberry Pi kommt standardmäßig LXDE (Lightweight X11 Desktop Environment) zum Einsatz. Nach Ende des Bootvorgangs erscheint der Startup Screen (Bild 2).

Pakete installieren und Anwendungen nutzen

Einen ersten Überblick über die verfügbaren Software-Pakete scheint man über den LXDE Desktop zu bekommen. Dieser Eindruck täuscht allerdings gewaltig, denn nicht jede installierte Applikation ist am Desktop ersichtlich. Abhilfe schafft hier das Starten einer Terminal Session durch Aufruf von LXTerminal. Nun kann man in die Kommandozeile den Befehl

pi@raspberrypi:~$ dpkg –l

eingeben, um Informationen über alle auf dem System installierten Pakete auszugeben. Will man sein Raspberry Pi für eine bestimmte Aufgabe einrichten, dann kann man nicht benötigte Pakete deinstallieren und fehlende Pakete nachinstallieren.

Das Debian-Software-Archiv enthält zahllose Software-Pakete, die ein breites Spektrum von Applikationen abdecken [9]. Nicht jedes Paket ist zur Installation auf einem Raspberry Pi geeignet. Am Ende der zum betreffenden Software-Paket gehörenden Webseite sind die unterstützten Architekturen gelistet.

Am Beispiel des Pakets cppcheck, einem Tool für die statische C/C++-Codeanalyse, soll das hier verdeutlicht werden. Alle das Paket cppcheck betreffenden Informationen können der zugehörigen Webseite [10] entnommen werden. Dort ist auch die Tabelle zu finden, die die unterstützten Architekturen ausweist. Damit ein Paket auf dem Raspberry Pi lauffähig ist, muss die Architektur armel unterstützt werden.

ArchitekturPaketgrößeGröße (installiert)
amd64461,3 KB928,0 KB
armel448,7 KB884,0 KB
i386461,8 KB928,0 KB
ia64626,0 KB1.808,0 KB
kfreebsd-amd64461,3 KB908,0 KB
kfreebsd-i386461,6 KB908,0 KB
mips466,0 KB1.244,0 KB
mipsel464,2 KB1.244,0 KB
powerpc481,2 KB992,0 KB
s390450,5 KB924,0 KB
sparc456,5 KB952,0 KB
Tabelle der unterstützten Architekturen des Debian-Pakets cppcheck. Für Raspberry Pi muss die Architektur armel unterstützt werden.

Zur Installation von Software-Paketen wird man APT (Advanced Package Tool) einsetzen [11]. APT ist ein Paketmanagement-System, das im Bereich der Debian-Distribution entstanden ist. Mittels APT ist es sehr einfach, Programmpakete zu suchen, zu installieren, zu deinstallieren oder auch das ganze System einem Update zu unterziehen. Als Superuser kann das Paket cppcheck beispielsweise durch die folgende Eingabe über die Kommandozeile installiert werden:

pi@raspberrypi:~$ sudo apt-get install cppcheck

Der Befehl install lädt das Paket (bzw. die Pakete) inklusive der noch nicht installierten Abhängigkeiten herunter und installiert diese. Eine Deinstallation kann später folgendermaßen vorgenommen werden:

pi@raspberrypi:~$ sudo apt-get remove cppcheck

Die Verwendung eines Tools zum Paketmanagement berücksichtigt alle Abhängigkeiten von Software-Paketen untereinander und sichert damit weitgehend die Konsistenz der jeweiligen Installation.