Corellium je predstavil različico Linuxa, prilagojeno za delovanje na novejših računalnikih Apple, opremljenih s čipom M1, različica jedra Linux, združljiva s čipom Apple M1, je izdana pod licenco GPLv2, popravki pa so bili predloženi za vključitev v glavno jedro.
Corellium ima bogate izkušnje pri prehodu z Linuxa na Apple čipe uporablja na mobilnih napravah, kot je iPhone. V zgodnji fazi selitve so preizkuševalce spodbujali, da veliko komponent Apple M1 temelji na tehnologijah, ki jih je Apple že uporabljal v drugih SoC-jih.
Toda v procesu pisanja gonilnikov je postalo jasno, da ni vse tako preprosto in čip Apple M1 vključuje številne nestandardne rešitve. Podpora za Linux za 64-bitne SoC-je ARM temelji na običajnih gradnikih in vmesniki vdelane programske opreme, vendar Apple M1 skoraj ne uporablja tipičnih rešitev.
Na primer, v običajnih ARM SoC-jih se aktiviranje procesorskih jeder izvede prek PSCI (Power State Coordination Interface), ki ga zagotavlja vdelana programska oprema in na Apple M1 zahteva manipulacijo z registrom MMIO.
V tej fazi Razvijalci Corellium so prehiteli projekt Asahi Linux, ki ga je ustanovil Héctor Martin za prenos Linuxa na sisteme s čipom Apple M1, ki je bil do zdaj omejen na obratno inženirstvo in eksperimentiranje z zagonskim nalagalnikom. Ključni cilj Asahi Linuxa pa ni le zagon Linuxa, temveč zagotavlja popolno podporo mehanizmom za upravljanje porabe energije in uporabo zmogljivosti grafičnega procesorja Apple M1, ki uporablja poseben sklop navodil.
Obliži Corellium so omejeni na zagotavljanje zagona in podporo za določene funkcije čipov M1, povezanih z načinom SMP, časovniki, prekinitvami, ravnanjem v stanju pripravljenosti in inicializacijo.
P Predstavniki Asahi Linuxa so pozdravili izdajo popravkov Corellium in izrazili so pripravljenost za pomoč pri medsebojnih pregledih za pospešitev splošnega sprejemanja jedra Linuxa.
Poleg tega naj bi Alyssa Rosenzweig (iz Collabora, ki razvija gonilnik Panfrost GPU Mali) objavila tudi drugo poročilo o obratnem inženiringu in razvoju odprtokodnih gonilnikov za grafični procesor Apple M1.
V sedanji fazi je pripravljen začetni prototip krmilnika, ki lahko s pomočjo grafičnega procesorja nariše trikotnike. Za grafične procesorje M1 so prvi verteksni in fragmentarni senčniki tudi ročno kodirani. Gonilnik jedra IOKit se uporablja za interakcijo z GPU.
Apple M1 uporablja tudi svoj krmilnik za prekinitve AIC (Apple Interrupt Controller), ki večinoma ni združljiv s standardnimi GIC-ji ARM in drugačen mehanizem za vezavo prekinitev s časovnikom. Poleg tega se za organizacijo interakcije med več procesorji uporabljajo ločeni registri, ki nadzorujejo IPI (medprocesorske prekinitve).
Če želite zagnati računalnik Mac Mini M1 s čipom Apple M1, pripravljena je pripravljena slika rootfs, zgrajena na osnovi Ubuntujeve gradnje za Raspberry Pi.
Za namestitev je treba sliko kopirati na pogon USB, priključite to enoto na vrata USB-C in zaženite računalnik v načinu 1TR (Recovery OS) s pritiskom in držanjem gumba za vklop med zagonom. Ko se prikaže ukazna vrstica, morate zagnati skript linuxsetup.sh, ki bo namestil jedro in konfiguriral okolje.
Takrat se bo Linux začel izvajati, medtem ko morate za vrnitev macOS zagnati ukaz "bputil -n" v načinu 1TR.
Ready build podpira USB, I2C in DART, za omrežje je priporočljivo uporabiti zunanji adapter USB, medtem ko pospeševanje grafične strojne opreme in razširjena zunanja oprema še ne podpirata. Podpora za Bluetooth zahteva uporabo novega gonilnika zaradi uporabe nestandardnega protokola, ki temelji na PCIe.