Linux auf Apples Settop-Box

Aus LinuxUser 12/2007

Linux auf Apples Settop-Box

TV-Star

Der Apple-TV soll nach dem Willen von Steve Jobs die Kluft zwischen Computer und Breitbildfernseher schließen. Er eignet sich jedoch auch als günstiger Wohnzimmer- oder Büro-PC.

Im Grunde handelt es sich beim Apple-TV um einen kleinen PC mit niedrig getaktetem Intel-Core-Prozessor, einem Grafikchipsatz mit MPEG2-Decoder und einem Soundchip mit Standardchipsatz (siehe Tabelle “Apple-TV”). Die Box arbeitet praktisch lautlos und eignet sich dank Standardhardware auch als Linux-Rechner. Doch um Linux auf die Fernsehkiste aufzuspielen, müssen Sie zunächst mal an die Festplatte herankommen.

Von Haus aus bringt der Apple-Rechner weder ein DVD-Laufwerk mit, noch gibt es eine andere Möglichkeit, externe Installationsprogramme zu starten. Der Weg zu Linux auf dem Apple-TV führt also entweder über das Ausbauen der integrierten Festplatte oder über einen eigens erstellten USB-Bootstick. Der erspart Ihnen zwar das Öffnen des Geräts – die Linux-Installation gestaltet sich aber deutlich einfacher, wenn Sie die Platte ausbauen und an Ihren PC anschließen.

Apple-TV

Komponente Beschreibung
Prozessor Pentium M “Crofton”, 1 GHz
Hauptspeicher 256 MByte DDR2-667
Chipsatz Intel-ICH7-kompatibler Chipsatz (i945G)
Grafikkarte Nvidia Geforce Go 7300
Sound Realtek ALC885 7.1-Chipsatz (analoger und optischer Ausgang)
Festplatte 40 oder 160 Gigabyte P-ATA
LAN Realtek 8100C Gigabit Ethernet
WLAN Broadcom 4300 Expresscard-Modul
Anschlüsse DVI, HDMI, Komponentenausgang, LAN, USB(*)
(*) von der Standard-Firmware nicht unterstützt

Umbaumaßnahmen

Auf der extrahierten 2,5-Zoll-Harddisk des Apple richten Sie eine beliebige Linux-Distribution ein. Danach installieren Sie einen speziellen Bootloader vom Mactel-Linux-Projekt, der auf dem Apple-TV Ihren Linux-Kernel startet. Hier liegt gleichzeitig auch der einzige Pferdefuß im gesamten Prozedere: Den Bootloader finden Sie im Web zwar vorkompiliert zum Download; möchten Sie später jedoch Ihren eigenen Kernel auf dem Apple-TV einsetzen, müssen Sie diesen mitsamt dem Bootloader selber kompilieren. Dazu benötigen Sie einen Mac mit Intel-Prozessor und außerdem Apples Entwicklungssuite Xcode. Bevor Sie Ihrem Apple-TV mit einem eigenen Kernel zu Leibe rücken, sollten Sie also sicherstellen, dass Sie die genannten Voraussetzungen erfüllen.

Über die vier Torx-Schrauben, die den Apple-TV unter der grauen Gummimatte zusammenhalten, kommen Sie relativ leicht an die Hardware heran. Die Gummimatte lösen Sie am Besten, indem Sie langsam hinten am Gerät die Matte aus dem Rahmen ziehen. Halten Sie das Ober- und Unterteil des Apple-TV beim Lösen der Schrauben fest, denn die beiden Teile fallen auseinander, sobald Sie die letzte Schraube entfernen. Hier drohen unangenehme Folgen, denn die Festplatte ist am Boden des Apple-TV lediglich festgeklebt, nicht etwa angeschraubt. Entfernen Sie das IDE-Kabel und die Stromzufuhr und lösen Sie dann die Harddisk durch sanftes Ziehen von vorne. Im nächsten Schritt verbinden Sie die 2,5-Zoll-Festplatte mit Ihrem Computer. Dazu benötigen Sie einen 3,5-Zoll-Anschlussadapter, den Sie für um die 15 Euro in jedem besseren Computer-Laden bekommen. Verbinden Sie den Adapter mit Ihrer Festplatte und mit Ihrem Computer.

Die Platte vorbereiten

Bevor Sie aber irgendwelche Veränderungen an der Software vornehmen, sollten Sie unbedingt ein Backup aller Daten des Apple-TV machen. Der Apple-TV bringt von Werk aus zwei Festplattenpartitionen mit: Auf einer kleinen am Anfang der Platte liegt Mac OS (/dev/sdb1 auf unserem Testsystem), die weitaus größere ist für die Daten des Apple-TV vorgesehen (/dev/sdb4 auf unserem Testsystem). Diese nutzen Sie später, um Linux darauf zu installieren. Die Daten der Mac-OS-Partition sichern Sie mit dem Befehl:

dd if=/dev/sdXn of=backup-appletv.img bs=4k

Dabei ersetzen Sie /dev/sdXn durch den Namen der zugehörigen Gerätedatei. Erkennt Ihr Linux-System die Platte beispielsweise als /dev/sdb, so ersetzen Sie /dev/sdXn durch /dev/sdb1. Das Backup dauert rund 10 Minuten, das Image backup-appletv.img hatte auf unserem Testrechner eine Größe von 1,8 GByte.

Alternativ bietet sich an dieser Stelle die Gelegenheit, die Original-Platte des Apple-TV gegen eine größere zu ersetzen. Trennen Sie in diesem Fall nach dem Erstellen des Backups die Original-Platte von Ihrem PC, hängen Sie die neue, größere an und partitionieren Sie diese. Dann Spielen Sie per dd if=backup-appletv.img of=/dev/sdXn das Backup der ersten Apple-TV-Partition ein. Wie gehabt ersetzen Sie sdXn durch den echten Device-Namen, etwa sdb1.

Linux installieren

Prinzipiell können Sie nun jedes Linux installieren, indem Sie ins DVD-Laufwerk Ihres PCs eine Installations-CD einlegen und beim Setup die genannte Partition der per Adapter verbundenen Festplatte als Ziellaufwerk wählen. Anschließend müssen Sie aber einen mit den Mactel-Erweiterungen gepatchten Kernel installieren. Dazu laden Sie entweder einen vorkompilierten Kernel aus dem Netz ([1],[2]) oder übersetzen selbst einen – dazu benötigen Sie die Kernel-Entwicklungspakete Ihrer Distribution sowie die Kernelquellen von Kernel.org. Diese modifizieren Sie mit den Mactel-Apple-TV-Patches [3] (zum Testzeitpunkt war der aktuellste Patch für 2.6.22.2). Einen Patch für die Fernbedienung finden Sie unter [4].

Kernel und Bootloader

Um den vorkompilierten Kernel zu verwenden, laden Sie ihn zusammen mit den passenden Modulen von herunter. Dann installieren Sie die Module, indem Sie sie auf die Linux-Partition der Apple-TV-Platte nach /lib/modules kopieren. Die Datei mach_kernel legen Sie im Hauptverzeichnis der Mac-OS-Partition ab.

Haben Sie einen eigenen Kernel kompiliert, laden Sie den Quellcode für den Bootloader per SVN-Checkout aus dem Repository des Mactel-Projekts herunter [5]. Diese übersetzen Sie entweder auf einen Intel-Mac mit Mac OS 10.4 und XCode oder unter Linux mit einen Cross-Compiler, der Mac-OS-Binaries erstellt (siehe Kasten “Cross-Compiling”). Installieren Sie die Module auf die Linux-Partition der Apple-TV-Platte und kopieren Sie die Datei bzImage in den Ordner des SVN-Checkouts. Führen Sie dann den Befehl make aus. Im Anschluss liegt im selben Ordner eine Datei namens mach_kernel, die Sie in das Hauptverzeichnis der Mac-OS-Partition der Apple-TV-Platte kopieren.

Im Anschluss editieren Sie die Datei System/Library/Components/com.apple.Boot.plist auf der Mac-OS-Partition. Dabei handelt es sich um eine normale Textdatei. Fügen Sie den Inhalt aus Listing 1 ein, wobei Sie die letzte Zeile Ihrer Partitionierung entsprechend anpassen.

Cross-Compiling

Haben Sie keinen Intel-Mac zur Hand, kompilieren Sie den Bootloader für Mac OS aus einem Linux-System heraus. Dazu benötigen Sie einen Cross-Compiler. Im Test erwies sich der Arbeitsablauf vom Einrichten des Cross-Compilers hin zum fertigen mach_boot-Binary zwar als simpel, funktionierte aber nicht zuverlässig: Der Cross-Compilers brach das Übersetzen zumindest beim ersten Versuch mit einer Fehlermeldung ab. Unter Debian installieren Sie das alien-Paket, laden dann per SVN den Quelltext von mach_boot_linux herunter und führen die folgenden Befehle aus:

cd mach_linux_boot
sh get_cross.sh
mv darwin-cross /opt
sh make.sh

Nach dem Abschluss des Übersetzungslaufs finden Sie die Datei mach_boot im selben Verzeichnis.

Listing 1
<key>Background Color</key>
<integer>0</integer>
<key>Boot Logo</key>
<string>BootLogo.png</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>root=/dev/sda4 irqpoll</string>

Nachdem nun alles für den ersten Systemstart bereit sein sollte, schließen Sie für einen ersten Test die Platte wieder an das IDE-Kabel des Apple-TV an. Sofern die Software wie gewünscht funktioniert, bauen Sie die Platte wieder fest ein und schließen das Gehäuse des Apple-TV.

Fazit

In Sachen Performance kann Linux auf dem Apple-TV im Test durchaus überzeugen. Auch hinsichtlich der Hardware gibt es nur erfreuliches zu berichten: Grafik- und Soundchipsatz funktionieren unter Linux problemlos, auch der HDMI- sowie der Komponentenausgang bereiten keine Probleme.

Zudem können Sie unter Linux auch den USB-Anschluss nutzen. Das freie Betriebssystem setzt damit einen angenehmen Kontrapunkt zur offiziellen Firmware, in der der Treiber für den USB-Anschluss schlichtweg fehlt. Dagegen haben Sie unter Linux die Möglichkeit, etwa einen DVB-T-Empfänger per USB anzuschließen. Der WLAN-Chipsatz allerdings funktionierte auf unserem System nur per Ndiswrapper mit dem passenden Windows-Treiber, den Sie beispielsweise von Dell bekommen [6].

Linux auf dem Apple-TV eignet sich somit für alle, die einen kleinen und leisen Rechner als Desktop-Box für das Surfen im Netz, Lesen von E-Mails sowie das gelegentliche Schreiben von Briefen benötigen. Dann ist das Gerät mit 300 Euro für einen echten Apple sogar recht günstig.

LinuxUser 12/2007 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben