Corellium njofton portën e saj të Linux në patate të skuqura M1

Corellium ka publikuar një version të Linux-it të përshtatur për t'u ekzekutuar në kompjuterët e rinj Apple të pajisur me çipin M1 . Varianti i kernelit Linux i pajtueshëm me çipin Apple M1 është publikuar sipas licencës GPLv2, dhe janë paraqitur patch-e për përfshirje në kernelin kryesor.

Corellium ka përvojë të gjerë në migrimin e Linux në çipat e Apple që përdoren në pajisje mobile si iPhone. Në fazën fillestare të migrimit, testuesit u inkurajuan të mësonin se shumë nga komponentët e Apple M1 bazohen në teknologjitë e përdorura tashmë nga Apple në SoC të tjera.

Por gjatë procesit të zhvillimit të drajverit, u bë e qartë se gjërat nuk janë kaq të thjeshta dhe çipi Apple M1 përfshin shumë zgjidhje jo standarde. Mbështetja e Linux për SoC-të ARM 64-bit mbështetet në blloqe ndërtimi dhe ndërfaqe firmware-i të përbashkëta , por Apple M1 mezi përdor ndonjë zgjidhje tipike.

Për shembull, në SoC-të konvencionale ARM, aktivizimi i bërthamës së CPU-së bëhet përmes PSCI (Ndërfaqja e Koordinimit të Gjendjes së Energjisë) e ofruar nga firmware-i, dhe në Apple M1 kërkon manipulim të regjistrit MMIO.

Në këtë fazë, zhvilluesit e Corellium kanë tejkaluar projektin Asahi Linux , të themeluar nga Héctor Martin për të portuar Linux në sisteme me çipin Apple M1, i cili deri më tani ka qenë i kufizuar në inxhinieri të kundërt dhe eksperimentim me një bootloader. Megjithatë, objektivi kryesor i Asahi Linux nuk është vetëm të ngarkojë Linux, por edhe të ofrojë mbështetje të plotë për mekanizmat e menaxhimit të energjisë dhe të shfrytëzojë aftësitë e GPU-së Apple M1, e cila përdor një grup specifik udhëzimesh.

Patch-et e Corellium-it janë të kufizuara në ofrimin e nisjes dhe mbështetjes për veçoritë specifike të çipit M1 që lidhen me modalitetin SMP, kohëmatësit, ndërprerjet, trajtimin e gjendjes së papunë dhe inicializimin.

Përfaqësuesit nga Asahi Linux mirëpritën publikimin e patch-eve të Corellium dhe shprehën gatishmërinë e tyre për të ofruar ndihmë nga rishikimet nga kolegët për të përshpejtuar miratimin e kernelit Linux në përgjithësi.

Për më tepër, Alyssa Rosenzweig (nga Collaborati i cili zhvillon shoferin Panfrost GPU Mali) gjithashtu është thënë të ketë botuar një raport të dytë mbi Inxhinierinë e Kundërt dhe Zhvillimin e Drejtuesve të Burimit të Hapur për GPU-në M1 të Apple.

Në fazën aktuale, është përgatitur një prototip fillestar i kontrolluesit, i cili mund të tërheqë trekëndëshat duke përdorur GPU. Për GPU-të M1, kulmi i parë dhe hijesuesit e fragmenteve janë gjithashtu të koduara me dorë. Drejtuesi i bërthamës IOKit përdoret për të bashkëvepruar me GPU.

Apple M1 përdor gjithashtu Kontrolluesin e vet të Ndërprerjeve Apple (AIC), i cili është kryesisht i papajtueshëm me GIC-të standarde ARM , dhe një mekanizëm të ndryshëm për lidhjen e ndërprerjeve nga një kohëmatës. Për më tepër, regjistra të veçantë që kontrollojnë IPI (ndërprerjet ndër-procesorike) përdoren për të menaxhuar ndërveprimin midis procesorëve të shumtë.

Për të nisur në një kompjuter Mac Mini M1 me një çip Apple M1, përgatitet një imazh rootfs gati për përdorim , i ndërtuar mbi bazën e versionit Ubuntu për Raspberry Pi.

Për ta instaluar, kopjoni imazhin në një disk USB, lidhni diskun me portën USB-C dhe nisni kompjuterin në modalitetin 1TR (OS rikuperimi) duke mbajtur shtypur butonin e ndezjes gjatë nisjes. Pasi të shfaqet rreshti i komandës, ekzekutoni skriptin linuxsetup.sh, i cili do të instalojë bërthamën dhe do të konfigurojë mjedisin.

Kjo është koha kur Linux do të fillojë të funksionojë, ndërsa për të rikthyer macOS, duhet të ekzekutoni komandën "bputil -n" në modalitetin 1TR.

Ndërtimi i gatshëm mbështet USB, I2C dhe DART, sugjerohet të përdorni përshtatës të jashtëm USB për rrjetin, ndërsa përshpejtimi i pajisjeve grafike dhe pajisjet shtesë të zgjatura nuk janë mbështetur ende. Mbështetja Bluetooth kërkon shkrimin e një drejtuesi të ri për shkak të përdorimit të një protokolli jo-standard të bazuar në PCIe.

Burimi: https://corellium.com


Shto si burim të preferuar në Google