Il kernel Linux 5.13 avrà il supporto iniziale per le CPU Apple M1

Hector Martin ha proposto di includere nel kernel Linux la prima serie di patch preparate dal progetto Asahi Linux, che sta lavorando all'adattamento di Linux per i computer Mac dotati del chip Apple M1 ARM. Queste patch sono già state approvate dal manutentore del ramo SoC Linux e accettate nella codebase Linux-next, sulla base della quale si forma la funzionalità del kernel 5.13. Tecnicamente, Linus Torvalds potrebbe bloccare la consegna delle modifiche proposte, ma un simile sviluppo è considerato improbabile.

Le patch includono il supporto per componenti non GPU del SoC M1, come controller di interruzione, timer, UART, SMP, funzioni I/O e MMIO. Il reverse engineering della GPU non è ancora completo; le patch forniscono il supporto per framebuffer e console seriale per l'output. I dispositivi dichiarano di supportare il mini computer Apple Mac, utilizzato come piattaforma di riferimento nel progetto Asahi Linux (sono disponibili istruzioni dettagliate per l'installazione).

Separatamente, è in fase di sviluppo un adattatore hardware aperto, riconosciuto come semplificherà la connessione alla console tramite una porta seriale e il debug. Nella sua forma attuale, a causa dell'utilizzo da parte di Apple di comandi USB-PD non standard nelle sue apparecchiature, il modo più semplice per accedere alla console è collegarsi a un altro computer basato sul chip Apple M1 utilizzando un cavo USB C. Un metodo più complesso è creare un disaccoppiatore basato sul microcontrollore Arduino, sul chip FUSB30 e sull'adattatore UART-TTL.

Il progetto ha anche preparato il bootloader m1n1, che rende possibile caricare il kernel Linux e l'ambiente di sistema minimo su computer Mac con CPU Apple M1. Sui computer con CPU M1, Apple normalmente consente il caricamento di kernel non firmati digitalmente senza la necessità di un jailbreak. Questa funzionalità consente agli sviluppatori di sperimentare nuovi kernel XNU, ma sorgono difficoltà quando si tenta di avviare altri sistemi, poiché Apple utilizza il proprio protocollo di avvio e un diverso formato della struttura dei dispositivi. Il bootloader m1n1 proposto dal progetto Asahi Linux funge da livello che consente di utilizzare il Device Tree standard e il protocollo di avvio standard utilizzato nel kernel Linux per ARM64. In futuro, m1n1 prevede di aggiungere la possibilità di chiamare U-Boot e GRUB per organizzare un tipico processo di avvio simile a quello utilizzato su altre piattaforme ARM64.

Fonte: opennet.ru

Aggiungi un commento