Einleitung/Motivation
Vor einiger Zeit bekam ich einen relativ alten Imac von einem Freund, den dieser ursprünglich entsorgen wollte. Zum Glück hat er nicht vergessen, dass ich u.U. Intetesse daran haben könnte. Eigentlich wollte ich die alte Kiste dazu verwenden, alte MacOS Software im Musikbereich zu betreiben – manches wird von neueren Macs nicht mehr unterstützt.
Allerdings ist es natürlich schön, wenn man trotzdem ein aktuelles und sicheres System auf einem alten Gerät hat – ein Rechner als Backup System ist immer praktisch und mit dem uralten MacOS sollte man online nichts erledigen.
Also einfach ein aktuelles Linuxsystem als Dualboot installieren.
Hardware/MacOS
https://support.apple.com/de-de/112565
https://linux-hardware.org/?probe=dc0cf19a8e
Der Imac wurde etwas modifiziert – zusätzlicher Speicher (12 GB insgesamt), eine Samsung SSD 850 EVO mit 500GB. Insgesamt also ein Gerät, das durchaus für tägliche Arbeit ausreichend sein sollte. Einzig der magere Dual-Core (3,06 GHz Intel Core 2 Duo) scheint etwas dürftig.
Bei nicht zu alten Modellen ist es möglich, MacOS einfach via Internet/WAN komplett neu aufzusetzen. Dafür ist das Gerät zu alt. Also war es nötig, per USB Medium neu zu installieren.
Wenn man will, kann man versuchen, mit dem OpenSource Legacy Patcher auch auf macOS Sequoia upzudaten. Das verlinkte Video zeigt allerdings den Prozess für den Rechner mit Nvidia-Karte und nicht mit der ATI Radeon-Karte, die bei meinem Imac verbaut ist. Ehrlich gesagt, halte ich überhaupt nichts davon, weil die Performance mit Linux Mint Xfce absolut okay ist – ohne irgendwelche Probleme, wenn man die später erwähnten Boot-Probleme überwunden hat. Trotzdem soll diese Möglichkeit nicht unerwähnt bleiben.
Vorbereitung/Backup
Wichtigster Punkt bei Installation, Updates und generellen Basteleien: Backup, Backup, Backup!
Wer seine Daten im Voraus gesichert hat, kann in Ruhe rumbasteln. Es ist auch immer von Vorteil einen zweiten Rechner (Laptop?) zur Verfügung zu haben, um zusätzlich Boot-Medien erstellen zu können. Ich verwende zum Booten am liebsten Ventoy – allerdings hat sich herausgestellt, dass Windows 11 bei bestimmten Hardware-Konfigurationen bei der Installation scheitert. Das ist zwar off-topic – sollte aber hier erwähnt werden. Wer auf Nummer sicher gehen will, erstellt über das jeweilige System die Bootmedien.
Probleme/Werkzeuge
Erstes Problem stellt die meist aktivierte SIP (System Integrity Protection) des Imac dar.
https://rodsbooks.com/refind/sip.html
In meinem Fall hatte ich keine funktionierende Recovery-Installation – also war der Weg über Refind und ein Boot-Medium notwendig. Hat man diese Sperre beseitigt, ist ein Boot-Vorgang und eine Installation erst möglich – auch eines alternativen EFI-Bootloaders.
Aus praktischen Gründen empfehle ich die Verwendung von Refind als Bootloader. Am einfachsten kann man Refind aus einem laufenden MacOS heraus installieren. Es ist also sinnvoll, vor der Installation von Linux zuerst aus dem laufenden MacOS refind zu installieren.
https://www.rodsbooks.com/refind
https://www.rodsbooks.com/refind/getting.html
Leider ist beim Boot-Vorgang schon ein relativ kleiner, aber wichtiger Eingriff notwendig, um Linux ohne Probleme mit de Grafikkarte booten zu können. Hintergrund ist das EFI-Handling der Imac-Hardware. Diese lässt bestimmte Zugriff nur kurz während des Boot-Vorgangs zu, später allerdings nicht mehr. In aktuellen Linux-Kernels wird auf die Grafik-Hardware beim Booten über den Kernel zugegriffen. Bei diesem Imac führt es dazu, dass notwendige Einstellungen nicht möglich sind und die Grafikausgabe nach dem Booten vermurkst ist. Man kann das verhindern, indem man entweder manuell im Bootloader die Option „nomodeset“ hinzufügt oder gleich im „Safe Mode“ bootet. Dann kann man Linux auch wie gewohnt auf dem Imac starten und die Installation durchführen – entweder neben dem vorhanden MacOS oder gleich auf der ganzen Festplatte. Leider nimmt Linux an, dass via EFI gebootet werden kann, was aber aufgrund der Hardware-Spezialität leider ja zu Problemen führt.
Normalerweise (zumindest ist es bei einer Linux Mint Installation der Fall) wird der Linuxbootloader, also grub, UEFI „an sich reissen“ und den Bootvorgang steuern. Bei „normalen“ PCs ist das kein Problem, da Einstellungen im BIOS gesetzt werden können. Leider ist das bei diesem Imac nicht so leicht möglich. Glücklicherweise gibt es efibootmgr. Wird im EFI-Modus gebootet (entweder über die Installation auf der Platte oder über ein USB-Medium) kann efibootmgr dazu benutzt werden, das Bootziel zu setzen.
https://wiki.ubuntuusers.de/efibootmgr
Alternativ gibt es immer noch die Möglichkeit via gehaltener ALT- bzw. OPTION-Taste das Imac-Boot-Menü aufzurufen und wieder in die MacOS-Installation zu booten. Dann kann man refind neu aus MacOS heraus installieren.
Um via Refind ohne ständige Eingabe der Option „nomodeset“ über EFI und Refind booten zu können, ist es möglich mit Hilfe der Datei
/boot/refind_linux.conf
der Linux-Installation diese Option permanent zu setzen.
https://www.rodsbooks.com/refind/linux.html
Dazu sollte man in der Linux-Installation das Debian-Paket installieren. Mit Hilfe von mkrlconf kann man die Datei refind_linux.conf automatisch erzeugen. In meinem Fall wurde die Option „nomodeset“ direkt vom Boot-Vorgang übernommen und in die Datei geschrieben. Mit „--force“ als Option erzeugt mkrlconf diese Datei erneut, falls sie schon vorhanden ist. Bei mir sieht diese Datei so aus:
"Boot with standard options" "ro nomodeset root=UUID=0adfd422-801a-4fff-b807-dad918fa970f"
"Boot to single-user mode" "ro nomodeset root=UUID=0adfd422-801a-4fff-b807-dad918fa970f single"
"Boot with minimal options" "ro root=UUID=0adfd422-801a-4fff-b807-dad918fa970f"
Natürlich sind ist die UUID meiner Root-Partition.
Lösungsweg
Wie man sich denken kann, ist die Lösung ein Boot-Vorgang via Legacy-Boot. Leider ist das auf einer GPT-Platte nicht so einfach möglich. Will man die Platte nicht auf Legacy-MBR umformatieren und sinnvollerweise die moderne GPT-Struktur beibehalten, muss man etwas Aufwand betreiben. Dazu ist eine zusätzlich Partition mit ca. 1 MB auf der Platte notwendig. Diese wird einfach unformatiert angelegt – z.B. mit gparted und mit dem Flag „bios_grub„.
https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html
Um dann Grub für den Legacy-Boot zu installieren ist folgendes Kommando in der via EFI-gebooteten Linux-Installation notwendig:
sudo grub-install --target=i386-pc /dev/sda --boot-directory=/boot
/dev/sda ist mit der Platte (nicht die Partition!!) zu ersetzen, auf der die Partition mit dem Flag „bios_grub“ angelegt wurde.
Danach ist auch noch wichtig, grub upzudaten, um die entsprechenden Konfigurationsdateien zu erhalten:
sudo update-grub
Nun sollte es möglich sein, Linux auch per Legacy Boot zu starten – sowohl mit Apple gedrückter Option- bzw. Alt-Taste (Windows als System, ja!) oder refind (letzte Option).
Kleinigkeiten
Na ja, vielleicht auch etwas Entscheidendes. Apple hat bei diesem Imac noch eine Besonderheit verbaut – ein zusätzlicher Sensor für die eingebaute Festplatte. Fehlen Kabel und Sensor, dann glaubt das System, alle Lüfter hochfahren zu müssen, um die CPU zu kühlen. Das ganze kann aber mit der Installation von mpbfan behoben werden.
https://github.com/linux-on-mac/mbpfan
Dieses kleine Tool sorgt dafür, dass man von den Imac-Lüftern nicht weggeblasen wird.