iMac – aber nur mit Linux

Linux in iMac
Mein Gnome-Desktop auf dem iMac

Ja, es stimmt: ich habe mir den neuen iMac gekauft, weil ich die Hardware wollte, und nicht, weil ich MacOS so sehr mag oder Apple so cool finde. Auf meinem letzten iMac hatte ich bereits eine Dual-Boot-Konfiguration: 850 GB für Linux und 150 GB für MacOS. Das Ganze funktionierte recht gut, aber MacOS habe ich nie gebraucht.

Also stand fest, mein nächster iMac kann ganz auf MacOS verzichten.

iMac und Fusiondrive – und Linux

In meinem neuen 27″-iMac (Apple: „late 2012 iMac“; dmidecode meldet unter Linux: „iMac13,2“) werkelt – neben einem i5 mit 3,2 Ghz und 8 GB RAM – ein sog. „Fusiondrive„. Es handelt sich dabei hardwareseitig um zwei eingebaute Platten: eine kleinere, 120 GB fassende SSD und um eine normale SATA-Platte, die unter MacOS so gekoppelt sind, dass sie wie ein Laufwerk erscheinen (und vom System auch so behandelt werden). Apple verspricht, dass das MacOS-System sowie häufig verwendete Programme und Daten „dynamisch“ auf die SSD geschoben werden und es so zu einem deutlichen Geschwindigkeitsgewinn beim Booten und Arbeiten kommen soll.

Diskaufteilung unter MacOS X
Diskaufteilung unter MacOS X Mountain Lion

Das Verfahren funktioniert zwar und bringt Speed, aber: mir ist es prinzipiell unheimlich, wenn das Betriebssystem darüber Buch führt, was ich häufig nutze und eigenmächtig Speicherorte fest legt, ohne dass ich da eingreifen kann.

Das war der wahre Antrieb für mein Vorhaben: es schien mir ziemlich unattraktiv, die schnelle SSD in einer Dual-Boot-Konfiguartion MacOS allein zu überlassen, zumal ich ja – wie gesagt – MacOS ja gar nicht brauche.

Bevor ich hier den Ausblick auf MacOS beschließe, noch drei Tipps:

1. Bevor man sich endgültig von MacOS verabschiedet, sollte man sich klar sein, dass Firmware-Updates für den iMac nur via MacOS eingespielt werden können. Unter Linux nutzt man den Rechner zukünftig „wie er dann eben ist“. Von daher empfiehlt es sich, vorhandene Updates vorher noch einzuspielen.

2. Man tut sich und der Umwelt einen Gefallen, wenn man vor dem letzten Herunterfahren die Lautsprecher des iMacs herunterregelt, will man nicht bei jedem Booten in Zukunft mit einem dröhnenden Fanfarenschall begrüßt werden.

3. Auf der 3. Partition der ersten, also der „großen“ SATA-Platte befindet sich eine Mac-HFS+-Partition, auf der das Wiederherstellungs-System von Mountain-Lion gespeichert ist. Den Inhalt dieser Partition sollte man vor der Installation sichern (ca. 630 MB), dazu reicht eine SD-Karte oder ein USB-Stick. Kopieren kann man die Partition bequem mit Parted Magic oder ähnlichen Tools. (In meinem Fall habe ich gesichert und beim Neupartitionieren die Partition einfach so belassen, die paar MB tun bei 3 TB Kapazität ja nicht weh.)

Wie geht das mit Linux und EFI-Boot? Und welches Linux ist geeignet?

Prinzipiell bin ich in Sachen Linux nicht auf eine Distribution festgelegt, was mich bei meinem Vorhaben etwas entlastet hat. Ich wollte aber auf jeden Fall den Weg des geringsten Widerstands gehen und meine Lernkurve so flach wie möglich halten. Alle neueren Linux-Distributionen sind ja mittlerweile fähig, von EFI zu booten. In die engere Wahl kamen – in dieser Reihenfolge: ubuntu, Opensuse, Debian und Fedora.

EFI Boot Screen
Der EFI Boot Screen stiftet Verwirrung: wo in der Mitte „Windows“ steht, ist zwar auch eine Linux-CD drin, aber nur die Auswahl „EFI Boot“ macht auch eine Linux-Installation von CD/DVD möglich

Fehlstarts im BIOS-Mode

Um es gleich zu sagen: Die meisten Installationsmedien scheitern bereits an der ersten Hürde. Wenn beim Neustart des iMac – während man kräftig die ALT-Taste drückt – die EFI-Boot-Auswahl erscheint, zeigt sich bei den wenigsten Install-CDs die Auswahl „EFI-Boot“ (s. Foto oben). Das ist z.B. bei den Live-Installtions-CDs bzw. -DVDs von ubuntu und Opensuse der Fall.

Ich kann zwar auch mit dem Fehlen dieses „EFI Boot“-Eintrages ein Linux von einer Silberscheibe booten und dann den scheinbar normalen Install-Prozess durchlaufen, aber EFI startet dann den Mac im BIOS-Mode, gaukelt also einen PC mit BIOS vor, was zur Folge hat, dass am Ende der ganz normale GRUB (grub-pc) installiert wird. Richtig wäre aber, dass die EFI-Variante von GRUB installiert wird (grub-efi), denn nur diese kann Linux im schnellen EFI-Modus booten.

Scheitern mit ubuntu 13.04 – alles easy mit Opensuse 12.3

Dieses Lehrgeld habe ich zunächst mit ubuntu bezahlt. ubuntu 13.04 schafft es, „prinzipiell“ EFI-Boot-fähig zu sein, dann aber auf seinen Installationsmedien – übrigens auch auf der Install-DVD, auf der noch genug Platz wäre – die grub-efi Pakete gar nicht mit an Board zu haben.

ubuntu-grub-efi
Installiert man von Hand vor der Installation unter ubuntu grub-efi nach, wird das Paket grub-pc scheinbar gelöscht. Trotzdem ist es grub-pc, das am Ende die Boot-Daten schreibt und einen EFI-Start leider unmöglich macht.

In meinem Fall war es so, dass ich von den normalen Installations-CDs (sind ja jetzt auch bereits „kleine“ DVDs mit ca. 900 MB) gar nicht im EFI-Boot-Modus starten konnte. Dies gelang mir erst mit der Installations-DVD (ca. 1,6 GB groß), die es auf ubuntu.com zum Herunterladen gibt. Am Ende der Installation wurde dann grub-pc ausgeführt – dies übrigens auch, obwohl ich vor dem Schreiben des Boot-Codes manuell grub-pc noch durch grub-efi ersetzt hatte.

Das Problem bei ubuntu scheint dabei zu sein, dass eine bereits bestehende EFI-Partition nicht erkannt und für die Installation verwendet wird. In meinem Fall sollte ja im Grunde das Partitionsschema von dem vorigen System MacOS übernommen werden. Angeblich funktioniert eine EFI-Installation dann, wenn man ubuntu die vorhandene Platte selbst löschen und ein neues GPT-Partitionsschema selbst erstellen lässt – was ich ja ausdrücklich nicht wollte.

Nach dem Booten empfing mich folgender Schirm – der mir nicht mehr all zu viele Möglichkeiten ließ.

Rescue Modus Grub
Der „falsche“ GRUB empfängt im Rescue-Modus. Da ist dann wohl was schief gelaufen…

Nun muss an dieser Stelle nicht Endstation sein. Es gibt einen Haufen Seiten im Netz, die sich damit beschäftigen, wie man eine kaputte GRUB-Installation wieder repariert. Ich habe auch einiges davon ausprobiert, hatte dann aber irgendwann auf die ganze Frickelei keine Lust mehr: die Lernkurve wurde mir für eine Installation einfach zu steil.

EFI: Opensuse 12.3 machts einfach

Also nun Opensuse – in Version 12.3.

Hier muss man wissen, dass man zwingend die Installations-DVD von Opensuse benötigt, die immerhin stolze 4,4 GB groß ist. Eine kleinere Live-CD mit KDE- oder Gnome-Desktop-Vorauswahl ermöglicht den notwendigen EFI-Boot-Modus nicht. Die „große“ DVD läuft dann aber brav im EFI-Boot-Modus an und durch den Suse-typischen Installationsvorgang glatt durch.

Spannend wird es dann, wenn es an die Einteilung der Festplatte geht. Auf beiden Festplatten gibt es jeweils bereits eine von MacOS erstellte EFI-Partition, die ich von der Größe einfach so belassen habe. Auf der SSD (/dev/sdb) habe ich die ebenfalls vorhandene MacOS-Bot-Partition gelöscht und durch eine kleine Linux-Boot-Partition ersetzt. Für das System (/ – root) reservierte ich den Löwenanteil, dazu noch eine 1,5 GB große Swap-Partition.

Auf der „großen“ Platte beließ ich zusätzlich zur EFI-Partiton noch die „Rescue“-Partition von MacOS, und schlug satte 2,7 GB /home zu.

Das Ganze sah dann am Ende so aus:

Partionendschungel Linux
Die aktuelle Partitionierung meines iMAcs unter Opensuse

Mit diesen Einstellungen und der Vergewisserung, dass bei „Bootmanager“ „grub-efi“ vermerkt ist, habe ich mir dann mein Gnome-System aufgesetzt und war sehr gespannt, was mich am Ende der Installation nach dem Reboot erwarten würde. Die Installation jedenfalls lief genauso reibungslos durch wie auf einem 08/15-BIOS-PC.

Nach dem spannenden Reboot dann dieser grub-efi-Willkommens-Schirm – alles glatt gelaufen!

Der schlichte Bootscreen von Opensuse
Der schlichte Bootscreen von Opensuse

Nach den Erfahrungen mit ubuntu war ich regelrecht begeistert, wie einfach und schnell die Installation durchlief. Keine Tools mehr wie rEFIt oder rEFInd notwendig – alles ok.!

Stolpersteinchen auch bei Opensuse auf iMac

Ok., ok.: Ganz ohne (kleinere) Probleme ging es danach aber dennoch nicht weiter.
Zwar zeigte sich der Desktop problemlos an (der noveau-Treiber war in Betrieb), aber sämtliche Netzschnittstellen waren unkonfiguriert. Sowohl eth0 als auch wlan0 werden auf dem iMac von Broadcom-Chips angetrieben. Deren Firmware wird zum Betrieb benötigt, ist aber rein proprietär und somit nicht Teil eines Opensuse-Installmediums.

Wohl dem, der dann noch einen zweiten PC zur Verfügung hat! Ich habe auf dieser Seite eine Lösung für die fehlende Onlineanbindung gefunden: der entsprechende Broadcom-Treiber (bcm43xx firmware) musste mit dem anderen PC heruntergeladen, auf einen USB-Stick transferiert und dann auf dem iMac manuell installiert werden. Immerhin konnte ich dann via Yast den WLAN-Zugang konfigurieren und mein System aktualisieren und all das Zeug nachinstallieren, das ich im Alltag so benötige.

Fazit: Linux und EFI auf dem iMac

Mit einer „prinzipiellen“ (U)EFI-Fähigkeit ist es bei den aktuellen Linuxdistributionen nicht getan, wenn es dann am Ende daran scheitert, dass der „richtige“ Bootloader nicht geschrieben werden kann, weil auf der Install-CD das dafür zuständige Programm fehlt. Für Einsteiger stellt dies eine nicht zu überwindende Hürde dar, die so manchen an einer Installation verzweifeln lassen werden. Denn auch die entsprechenden Anleitungen dazu im Netz sind nicht leicht zu verdauen.

Wenn (U)EFI-Boot inzwischen Standard bei der Hardware ist, so hat Linux noch einiges aufzuholen. Denn „die“ Standard-Installation unter Linux geht immer noch vom guten alten BIOS-PC aus, EFI-Boot ist ein Nebenthema, das sich ganz schnell in technischen Details verliert und nicht sehr übersichtlich dokumentiert ist.

Dass es anders geht, und sogar gut, zeigt Opensuse 12.3, die ihre Hausaufgaben in Sachen EFI-Boot gemacht haben.

Linux in iMac
It works: solo Linux auf dem iMac! Hier mein Gnome-Desktop.

Beitragsbild „Weird“:

DeclanTM, flickr.com, lizenziert unter einer Creative Commons Namensnennung 2.0 Generic Lizenz.