Corellium kunngjør sin havn av Linux til M1-brikker

Corellium har presentert en versjon av Linux tilpasset å kjøre på nyere Apple-datamaskiner utstyrt med brikken M1, Linux-kjernevarianten som er kompatibel med Apple M1-brikken, er utgitt under GPLv2-lisensen, og oppdateringer er sendt for inkludering i hovedkjernen.

Corellium har lang erfaring med å migrere fra Linux til Apple-chips brukes i mobile enheter som iPhone. I den tidlige fasen av migrasjonen ble testere oppfordret til at mange av Apple M1-komponentene er basert på teknologier som allerede er brukt av Apple i andre SoC-er.

Men i prosessen med å skrive drivere ble det klart at ikke alt er så enkelt og Apple M1-brikken inneholder mange ikke-standardiserte løsninger. Linux-støtte for ARM 64-bit SoC er basert på vanlige blokker og firmwaregrensesnitt, men Apple M1 bruker neppe typiske løsninger.

For eksempel, i konvensjonelle ARM SoCer, blir aktivering av CPU-kjernene gjort via PSCI (Power State Coordination Interface) levert av firmware og på Apple M1 krever det manipulering av MMIO-registeret.

I dette stadiet, Corellium-utviklere kom foran Asahi Linux-prosjektet, grunnlagt av Héctor Martin for å portere Linux til systemer med Apple M1-brikken, som til nå har vært begrenset til reversering og eksperimentering med en bootloader. Imidlertid er det viktigste målet for Asahi Linux ikke bare å starte Linux, men å gi full støtte for strømstyringsmekanismer og å bruke funksjonene til Apple M1 GPU, som bruker et bestemt sett med instruksjoner.

Corellium-oppdateringer er begrenset til å gi oppstart og støtte for spesifikke funksjoner av M1-brikker relatert til SMP-modus, tidtakere, avbrudd, håndtering av inaktiv tilstand og initialisering.

den Asahi Linux-representanter ønsket utgivelsen av Corellium-oppdateringer velkommen og ga uttrykk for sin vilje til å gi peer review-hjelp for å akselerere mainstream-adopsjon av Linux-kjernen.

Videre har Alyssa Rosenzweig (fra Collabora som utvikler Panfrost GPU Mali-driveren) også blitt sagt å ha publisert en ny rapport om reverse engineering og utvikling av open source-drivere for Apple M1 GPU.

På det nåværende stadiet er en første prototype av kontrolleren utarbeidet, som kan tegne trekanter ved hjelp av GPU. For M1 GPUer er også de første toppunkt- og fragmentskyggerne håndkodet. Kjernedriveren IOKit brukes til å samhandle med GPU.

Apple M1 bruker også sin egen AIC-avbryterkontroller (Apple Interrupt Controller), som for det meste er det inkompatibelt med standard ARM GIC-er og en annen mekanisme for binding av avbrudd fra en tidtaker. I tillegg, for å organisere samspillet mellom flere prosessorer, brukes separate registre som styrer IPI (inter-processor interrupts).

For å starte opp i en Mac Mini M1-datamaskin med en Apple M1-brikke, et klar-til-bruk rootfs-bilde utarbeides, bygget på grunnlag av Ubuntu-bygningen for Raspberry Pi.

For å installere, må du kopiere bildet til en stasjon USB, koble denne enheten til USB-C-porten og start datamaskinen i 1TR-modus (Recovery OS) ved å trykke og holde inne strømknappen mens du starter opp. Etter at kommandolinjen vises, må du kjøre skriptet linuxsetup.sh, som vil installere kjernen og konfigurere miljøet.

Dette er når Linux begynner å kjøre, mens du må kjøre kommandoen "bputil -n" i 1TR-modus for å returnere macOS.

Ready build støtter USB, I2C og DART, det anbefales å bruke ekstern USB-adapter for nettverk, mens grafikkhardwareakselerasjon og utvidet periferiutstyr ikke støttes ennå. Bluetooth-støtte krever at du skriver en ny driver på grunn av bruk av en ikke-standard PCIe-basert protokoll.

Fuente: https://corellium.com


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.