Je continue à traduire le rapport du projet Asahi Linux.
Jouons avec le fer
m1n1 vient de mini , un skin minimal que j'ai développé pour la Nintendo Wii. mini m'a beaucoup aidé avec des expériences et comme base pour BootMii (pour ceux qui possèdent une Wii et comprennent ce qui est quoi - mini est ce qui fonctionne réellement sur le processeur ARM pendant que vous êtes dans le menu BootMii).
D'accord, qu'est-ce que cela a à voir avec le chargeur de démarrage Apple Silicon?
Eh bien, mini était un petit programme assez simple qui pouvait fonctionner directement avec le matériel et s'exécuter directement sur un système ARM 32 bits sans aucune bibliothèque ou autre dépendance. C'est une bonne base pour étendre les fonctionnalités, nous l'avons donc porté sur AArch64 et Apple Silicon, et avons appelé le port m1n1.
Ce qui s'est avéré être beaucoup plus important, m1n1 a hérité d'une fonction tueur de mini: puisque mini a été lancé sur un processeur supplémentaire qui devait être contrôlé depuis le processeur principal, il dispose d'un RPC intégré passant par le port série. Cela signifie que nous pouvons contrôler mini et m1n1 à partir d'un autre ordinateur directement pendant le fonctionnement. m1n1 permet d'utiliser des scripts Python exécutés sur une autre machine pour manipuler le matériel sur le Mac m1 cible. Vous pouvez même le faire directement depuis le terminal interactif ! Pour être honnête, il s'agit plutôt d'un outil universel pour expérimenter le matériel, qui, par pure coïncidence, agit également comme un chargeur de démarrage Linux dans notre cas.
m1n1 Apple . , , x86 Rosetta. Apple-specific CPU . , . , , , Linux .
M1 Mac Mini m1n1 7 , , ( BSOD :) ). m1n1 , : m1n1, kmutils, .
m1n1 Apple ARM, , (, ), .
m1n1, . - , macOS . , Apple, , , , . - nouveau, nvidia gpu - Linux , .
, - , . M1 mac? :)
UART!
, . , UART , , . CPU, , .
, - RS-232 COM , . ( ) , , , .
M1 ?
, M1 , - USB-C ! , , USB-PD. USB-PD (Power delivery) Type C . USB , , , - , , , DisplayPort, , , . Type C . , ( ), DFU recovery mode, (I2C).
vdmtool: , Arduino, USB-PD PHY . , , , . : , USB-PD PHY, Type C, 1.2 UART , .
: m1 - ! , , Type C (SuperSpeed / USB3.0) macvdmtool. m1 , . API , , .
, , mac m1 - :) USB-PD , . , , , , Android . USB-PD , , , . , ! - , 1 .
, , : , 150/c. M1 , , USB , ( iPhone), USB- (CDC-ACM), . USB, Type C ( CtoA) . USB , - . - , - . m1n1, , : Type C UART USB . , , Linux, .
Nous allons l'ajouter à m1n1 dans les semaines à venir, alors restez à l'écoute!
<À suivre>