Hector Martin pakkus vÀlja, et Asahi Linuxi projekt, mis töötab Linuxi kohandamise kallal Apple M1 ARM-protsessoriga Mac-arvutitele, sisestaks Linuxi tuumasse esimese patƥide komplekti. Need patƥid on juba heaks kiidetud Linux SoC haru hooldaja poolt ja on vÔetud kasutusele Linux-next koodibaasis, millest kujuneb versiooni 5.13 tuumafunktsionaalsus. Tehniliselt vÔib Linus Torvalds ettepanekute rakendamise blokeerida, kuid selline areng on ebatÔenÀoline.
Patƥid sisaldavad M1 SoC komponente, mis ei ole seotud GPU-ga, nÀiteks katkestuste kontroller, taimer, UART, SMP, sisendi ja vÀljundi korraldamise funktsioonid ning MMIO. GPU tagasitehnika töö ei ole veel lÔpetatud, seetÔttu toetavad patƥid freambuferi ja konsooli vÀljundit kaudu jÀrjestikust porti. Seadmest on toetatud Apple Mac mini, mida kasutatakse Asahi Linuxi projekti standardplatvormina (koos pÔhjaliku installatsioonijuhisega).
Aviitavalt arendatakse avatud riistvaralikku adapterni, mis lihtsustab konsooli ĂŒhendamist jĂ€rjestiku pordiga ja hÀÀlestuse teostamist. Praeguses vormis, tĂ€nu Apple'i kasutatavatele mittestandardsetele USB-PD kĂ€skudele oma seadmetes, on lihtsaim viis konsoolile pÀÀsemiseks ĂŒhendamine teise Apple M1 kiibil pĂ”hineva arvutiga USB C kaabli abil. Karmim meetod hĂ”lmab Arduino mikrokontrolleri, FUSB30 kiibi ja UART-TTL adapterni pĂ”hjal lahenduse loomist.
Projekt sisaldab ka m1n1 laadijat, mis vĂ”imaldab laadida Linuxi kernelit ja minimaalset sĂŒsteemi keskkonda Apple M1 CPU-ga Mac arvutites. Apple lubab Mac sĂŒsteemides, kus on M1 CPU, tavaliselt laadida allkirjastamata kernelit ilma jailbreak'i rakendamata. See omadus vĂ”imaldab arendajatel katsetada uusi XNU kernelite versioone, kuid muu sĂŒsteemi laadimisel tekivad raskused, kuna Apple kasutab oma laadimisprotokolli ja teistsugust seadme puu formaati. Asahi Linuxi projektiga pakutav m1n1 laadija toimib vahekihina, vĂ”imaldades kasutada standardset seadme puu struktuuri ja tavapĂ€rast laadimisprotokolli, mis on kasutusel Linuxi ARM64 kernelites. Edaspidi plaanitakse m1n1-sse lisada U-Boot'i ja GRUB'i kĂ”nede vĂ”imalus, et korraldada tĂŒĂŒpiline laadimisprotsess, mis sarnaneb muude ARM64 platvormide kasutatavale.
Allikas: opennet.ru
