Corellium annoncerer sin havn af Linux til M1-chips

Corellium har præsenteret en version af Linux tilpasset at køre på nyere Apple-computere udstyret med chippen M1, Linux-kernevarianten, der er kompatibel med Apple M1-chippen, frigives under GPLv2-licensen, og patches er sendt til medtagelse i hovedkernen.

Corellium har stor erfaring med at migrere fra Linux til Apple-chips bruges i mobile enheder såsom iPhone. I den tidlige fase af migrationen blev testere opfordret til, at mange af Apple M1-komponenterne er baseret på teknologier, der allerede er brugt af Apple i andre SoC'er.

Men i processen med at skrive drivere blev det klart, at ikke alt er så simpelt og Apple M1-chippen indeholder mange ikke-standardiserede løsninger. Linux-support til ARM 64-bit SoC'er er baseret på almindelige blokke og firmwaregrænseflader, men Apple M1 bruger næppe typiske løsninger.

For eksempel i konventionelle ARM SoC'er udføres aktiveringen af ​​CPU-kernerne gennem PSCI (Power State Coordination Interface) leveret af firmwaren og på Apple M1 kræver det manipulation af MMIO-registret.

I dette stadium Corellium-udviklere kom foran Asahi Linux-projektet, grundlagt af Héctor Martin for at porte Linux til systemer med Apple M1-chip, som indtil nu har været begrænset til reverse engineering og eksperimenter med en bootloader. Imidlertid er Asahi Linux nøglemål ikke kun at starte Linux, men at yde fuld support til strømstyringsmekanismer og at bruge kapaciteterne i Apple M1 GPU, som bruger et specifikt sæt instruktioner.

Corellium-patches er begrænset til at give boot og support til specifikke funktioner af M1-chips relateret til SMP-tilstand, timere, afbrydelser, ledig tilstandshåndtering og initialisering.

masse Asahi Linux-repræsentanter hilste frigivelsen af ​​Corellium-patches velkommen og udtrykte deres vilje til at yde peer review-hjælp til at fremskynde mainstream-vedtagelsen af ​​Linux-kernen.

Derudover har Alyssa Rosenzweig (fra Collabora, der udvikler Panfrost GPU Mali-driveren) også siget at have offentliggjort en anden rapport om reverse engineering og udvikling af open source-drivere til Apple M1 GPU.

På nuværende tidspunkt er der udarbejdet en indledende prototype af controlleren, som kan tegne trekanter ved hjælp af GPU'en. For M1 GPU'er er den første vertex og fragment shaders også håndkodet. Kernedriveren IOKit bruges til at interagere med GPU'en.

Apple M1 bruger også sin egen AIC-afbrydercontroller (Apple Interrupt Controller), som for det meste er det uforeneligt med standard ARM GIC'er og en anden mekanisme til binding af afbrydelser fra en timer. For at organisere interaktionen mellem flere processorer anvendes der desuden separate registre, der styrer IPI (inter-processor interrupts).

For at starte i en Mac Mini M1-computer med en Apple M1-chip, et klar-til-brug rootfs-billede udarbejdes, bygget på basis af Ubuntu-build til Raspberry Pi.

For at installere skal du kopiere billedet til et drev USB, tilslut denne enhed til USB-C-porten og start computeren i 1TR-tilstand (Recovery OS) ved at trykke på tænd / sluk-knappen og holde den nede, mens du starter. Når kommandolinjen vises, skal du køre scriptet linuxsetup.sh, som installerer kernen og konfigurerer miljøet.

Dette er når Linux begynder at køre, derimod for at returnere macOS skal du køre kommandoen "bputil -n" i 1TR-tilstand.

Ready build understøtter USB, I2C og DART, det anbefales at bruge ekstern USB-adapter til netværk, mens grafikhardwareacceleration og udvidet periferiudstyr endnu ikke understøttes. Bluetooth-support kræver, at du skriver en ny driver på grund af brugen af ​​en ikke-standard PCIe-baseret protokol.

kilde: https://corellium.com


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.