Hector Martin predložio je uključivanje prvog seta zakrpa koje je pripremio projekt Asahi Linux u Linux kernel, koji radi na prilagodbi Linuksa za Mac računala opremljena Apple M1 ARM čipom. Spomenute zakrpe već su odobrene od strane održavatelja Linux SoC grane i prihvaćene su u kodnu bazu Linux-next, koja se koristi za razvoj funkcionalnosti kernela 5.13. Tehnički, Linus Torvalds može blokirati isporuku predloženih promjena, no takav ishod se ocjenjuje kao malo vjerojatan.
Zakrpe uključuju podršku za M1 SoC komponente koje nisu povezane s GPU-om, kao što su upravljač prekidima, tajmer, UART, SMP, funkcije za ulaz/izlaz i MMIO. Obradni inženjering GPU-a još nije završen, tako da se za isporuku u zakrpama pruža podrška za frame buffer i konzolu putem serijskog porta. Od uređaja navedena je podrška za Apple Mac mini računalo, koje se koristi kao referentna platforma u projektu Asahi Linux (dostupne su detaljne upute za instalaciju).
Odvojeno se razvija otvoreni hardverski adapter, koji je dizajniran da pojednostavi povezivanje s konzolom putem serijskog porta i izvođenje debuggiranja. U trenutnom obliku, zbog upotrebe nestandardnih USB-PD komandi od strane Apple-a u svom hardveru, najjednostavniji način pristupa konzoli je povezivanje s drugim računalom temeljenim na Apple M1 čipu koristeći USB C kabel. Složeniji način uključuje izradu razdjelnika temeljenog na mikrokontroleru Arduino, FUSB30 čipu i UART-TTL adapteru.
Projekt je također pripremio m1n1 bootloader, koji omogućava pokretanje Linux jezgre i minimalnog sistemskog okruženja na Mac računalima s Apple M1 CPU-om. Apple na računalima s M1 CPU-om u režimu rada dopušta pokretanje nepotpisanih jezgra bez potrebe za jailbreakom. Ova mogućnost omogućava programerima da eksperimentiraju s novim XNU jezgrama, ali se prilikom pokušaja pokretanja drugih sustava javljaju poteškoće, jer Apple koristi vlastiti protokol za pokretanje i drugačiji format Device Tree. Predloženi m1n1 bootloader projekta Asahi Linux djeluje kao posrednik, omogućavajući korištenje standardnog Device Tree-a i uobičajenog protokola za pokretanje koji se koristi u Linux kernelu za ARM64. Zatim se planira dodati mogućnost pozivanja U-Boot-a i GRUB-a za organiziranje standardnog procesa pokretanja, sličnog onom koji se koristi na drugim ARM64 platformama.
Izvor: opennet.ru
