Hector Martin a proposé d'inclure dans le noyau Linux le premier ensemble de correctifs préparés par le projet Asahi Linux, qui travaille à l'adaptation de Linux pour les ordinateurs Mac équipés de la puce ARM Apple M1. Les correctifs mentionnés ont déjà été approuvés par le mainteneur de la branche Linux SoC et acceptés dans la base de code Linux-next, sur la base de laquelle la fonctionnalité du noyau 5.13 est formée. Techniquement, Linus Torvalds peut bloquer la livraison des modifications proposées, mais une telle évolution est jugée peu probable.
Les correctifs incluent la prise en charge des composants SoC M1, non liés au GPU, tels que le contrôleur d'interruptions, le minuteur, l'UART, le SMP, des fonctions pour l'organisation des entrées/sorties et le MMIO. L’ingénierie inverse du GPU n’est pas encore terminée, et les correctifs offrent un support de framebuffer et de console via le port série. Les dispositifs pris en charge incluent l'ordinateur Apple Mac mini, qui est utilisé comme plateforme de référence dans le projet Asahi Linux (une instruction détaillée pour l'installation est disponible).
Un adaptateur matériel open source est en cours de développement, conçu pour simplifier la connexion à la console via le port série et mener à bien le débogage. Dans sa forme actuelle, en raison de l'utilisation par Apple de commandes USB-PD non standard dans son matériel, le moyen le plus simple d'accéder à la console est de se connecter à un autre ordinateur basé sur la puce Apple M1 à l'aide d'un câble USB C. Une méthode plus complexe consiste à créer une liaison basée sur un microcontrôleur Arduino, la puce FUSB30 et un adaptateur UART-TTL.
Le projet a également préparé le chargeur m1n1, qui permet de charger le noyau Linux et un environnement système minimal sur les ordinateurs Mac avec CPU Apple M1. Apple permet par défaut sur les ordinateurs avec CPU M1 de charger des noyaux sans signature numérique vérifiée sans avoir à utiliser de jailbreak. Cette fonctionnalité permet aux développeurs d'expérimenter avec de nouveaux noyaux XNU, mais la tentative de charger d'autres systèmes rencontre des difficultés, car Apple utilise son propre protocole de démarrage et un format Device Tree différent. Le chargeur m1n1 proposé par le projet Asahi Linux agit comme un intermédiaire, permettant d'utiliser le Device Tree standard et le protocole de démarrage utilisé dans le noyau Linux pour ARM64. À l'avenir, il est prévu d'ajouter la possibilité d'appeler U-Boot et GRUB dans m1n1 pour organiser un processus de démarrage typique similaire à celui utilisé sur d'autres plateformes ARM64.
Source : opennet.ru
