ICorellium yethule inguqulo ye-Linux eguquliwe ukusebenzisa amakhompyutha amasha we-Apple afakwe i-chip M1, okuhlukile kwe-Linux kernel ehambisana ne-Apple M1 chip kukhishwa ngaphansi kwelayisense le-GPLv2, futhi ama-patches athunyelwe ukufakwa kwikhenela enkulu.
ICorellium inolwazi oluningi ngokufuduka isuka kwiLinux iye kuma-Apple chips esetshenziswa kumadivayisi eselula njenge-iPhone. Esigabeni sokuqala sokufuduka, abahloli bakhuthazwa ukuthi izinto eziningi ze-Apple M1 zisuselwe kubuchwepheshe obusetshenziswe yi-Apple kwamanye ama-SoCs.
Kodwa ngenkathi kubhalwa abashayeli, kwacaca ukuthi akuyona yonke into elula kangako futhi i-Apple M1 chip ifaka izixazululo eziningi ezingejwayelekile. Ukusekelwa kwe-Linux kwama-ARM 64-bit SoCs kusekelwe kumabhulokhi ajwayelekile ne-firmware interface, kepha i-Apple M1 ayisebenzisi neze izixazululo ezijwayelekile.
Isibonelo, kuma-ARC SoCs ajwayelekile, ukwenziwa kokusebenza kwama-CPU cores kwenziwa nge-PSCI (Power State Coordination Interface) enikezwe yi-firmware kanye ku-Apple M1 kudinga ukukhohliswa kwerejista ye-MMIO.
Kulesi sigaba, Abathuthukisi beCorellium bahambe phambili kwephrojekthi ye-Asahi Linux, esungulwe nguHéctor Martin ukufaka i-Linux kumasistimu ane-chip ye-Apple M1, kuze kube manje ikhawulelwe ukubuyisa ubunjiniyela nokuzama nge-bootloader. Kodwa-ke, inhloso esemqoka ye-Asahi Linux akukhona nje ukuqala i-Linux, kepha ukuhlinzeka ukwesekwa okugcwele kwezindlela zokuphathwa kwamandla nokusebenzisa amandla we-Apple M1 GPU, esebenzisa isethi ethile yemiyalo.
Izimagqabhagqaba zeCorellium zikhawulelwe ekunikezeni i-boot nokusekelwa kwezici ezithile Ama-chips e-M1 ahlobene nemodi ye-SMP, izibali sikhathi, ukuphazamiseka, ukuphatha izwe nokungenzi lutho.
I-Los Abamele i-Asahi Linux bakwamukele ukukhishwa kwama-Corellium patches futhi baveza ukuzimisela kwabo ukuhlinzeka ngosizo lokubuyekezwa kontanga ukusheshisa ukwamukelwa okujwayelekile kwe-Linux kernel.
Ngokwengeziwe, u-Alyssa Rosenzweig (osuka kwaCollabora othuthukisa umshayeli wePanfrost GPU Mali) naye kuthiwa ushicilele umbiko wesibili ngobunjiniyela obuguqulayo nokwakha abashayeli bemithombo evulekile ye-Apple M1 GPU.
Kulesi sigaba samanje, sekulungiselelwe uhlobo lokuqala lwesilawuli, olungadweba onxantathu kusetshenziswa i-GPU. Kuma-M1 GPUs, i-vertex yokuqala ne-fragment shaders nazo zifakwe ngesandla. Umshayeli we-kernel IOKit usetshenziselwa ukuxhumana ne-GPU.
I-Apple M1 nayo isebenzisa isilawuli sayo sokuphazamisa i-AIC (Isilawuli se-Apple Interrupt), okuyi ingxenye enkulu ayihambelani nama-ARM GIC ajwayelekile futhi indlela ehlukile yokubopha iphazamisa kusuka kusibali sikhathi. Ngaphezu kwalokho, ukuhlela ukuxhumana phakathi kwama-processor amaningi, kusetshenziswa amarejista ahlukile alawula i-IPI (inter-processor interrups).
Ukuqalisa ikhompyutha ye-Mac Mini M1 nge-Apple M1 chip, isithombe se-rootfs esilungele ukusetshenziswa, eyakhelwe ngesisekelo se-Ubuntu build for Raspberry Pi.
Ukufaka, kufanele ukopishe isithombe kudrayivu USB, xhuma le yunithi ethekwini le-USB-C bese uqala ikhompyutha ngemodi ye-1TR (I-Recovery OS) ngokucindezela nokubamba inkinobho yamandla ngenkathi uqalisa ukubamba. Ngemuva kokuthi umugqa womyalo uvele, udinga ukusebenzisa iskripthi se linuxsetup.sh, esizofaka i-kernel futhi silungiselele imvelo.
Yilapho i-Linux izoqala ukusebenza, kanti ukubuyisa i-macOS, kufanele usebenzise umyalo "bputil -n" kumodi ye-1TR.
Ukwakhiwa okulungele kusekela i-USB, i-I2C ne-DART, kuphakanyiswa ukuthi kusetshenziswe i-adaptha yangaphandle ye-USB yenethiwekhi, kuyilapho ukusheshiswa kwehardware yehadiwe nemingcele eyandisiwe kungasekelwa okwamanje. Ukwesekwa kwe-Bluetooth kudinga ukubhala umshayeli omusha ngenxa yokusebenzisa umthetho olandelwayo ongajwayelekile we-PCIe.
Umthombo: https://corellium.com