Continuo traduzindo o relatório do projeto Asahi Linux.
Vamos brincar de ferro
m1n1 vem do mini , um skin mínimo que desenvolvi para o Nintendo Wii. mini me ajudou muito com experimentos e como base para o BootMii (para aqueles que possuem um Wii e entendem o que é - mini é o que realmente está rodando na CPU ARM enquanto você está no menu do BootMii).
Ok, então o que isso tem a ver com o bootloader Apple Silicon?
Bem, o mini era um programa pequeno e bastante simples que podia trabalhar diretamente com o hardware e rodar diretamente em um sistema ARM de 32 bits sem nenhuma biblioteca ou outras dependências. Esta é uma boa base para expandir a funcionalidade, por isso a transferimos para AArch64 e Apple Silicon e chamamos a porta de m1n1.
O que acabou sendo muito mais importante, m1n1 herdou um recurso matador do mini: como o mini foi lançado em um processador adicional que precisava ser controlado a partir do processador principal, ele tem um RPC embutido rodando pela porta serial. Isso significa que podemos controlar mini e m1n1 de outro computador durante a operação. m1n1 permite o uso de scripts Python em execução em outra máquina para manipular o hardware no Mac m1 de destino. Você pode até fazer isso direto do terminal interativo ! Para ser honesto, esta é uma ferramenta universal para experimentar com hardware, que, por pura coincidência, também atua como um bootloader do Linux em nosso caso.
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, .
Estaremos adicionando isso ao m1n1 nas próximas semanas, fique ligado!
<Continua>