Blog

Sep02

debian 12 auf MacBook Pro 2008 (Aktualisierung)

Vor zwei Tagen habe ich debian 12 auf meinem 2008er MacBook Pro 17" HiRes (1920x1200) installiert. Dass meine Grafikkarte, eine Nvidia 8600M GT, nicht mehr vom proprietären Treiber unterstützt würde, war mir von vorn herein klar, weshalb ich jedem, der über ein neueres Betriebssystem auf einem solch alten MacBook Pro nachdenkt, eher zu OpenCore und Monterey (bzw. bald dessen Nachfolgern) raten würde.
Dieser Artikel soll deshalb nur als kleiner Erfahrungsbericht dienen, nicht aber als ausführliche Anleitung.

Probleme und Lösungen

Zunächst einmal installiere ich Debian grundsätzlich von einer NetInstall-CD, die ja mittlerweile selber zu einer 631 MB großen Image-Datei herangewachsen ist. Das erste Problem war die fehlende Firmware für die WLAN-Karte, und das obwohl das offizielle Image jetzt Firmware ohne offene Quellen enthält. Die Lösung ist ganz einfach:
Entweder installiert man debian über den Ethernet-Anschluss oder schließt ganz einfach ein Mobil-Telefon an, auf dem man das WLAN per USB freigibt.
In meinem Fall hatte ich noch einen WLAN-USB-Adapter rumliegen, der vom Installer von vorn herein erkannt wurde und funktionierte.

Als die Installation von debian 12 dann ohne jeden Fehler abgeschlossen war, war es mir unmöglich, das System zu starten. GRUB wollte sich einfach nicht laden lassen, um dann Debian zu starten.
Es war weder im Boot-Menü (Alt-Taste beim Starten gedrückt halten) zu sehen, noch startete es auf magische Weise von ganz allein, ebenfalls ohne im Boot-Menü zu sehen zu sein, so wie es das bei meinem MacBook1,1 tut.
Nach langem Lesen kommt nun rEFInd zum Einsatz. rEFInd ist ein EFI-Boot-Loader, der einiges an Funktionalität nachreicht, die der Apple-Implementierung von EFI zu fehlen scheint. Es ist auch das erste und einzige mal, dass ich auf rEFInd zurückgreifen muss, da alle meine anderen Macs auch ohne rEFInd den GRUB und somit Linux starten.
rEFInd also kann GRUB starten. Doch GRUB startet Debian nicht! Der Rechner bleibt irgendwo im Boot-Prozess stehen. Was nun?! Ganz einfach: einmal die Augen geöffnet und Debian direkt aus rEFInd aufgerufen und Debian startet. Zwar mit viel mehr Boot-Meldungen als normal, aber es startet.
Möglicherweise liegt es an OpenCore, dass es gewisse Schwierigkeiten mit dem Boot-Loader von Linux gibt, ich weiß es aber gerade nicht genau. Wichtig ist mir nur, dass nun eine Methode funktioniert, Linux ohne Boot-Loader von externen Laufwerken, z.B. SuperGRUB, zu starten.

Nun da das System läuft, soll auch das WLAN-Modul funktionieren. Die Installation ist relativ einfach für mich, da ich das nicht zum ersten mal mache: Ich bearbeite die Datei /etc/apt/sources.list und füge jedem Repo die Kategorien contrib und non-free hinzu. Diese sieht nun ganz genau so aus:

#deb cdrom:[Debian GNU/Linux 12.6.0 _Bookworm_ - Official amd64 NETINST with firmware 20240629-10:18]/ bookworm contrib main non-free-firmware

deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware

deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.

Nicht alle Zeilen werden gebraucht, aber sie waren da und ich lasse sie nunmal drin.
Anschließen installiere ich die beiden Pakete firmware-b43-installer und firmware-b43legacy-installer. Gleich nach Installation der Pakete steht mir das eingebaute WLAN-Modul zur Verfügung.

Die beiden Pakete apfs-dkms und apfsprogs sollen mir, so hoffe ich während ich dies hier schreibe, Zugriff auf meine macOS Monterey Partition geben. Ich möchte mir Zugriff auf das Verzeichnis /Library/ColorSync/Profiles/Displays/ auf verschaffen, um mir das mit macOS mitgelieferte Farb-Profil für mein Display zu verschaffen, denn der Linux-Desktop kommt mit sehr bleich gewaschenen Farben daher.
Der Zugriff auf die APFS-Partition mit macOS funktioniert sofort nach der Installation der oben genannten Pakete und ich kopiere mir die Farbprofile in mein Heimverzeichnis in Linux.
Laut der Webseite https://wiki.debian.org/MacBook#Color_Profile habe ich die Wahl zwischen zwei Paketen, die das Farbprofil anwenden können. Ich persönlich entscheide mich für xcalib und installiere es vorher, da es nach der Installation von debian noch fehlt. Dann kopiere ich den Befehl xcalib ~/.config/Profiles/Displays/Color\ LCD-9175CD4B-80EF-85A8-9037-968EC2A23245.icc in eine Script-Datei, mache diese ausführbar und trage dieses in die Startprogramme von MATE (Menü > System > Einstellungen > Persönlich > Startprogramme) ein.

Nun bleibt abzuwarten, wie gut sich das MacBook Pro als Linux-Maschine noch macht. Viele Vorteile gegenüber der Kombination OpenCore Legacy Patcher + macOS Monerey verspreche ich mir nicht, vor allem, wenn es um grafik-intensive Programme (Spiele) geht, denn beide Varianten schränken die Grafikmöglichkeiten des MacBook Pro mit seiner Nvidia 8600M GT ein. Unter debian 12 steht nur der freie Nouveau-Treiber zur Verfügung, da der letzte Treiber (nvidia-340.108) nicht mehr unter der Kernel-Serie 6 zu installieren ist, während unter macOS zwar ein vollwertiger Treiber installiert ist, viele Programme aber nun auf Metal basieren, was diese Karte nunmal nicht kann.
Mit einer 1 TB SSD und 6 GB DDR2-RAM habe ich aber genug Power, um das Experiment Linux-auf-einem-Nvidia-Mac zu wagen.

PS: Beendigung des Projekts

Nun habe ich mehrere Methoden ausprobiert, den offiziellen Nvidia-Treiber zu installieren. Hier gebe ich mal zwei Links bekannt, bei denen ich mir Tipps holte:

Leider hat keine davon für mich funktioniert, so dass ich wieder zum Nouveau-Treiber zurückkehren wollte. Doch dieser war nun nicht mehr in der Lage, OpenGL- bzw. GLX-Anwendungen auszuführen. Mehrere Unternehmungen, alle Spuren des Nvidia-Treibers zu entfernen und die Mesa-GLX-Treiber neu zu installieren brachten keinen Erfolg.
Ich entschied mich, auf Linux auf dem MacBook Pro 4,1 zu verzichten und lösche nun meine gesamte Platte, um mit einem frisch installierten Sonoma neu anzufangen.

Tags: