Im Linux-Kernel 5.13 wird eine erste Unterstützung für die CPU Apple M1 erscheinen.

Hector Martin hat vorgeschlagen, das erste Set an Patches, die vom Asahi Linux-Projekt vorbereitet wurden, in den Linux-Kernel aufzunehmen. Dieses Projekt arbeitet an der Anpassung von Linux für Mac-Computer mit dem Apple M1 ARM-Chip. Die genannten Patches wurden bereits vom Betreuer des Linux SoC-Zweigs genehmigt und in den Code von Linux-next aufgenommen, auf dessen Grundlage die Funktionalität des Kernels 5.13 entsteht. Technisch gesehen könnte Linus Torvalds die vorgeschlagenen Änderungen blockieren, aber ein solches Szenario wird als unwahrscheinlich angesehen.

Die Patches beinhalten die Unterstützung von SoC M1-Komponenten, die nicht mit der GPU verbunden sind, wie beispielsweise einen Interrupt-Controller, einen Timer, UART, SMP, Funktionen zur Organisation von Ein-/Ausgabe und MMIO. Das Reverse Engineering der GPU ist noch nicht abgeschlossen, für die Organisierung der Ausgabe bieten die Patches Unterstützung für Framebuffer und Konsole über die serielle Schnittstelle. Unterstützt werden unter anderem der Apple Mac mini, der als Referenzplattform im Asahi Linux-Projekt verwendet wird (eine detaillierte Installationsanleitung ist verfügbar).

Ein separates offenes Hardware-Adapterprojekt wird entwickelt, das die Verbindung zur Konsole über die serielle Schnittstelle und die Durchführung von Debugging erleichtern soll. In der aktuellen Form ist der einfachste Zugang zur Konsole über den Anschluss an einen anderen computer mit einem Apple M1-Chip unter Verwendung eines USB-C-Kabels möglich, da das Unternehmen Apple in seiner Hardware nicht standardisierte USB-PD-Befehle verwendet. Ein komplexerer Ansatz besteht darin, eine Schnittstelle mit einem Mikrocontroller, dem FUSB30-Chip und einem UART-TTL-Adapter aufzubauen.

Das Projekt hat auch den m1n1-Bootloader vorbereitet, der die Möglichkeit bietet, den Linux-Kernel und eine minimales Systemumgebung auf Macs mit Apple M1-CPUs zu laden. Apple erlaubt standardmäßig auf Computern mit M1-CPUs das Laden von nicht signierten Kerneln ohne die Notwendigkeit eines Jailbreaks. Diese Funktion ermöglicht es Entwicklern, mit neuen XNU-Kernen zu experimentieren, aber beim Versuch, andere Systeme zu laden, treten Schwierigkeiten auf, da Apple ein eigenes Bootprotokoll und ein anderes Device Tree-Format verwendet. Der von Asahi Linux vorgeschlagene Bootloader m1n1 fungiert als Schicht, die die Verwendung des Standard-Device Tree und des im Linux-Kernel für ARM64 verwendeten Bootprotokolls ermöglicht. Zukünftig soll m1n1 die Möglichkeit bieten, U-Boot und GRUB zu aktivieren, um einen typischen Bootprozess einzurichten, der mit dem auf anderen ARM64-Plattformen verwendeten vergleichbar ist.

Quelle: opennet.ru

60GB SSD 8Gb DDR4