Linux-PC Raspberry Pi Ein Media-Center für 35 Dollar

Linux-PC Raspberry Pi: "Auch ein komfortables Multimedia-Center"
Foto: c'tDer Raspberry Pi ist eine Kreditkarten große Platine mit 256 MByte RAM und einem System on a Chip (SoC), bestehend aus einem ARM11-Prozessorkern mit 700 MHz und dem Grafikprozessor Broadcom VideoCore IV - das reicht, um X11 mit einem schlanken Desktop laufen zu lassen.
Während der Prozessor Standardkost ist, ist die GPU vielen Kritikern ein Dorn im Auge, weil die dazugehörigen Linux-Treiber proprietär sind - Puristen können das nur schwer mit dem Geist von Linux vereinbaren. Immerhin spielt die GPU hardwarebeschleunigt HD-Videos ab.
Derzeit ist nur das Model B für 35 US-Dollar mit HDMI- und Composite-Ausgang, 3,5- mm-Klinkenbuchse, SD-Card-Slot, Ethernet-Schnittstelle und zwei USB-Ports verfügbar. Hinzu kommen GPIO-Pins (General Purpose IO) für Erweiterungen und Hardware-Basteleien. Dem zehn Dollar günstigeren Model A fehlen der Ethernet- und ein USB-Port.
Strom bezieht der Raspberry Pi über einen Micro-USB-Port. Das Board verlangt mindestens 5 V und 700 mA, was bereits über der USB-Spezifikation liegt. Je nach angeschlossener Peripherie darf es ruhig etwas mehr sein - im Test traten die meisten Probleme wegen akuter Unterversorgung auf. Beispielsweise erkannte die Tastatur Tasten - drücke plötzlich nur noch sporadisch oder wiederholte sie endlos, oder die Netzwerk-Verbindung brach ab. Bei solchen Problemen ist der Einsatz eines stärkeren Netzteils angeraten - typische Handy-Netzteile sind in der Regel zu schwach.
Die Wärmeentwicklung ist erfreulich gering: Nach zwölfstündigem Betrieb unter hoher Last blieb das ganze System handwarm. An ein Gehäuse werden daher keine besonderen Anforderungen gestellt. Bei Adafruit gibt es eine schicke Box aus Acrylglas.
Pinguine…
Booten kann der Raspberry Pi nur von einer SD-Karte. Die Pi-Entwickler bieten auf ihrer Website fertige SD-Karten-Images für Debian 6 Squeeze, Arch Linux und QtonPi, eine für die Entwicklung von Qt-5-Anwendungen konzipierte Linux-Distribution, zum Download an. Das Image schreibt man einfach mit dd auf eine SD-Karte - wir haben mit dem Debian-Image getestet.
Die aktuellen Login-Daten findet man auf der Download-Seite; zum Zeitpunkt dieses Tests lautete der Benutzername "pi", das Passwort "raspberry". Achtung: Debian ist zunächst auf englische Tastaturbelegung eingestellt, deutsche Anwender müssen "raspberrz" eintippen. Mit dem Befehl "dpkgreconfigure locales", wie alle Systemkommandos mit vorangestelltem "sudo" auszuführen, kann man das System auf Deutsch umstellen.
Vor dem ersten Start des Desktops ist es ratsam, die SD-Karte neu zu partitionieren - das Debian-Image nutzt unabhängig von der tatsächlichen Größe der Karte nur 2 GByte.
Das geht direkt auf dem Raspberry Pi, indem man mit
fdisk -c -u /dev/mmcblk0
den Partitionierer fdisk startet. Mit "p" erhält man einen Überblick über die bestehenden Partitionen; merken Sie sich den Wert für den Start der zweiten Partition (bei dem aktuellen Image vom 19.4. ist das 157696).
Zunächst löscht man mit "d" die Partitionen 3 und 2, dann legt man mit "n" eine neue primäre Partition 2 an. Als Startwert verwendet man den Startwert der alten Partition 2, für das Ende akzeptiert man mit "Enter" den Vorschlag von fdisk. "w" schreibt die neue Partitionierung auf die Karte.
Nach einem Reboot und erneuter Anmeldung wird dann das Dateisystem mit
resize2fs /dev/mmcblk0p2
vergrößert. Nun kann man mit startx den schlanken LXDE-Desktop starten, der in seinem Startmenü diverse Anwendungen anbietet und sich durchaus flüssig bedienen lässt.
…mögen Himbeeren
Als Browser bringt das ARM-Debian Midori mit - ressourcenhungrige Programme wie Firefox und Chrome lassen sich wegen des knappen Hauptspeichers kaum verwenden. HTML5, Flash und Java kennt Midori nicht, und bei komplexen Seiten merkt man, dass der ARM-Prozessor mit seinen 700 MHz nicht der allerkräftigste ist. Trotzdem kommt man mit Midori halbwegs komfortabel durchs Web.
Ansonsten finden sich im Startmenü hauptsächlich Editoren und IDEs für diverse Programmiersprachen wie Python und Smalltalk. Dazu kommen diverse grafische Konfiguratonstools - und natürlich ein Terminal. Spiele, Office-Pakete und Multimedia-Software fehlen aus Platz- und Performancegründen.

XBMC lastet den Pi zwar ordentlich aus, spielt aber sogar HD-Filme ab
Foto: c'tMittlerweile tut sich auch einiges an der Multimedia-Front. Zwar gibt es noch keine Portierung von VLC, aber die Media-Center-Software XBMC läuft schon halbwegs rund. Noch ist die Installation allerdings etwas unbequem - solange es keine fertigen XBMC-Pakete für den Raspberry Pi gibt, führt kein Weg an der manuellen Erstellung einer eigenen Distribution vorbei. Am einfachsten geht das mit dem Open Embedded Linux Entertainment Center, kurz OpenELEC .
Für die Übersetzung benötigt man ein Host-System, auf dem OpenELEC mittels Cross-Compiling erstellt wird. Geeignet ist jede aktuelle Linux-Distribution. Unter Ubuntu 12.04 beispielsweise muss man zunächst eine Reihe von Paketen samt Abhängigkeiten nachinstallieren: git, build-essential, cvs, gperf, xsltproc, texinfo, libncurses-dev und libxml-perl. Anschließend bringt der Befehl
git clone git://github.com/OpenELEC/OpenELEC.tv.git
die OpenELEC-Quellen auf die Platte. In dem dabei angelegten Unterverzeichnis Open - ELEC.tv baut der Befehl
PROJECT=RPi ARCH=arm make -j 8
die XBMC-Distribution. Das dauert auch auf einem schnellen PC mit guter Internet-Anbindung mehrere Stunden. Danach liegt im Verzeichnis OpenELEC.tv eine komplette Linux-Distribution, die man noch auf eine SD-Karte kopieren muss.
Bunt
Nach dem Einlegen der SD-Karte gibt der Befehl "dmesg" aus, über welche Gerätedatei die SD-Karte angesprochen wird. Die folgenden Anweisungen gehen davon aus, dass das /dev/sdc ist - passen Sie die Befehle entsprechend an. Achtung: Die Anweisungen löschen alle Daten auf dem angesprochenen Device - ein Vertipper bei dem Gerätenamen kann die gesamte Festplatte (typischerweise /dev/sda) putzen.
Zunächst müssen Sie alle eventuell automatisch eingebundenen Partitionen der SD-Karte aushängen:
for i in /dev/sdc* ; do umount $i ; done
Für OpenELEC reicht eine bootfähige FAT32- Systempartition von 128 MByte Größe:
parted -s /dev/sdc mklabel msdos
parted -s /dev/sdc unit cyl mkpart primary fat32 -- 0 16
mkfs.vfat -n System /dev/sdc1
parted -s /dev/sdc set 1 boot on
Den Rest der Karte nutzt man für eine Ext4-Partition zum Speichern von Daten:
parted -s /dev/sdc unit cyl mkpart primary ext2 -- 16 -2 mkfs.ext4 -L daten /dev/sdc2
Nach erneutem Einstecken der SD-Karte sollten die neu angelegten Partitionen automatisch nach /media/System und /media/daten gemountet werden. Nun kann man die nötigen OpenELEC-Bestandteile auf die System-Partition kopieren. Das OpenELEC.tv-Unterverzeichnis build.OpenELEC-RPi.arm-de vel enthält im Verzeichnis bcm2835-bootloa der-… die Dateien bootcode.bin und loader.in, die beide auf die System-Partition /media/system kopiert werden müssen. Die Datei arm128_start.elf muss als start.elf auf die System-Partition.
Im Verzeichnis OpenELEC.tv/target finden sich zwei Dateien, deren Name auf .system und .kernel endet. Erstere kopiert man als SYSTEM, letztere als kernel.img auf die Systempartition. Nun fehlt nur noch eine Datei namens cmdline.txt auf der Systempartition, die die Kernelparameter enthält:
dwc_otg.lpm_enable=0 root=/dev/ram0 rdinit=/init boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 ssh quiet
Mit der OpenELEC-SD-Karte mutiert der Raspberry Pi in knapp einer halben Minute zum Multimedia-Center. Film-, Bild- und Musik-Dateien gibt XBMC in allen gängigen Formaten wieder - selbst HD-Filme waren im Test kein Problem. Auch die Installation weiterer Add-Ons und der Zugriff auf LAN und Internet funktionierten reibungslos. Manchmal dauerte es allerdings ein paar Sekunden, bis auf einen Mausklick das angeforderte Untermenü erschien. Das Einbinden von USB-Sticks und -Festplatten erwies sich hingegen als flott und problemlos.
Fazit
Seinem ursprünglichen Anspruch als Entwicklungsmaschine für erste Programmier-Experimente wird der Raspberry Pi voll und ganz gerecht. Er unterstützt nicht nur populäre Sprachen wie Python, Perl und Ruby, sondern er lädt auch zum Experimentieren mit Elektronik-Projekten ein. Auch als kleiner Heimserver kommt er in Frage, und wenn erst mal eine fertige XBMC-Portierung verfügbar ist, wird aus dem Winzling auch ein komfortables Multimedia-Center. Im täglichen PC-Einsatz erweisen sich der geringe Hauptspeicher und der für anspruchsvollere Aufgaben etwas schlappe Prozessor allerdings als Hemmschuh.
Der Artikel ist im Sonderheft "c't kompakt Linux 2/2012" erschienen. Ein Inhaltsverzeichnis des Hefts finden Sie hier, der Heise-Verlag bietet auch eine Bestellmöglichkeit .