A Linux kernel hamarosan kezdetben támogatja az Apple M1 lapkakészletét

A Linux Kernel 5.13-as verziója kezdeti támogatást ad az Apple M1 chiphez, amely az Apple Silicon dizájn alatt az első asztali szintű SoC.

Az Apple tavaly mutatta be első asztali szintű System-on-a-Chip dizájnját, az Apple M1-et, amely ugyanazon az ARM architektúrán alapul, mint a legtöbb okostelefon és táblagép. Míg a Linux évek óta jól működik az ARM-eszközökön (például a Raspberry Pi), az Apple hardvere erősen testreszabott, és speciális szoftvertámogatást igényel. Szerencsére most egy lépéssel közelebb kerültünk ahhoz, hogy a Linuxot Apple Silicon rendszeren futtassuk.

Asahi Linux azon dolgozik, hogy "csiszolt Linux-élményt" hozzon az Apple Silicon Mac gépekre, és kódját beküldte a Linux projektnek, hogy bekerüljön a hivatalos Linux kernelbe. A csoport kezdeti munkája beolvadt a Linux SoC kódbázisba, és valószínűleg a közelgő Linux 5.13-as frissítés részeként érkezik meg.

Izgalmas látni, hogy az Apple új hardverének kezdeti támogatása csak néhány hónappal az első hardver szállításának megkezdése után érkezik meg a Linux kernelbe, de a kulcsszó az „initial”. Míg a Linux

technikailag Ha az M1-en elindul, még mindig messze vagyunk attól, hogy egy Live USB-meghajtót csatlakoztatjunk, és a telepítés gombra kattintsunk. A jelenlegi kód tartalmazza az alapvető alacsony szintű funkciók támogatását, mint pl szimmetrikus többfeldolgozás spin-táblákon keresztül, IRQ kezelés, soros csatlakozások és egy framebuffer. A Linux indítható parancssorból, de nem sok másról – még nincs teljes grafikus támogatás sem.

Linux az Apple M1 Mac Mini rendszeren (jóváírás: Asahi Linux)

Míg az M1 hardver hivatalos kerneltámogatása egyenletes ütemben halad, néhány embernek sikerült közelebb kerülnie a valódi asztali élményhez különféle hackekkel. A Corellium, az ARM virtualizációra szakosodott fejlesztő cég képes volt létrehozni a használható Ubuntu asztali M1 Mac Mini. A Corellium munkájának nagy része azonban nem kerül felfelé a Linux kernelbe.

A Corellium írt arról, hogy az M1 architektúrája miben tér el más ARM-tervektől egy blogbejegyzésben. "A rendszerbetöltő, amelyet hagyományosan iBootnak hívnak, egy végrehajtható objektumfájlt tölt be Mach-O nevű formátumban, opcionálisan tömörítve és aláírt ASN.1 alapú IMG4 formátumba csomagolva. Összehasonlításképpen a normál Linux 64 bites ARM-en egy lapos bináris képként indul." A csoport így folytatta: "Ha ez nem lenne elég, az Apple megtervezték saját megszakításvezérlőjüket, az Apple Interrupt Controller-t (AIC), amely nem kompatibilis egyik fő ARM GIC-vel sem. szabványoknak. És nem csak ez: az időzítő megszakítások – általában az ARM rendszeren egy CPU-nkénti megszakításhoz kapcsolódnak – ehelyett a FIQ-hoz irányítják, egy elgondolkodtató építészeti tulajdonsághoz, amely gyakrabban látható a régi 32 bites ARM-ben napok."

Almák M1 lapkakészlet jelenleg a MacBook Air, a MacBook Pro és a Mac Mini készülékekre szállítják. Ez egy 5 nm-es chip összesen nyolc maggal: négy nagy teljesítményű maggal és négy energiatakarékos maggal. Van még egy Neural Engine a gépi tanulási feladatokhoz, valamint egy nyolcmagos GPU. Az Apple megígérte, hogy az M1 jobb teljesítményt nyújt, mint a korábban használt Intel CPU-k, miközben csak a teljesítmény egynegyedét használja majd valós tesztelés alátámasztotta ezeket az állításokat. Szerencsére az M1 teljes mértékben támogatja az aláíratlan/egyéni kernelek indítását, így a Linux futtatásához nincs szükség olyan biztonsági kizsákmányolásra, amelyet később be lehetne javítani.

Az Apple saját macOS-e már most is remek operációs rendszer, de az asztali Linux opcióként való alkalmazása erős eladási pont lehet néhány potenciális MacBook és Mac Mini vásárló számára. Az Apple az évek során kritikát kapott amiatt, hogy lezárta a macOS egyes aspektusait, vagy felhagyott a többplatformos szabványokkal a szabadalmaztatott alternatívák javára. Például a macOS továbbra sem támogatja a többplatformos Vulkan API-t grafikus alkalmazásokhoz, csak a cég saját Metal API-ja.