Die Linux-Kernel-Version 5.13 bietet zunächst Unterstützung für den Apple M1-Chip, den ersten SoC der Desktop-Klasse im Apple Silicon-Design.
Apple stellte letztes Jahr sein erstes System-on-a-Chip-Design der Desktop-Klasse vor, den Apple M1, der auf der gleichen ARM-Architektur wie die meisten Smartphones und Tablets basiert. Während Linux auf ARM-Geräten (wie dem Raspberry Pi) seit Jahren gut funktioniert, ist die Hardware von Apple stark angepasst und erfordert spezielle Softwareunterstützung. Zum Glück sind wir der Ausführung von Linux auf Apple Silicon nun einen Schritt näher gekommen.
Asahi Linux hat daran gearbeitet, „ein ausgefeiltes Linux-Erlebnis“ auf Apple Silicon Macs zu bringen und hat seinen Code an das Linux-Projekt zur Aufnahme in den offiziellen Linux-Kernel übermittelt. Die ersten Arbeiten der Gruppe wurden in die Linux-SoC-Codebasis integriert und werden voraussichtlich als Teil des kommenden Linux 5.13-Updates verfügbar sein.
Es ist aufregend zu sehen, dass die erste Unterstützung für Apples neue Hardware nur wenige Monate nach der Auslieferung der ersten Hardware im Linux-Kernel verfügbar ist, aber das Schlüsselwort dort lautet „initial“. Während Linux
technisch Beim Booten auf M1 sind wir noch weit davon entfernt, ein Live-USB-Laufwerk anzuschließen und auf die Schaltfläche „Installieren“ zu klicken. Der aktuelle Code umfasst Unterstützung für grundlegende Low-Level-Funktionalitäten, wie z symmetrisches Multiprocessing über Spin-Tische, IRQ-Handhabung, serielle Verbindungen und einen Framebuffer. Linux kann über eine Eingabeaufforderung booten, aber sonst nicht viel – es gibt noch nicht einmal vollständige Grafikunterstützung.Während die offizielle Kernel-Unterstützung für M1-Hardware stetig voranschreitet, ist es einigen Leuten mit verschiedenen Hacks gelungen, einem echten Desktop-Erlebnis näher zu kommen. Corellium, ein auf ARM-Virtualisierung spezialisiertes Entwicklungsunternehmen, konnte eine erstellen verwendbarer Ubuntu-Desktop auf dem M1 Mac Mini. Allerdings werden die meisten Arbeiten von Corellium nicht in den Linux-Kernel übertragen.
Corellium schrieb darüber, wie sich die Architektur des M1 von anderen ARM-Designs unterscheidet in einem Blogbeitrag. „Der Bootloader, traditionell iBoot genannt, lädt eine ausführbare Objektdatei in einem Format namens Mach-O, optional komprimiert und in ein signiertes ASN.1-basiertes Wrapper-Format namens IMG4 verpackt. Zum Vergleich: Normales Linux auf 64-Bit-ARM startet als flaches Binärbild.“ Die Gruppe fuhr fort: „Wenn das nicht genug wäre, Apple.“ haben ihren eigenen Interrupt-Controller entwickelt, den Apple Interrupt Controller (AIC), der mit keinem der großen ARM-GIC kompatibel ist Standards. Und nicht nur das: Die Timer-Interrupts – normalerweise verbunden mit einem regulären Pro-CPU-Interrupt auf ARM – sind es stattdessen an den FIQ weitergeleitet, ein abstruses Architekturmerkmal, das im alten 32-Bit-ARM häufiger vorkommt Tage."
Äpfel M1-Chipsatz wird derzeit für das MacBook Air, MacBook Pro und Mac Mini ausgeliefert. Es handelt sich um einen 5-nm-Chip mit insgesamt acht Kernen: vier Hochleistungskerne und vier energieeffiziente Kerne. Außerdem gibt es eine Neural Engine für maschinelle Lernaufgaben sowie eine GPU mit acht Kernen. Apple versprach, dass der M1 eine bessere Leistung als die bisher verwendeten Intel-CPUs liefern und dabei nur etwa ein Viertel der Energie verbrauchen würde, und zwar später Tests in der realen Welt hat diese Behauptungen untermauert. Glücklicherweise unterstützt der M1 das Booten nicht signierter/benutzerdefinierter Kernel vollständig, sodass für die Ausführung von Linux keine Sicherheitslücken erforderlich sind, die später gepatcht werden könnten.
Apples eigenes macOS ist bereits ein großartiges Betriebssystem, aber Desktop-Linux als Option könnte für einige potenzielle Käufer von MacBooks und Mac Minis ein starkes Verkaufsargument sein. Apple wurde im Laufe der Jahre dafür kritisiert, einige Aspekte von macOS zu sperren oder plattformübergreifende Standards zugunsten proprietärer Alternativen aufzugeben. Beispielsweise unterstützt macOS immer noch nicht die plattformübergreifende Vulkan-API für Grafiken. nur die firmeneigene Metal API.