Linuxkärnan kommer snart att ha initialt stöd för Apples M1-chipset

click fraud protection

Linux Kernel version 5.13 kommer att lägga till initialt stöd för Apple M1-chippet, den första desktop-klassen SoC under Apple Silicon-designen.

Apple avslöjade sin första system-on-a-chip-design av datorklass förra året, Apple M1, baserad på samma ARM-arkitektur som de flesta smartphones och surfplattor. Medan Linux har fungerat bra på ARM-enheter (som Raspberry Pi) i flera år, är Apples hårdvara kraftigt anpassad och kräver specifikt mjukvarustöd. Tack och lov är vi nu ett steg närmare att köra Linux på Apple Silicon.

Asahi Linux har arbetat för att få "en polerad Linux-upplevelse" till Apple Silicon Macs och har skickat in sin kod till Linux-projektet för inkludering i den officiella Linux-kärnan. Gruppens initiala arbete har slagits samman till Linux SoC-kodbasen och kommer sannolikt att anlända som en del av den kommande Linux 5.13-uppdateringen.

Det är spännande att se det första stödet för Apples nya hårdvara anlända till Linux-kärnan bara några månader efter att den första hårdvaran började skickas, men nyckelordet där är "initial". Medan Linux

tekniskt startar på M1, är vi fortfarande långt ifrån att koppla in en Live USB-enhet och klicka på en installationsknapp. Den nuvarande koden innehåller stöd för grundläggande lågnivåfunktionalitet, som t.ex symmetrisk multiprocessing via spin-tabeller, IRQ-hantering, seriella anslutningar och en rambuffert. Linux kan starta från en kommandotolk, men inte mycket annat - det finns inte ens fullt grafikstöd än.

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

Medan det officiella kärnstödet för M1-hårdvara utvecklas i en jämn takt, har vissa människor lyckats komma närmare en riktig skrivbordsupplevelse med olika hack. Corellium, ett utvecklingsföretag som specialiserat sig på ARM-virtualisering, kunde skapa en användbart Ubuntu-skrivbord på M1 Mac Mini. Det mesta av Corelliums arbete uppströms dock inte till Linux-kärnan.

Corellium skrev om hur M1:s arkitektur skiljer sig från andra ARM-designer i ett blogginlägg. "Starthanteraren, traditionellt kallad iBoot, laddar en körbar objektfil i ett format som heter Mach-O, valfritt komprimerad och inslagen i ett signerat ASN.1-baserat wrapperformat som heter IMG4. Som jämförelse börjar normal Linux på 64-bitars ARM som en platt binär bild." Gruppen fortsatte med att säga, "om det inte var nog, Apple designade sin egen avbrottskontroll, Apple Interrupt Controller (AIC), inte kompatibel med någon av de stora ARM GIC standarder. Och inte bara det: timeravbrotten - normalt kopplade till ett vanligt per-CPU-avbrott på ARM - är istället dirigeras till FIQ, en abstru arkitektonisk funktion, som ses oftare i den gamla 32-bitars ARM dagar."

Apples M1 chipset levereras för närvarande på MacBook Air, MacBook Pro och Mac Mini. Det är ett 5nm-chip med totalt åtta kärnor: fyra högpresterande kärnor och fyra strömsnåla kärnor. Det finns också en neural motor för maskininlärningsuppgifter, samt en åttakärnig GPU. Apple lovade att M1 skulle leverera bättre prestanda än de tidigare använda Intel-processorerna samtidigt som den bara använder cirka en fjärdedel av strömmen, och senare verkliga tester stödde dessa påståenden. Tack och lov har M1 fullt stöd för uppstart av osignerade/anpassade kärnor, så att köra Linux kräver inga säkerhetsexploater som skulle kunna korrigeras senare.

Apples eget macOS är redan ett bra operativsystem, men att ha desktop Linux som ett alternativ kan vara ett starkt försäljningsargument för vissa potentiella MacBook- och Mac Mini-köpare. Apple har mött kritik genom åren för att ha låst vissa aspekter av macOS eller övergett plattformsoberoende standarder till förmån för proprietära alternativ. Till exempel stöder macOS fortfarande inte det plattformsoberoende Vulkan API för grafik, endast företagets egna Metal API.