Linux-kjernen vil snart ha førstegangsstøtte for Apples M1-brikkesett

click fraud protection

Linux Kernel versjon 5.13 vil legge til innledende støtte for Apple M1-brikken, den første desktop-klassen SoC under Apple Silicon-design.

Apple avslørte sin første system-on-a-chip-design i desktop-klassen i fjor, Apple M1, basert på samme ARM-arkitektur som de fleste smarttelefoner og nettbrett. Mens Linux har fungert bra på ARM-enheter (som Raspberry Pi) i årevis, er Apples maskinvare sterkt tilpasset og krever spesifikk programvarestøtte. Heldigvis er vi nå ett skritt nærmere å kjøre Linux på Apple Silicon.

Asahi Linux har jobbet for å bringe "en polert Linux-opplevelse" til Apple Silicon Macs og har sendt inn koden til Linux-prosjektet for inkludering i den offisielle Linux-kjernen. Gruppens innledende arbeid er slått sammen til Linux SoC-kodebasen, og vil sannsynligvis komme som en del av den kommende Linux 5.13-oppdateringen.

Det er spennende å se innledende støtte for Apples nye maskinvare komme til Linux-kjernen bare noen få måneder etter at den første maskinvaren begynte å sendes, men nøkkelordet der er "initial". Mens Linux

teknisk sett starter opp på M1, er vi fortsatt et stykke unna å koble til en Live USB-stasjon og klikke på en installeringsknapp. Den nåværende koden inkluderer støtte for grunnleggende lavnivåfunksjonalitet, som f.eks symmetrisk multiprosessering via spin-tabeller, IRQ-håndtering, serielle tilkoblinger og en rammebuffer. Linux kan starte opp til en ledetekst, men ikke mye annet - det er ikke engang full grafikkstøtte ennå.

Linux på Apple M1 Mac Mini (Kreditt: Asahi Linux)

Mens offisiell kjernestøtte for M1-maskinvare utvikler seg i et jevnt tempo, har noen mennesker klart å komme nærmere en ekte skrivebordsopplevelse med forskjellige hacks. Corellium, et utviklingsfirma som spesialiserer seg på ARM-virtualisering, var i stand til å lage en brukbart Ubuntu-skrivebord på M1 Mac Mini. Det meste av Corelliums arbeid blir imidlertid ikke oppstrømmet til Linux-kjernen.

Corellium skrev om hvordan M1s arkitektur skiller seg fra andre ARM-design i et blogginnlegg. «Oppstartslasteren, tradisjonelt kalt iBoot, laster en kjørbar objektfil i et format kalt Mach-O, eventuelt komprimert og pakket inn i et signert ASN.1-basert innpakningsformat kalt IMG4. Til sammenligning starter vanlig Linux på 64-biters ARM som et flatt binært bilde." Gruppen fortsatte med å si: "Hvis det ikke var nok, Apple designet sin egen avbruddskontroller, Apple Interrupt Controller (AIC), som ikke er kompatibel med noen av de store ARM GIC standarder. Og ikke bare det: timeravbruddene - normalt koblet til et vanlig avbrudd per CPU på ARM - er i stedet rutet til FIQ, en abstru arkitektonisk funksjon, sett oftere i den gamle 32-biters ARM dager."

Apples M1 brikkesett leveres for øyeblikket på MacBook Air, MacBook Pro og Mac Mini. Det er en 5nm-brikke med totalt åtte kjerner: fire høyytelseskjerner og fire strømeffektive kjerner. Det er også en nevral motor for maskinlæringsoppgaver, samt en åttekjernes GPU. Apple lovet at M1 ville levere bedre ytelse enn de tidligere brukte Intel-CPU-ene mens de bare bruker rundt en fjerdedel av strømmen, og senere testing i den virkelige verden støttet disse påstandene. Heldigvis støtter M1 fullt ut oppstart av usignerte/tilpassede kjerner, så å kjøre Linux krever ingen sikkerhetsutnyttelser som kan lappes senere.

Apples egen macOS er allerede et flott operativsystem, men å ha desktop Linux som et alternativ kan være et sterkt salgsargument for noen potensielle MacBook- og Mac Mini-kjøpere. Apple har gjennom årene møtt kritikk for å ha låst noen aspekter av macOS eller forlatt standarder på tvers av plattformer til fordel for proprietære alternativer. For eksempel støtter macOS fortsatt ikke Vulkan API for grafikk på tvers av plattformer, kun selskapets egen Metal API.