Linuxi kernelil on peagi esialgne tugi Apple'i M1 kiibistikule

Linuxi kerneli versioon 5.13 lisab esialgse toe Apple M1 kiibile, mis on esimene Apple Silicon disaini all olev lauaarvutiklassi SoC.

Apple avalikustas eelmisel aastal oma esimese lauaarvutiklassi süsteemi kiibil – Apple M1, mis põhineb enamikul nutitelefonidel ja tahvelarvutitel samal ARM-arhitektuuril. Kuigi Linux on ARM-seadmetes (nagu Raspberry Pi) aastaid hästi töötanud, on Apple'i riistvara tugevalt kohandatud ja vajab spetsiaalset tarkvaratuge. Õnneks oleme nüüd sammu võrra lähemal Linuxi käitamisele Apple Siliconil.

Asahi Linux on töötanud selle nimel, et tuua Apple Silicon Macidesse "lihvitud Linuxi kogemus" ja on esitanud oma koodi Linuxi projektile, et see lisataks ametlikku Linuxi tuuma. Grupi esialgne töö on liidetud Linuxi SoC koodibaasi ja tõenäoliselt saabub see osana eelseisvast Linuxi 5.13 värskendusest.

Põnev on näha, et Apple'i uue riistvara esialgne tugi jõuab Linuxi tuumasse alles paar kuud pärast esimese riistvara tarnimist, kuid seal on märksõna "esialgne". Kuigi Linux

tehniliselt käivitub M1-s, oleme reaalajas USB-draivi ühendamisest ja installinupul klõpsamisest veel kaugel. Praegune kood sisaldab tuge madala tasemega põhifunktsioonidele, nt sümmeetriline multitöötlus spin-tabelite kaudu, IRQ käsitsemine, jadaühendused ja kaadripuhver. Linux saab käivitada käsurealt, kuid mitte palju muud – veel pole isegi täielikku graafika tuge.

Linux Apple M1 Mac Minis (krediit: Asahi Linux)

Kuigi M1 riistvara ametlik kerneli tugi edeneb ühtlases tempos, on mõnel inimesel õnnestunud erinevate häkkimiste abil tõelisele töölauakogemusele lähemale jõuda. ARM-i virtualiseerimisele spetsialiseerunud arendusfirma Corellium suutis luua a kasutatav Ubuntu töölaud M1 Mac Minis. Suurem osa Corelliumi tööst ei lähe aga Linuxi tuumasse üles.

Corellium kirjutas, kuidas M1 arhitektuur erineb teistest ARM-i disainidest blogipostituses. "Bootloader, mida traditsiooniliselt nimetatakse iBootiks, laadib käivitatava objektifaili vormingus nimega Mach-O, mis on valikuliselt tihendatud ja pakitud allkirjastatud ASN.1-põhisesse ümbrisvormingusse nimega IMG4. Võrdluseks, tavaline Linux 64-bitises ARM-is algab tasase binaarpildina." Rühm jätkas: "Kui sellest ei piisa, siis Apple kujundas oma katkestuskontrolleri, Apple'i katkestuskontrolleri (AIC), mis ei ühildu kummagi suurema ARM GIC-iga standarditele. Ja mitte ainult: taimeri katkestused, mis on tavaliselt ühendatud ARM-i tavalise CPU-põhise katkestusega, on selle asemel suunatakse FIQ-le, ebaselgele arhitektuurilisele funktsioonile, mida on sagedamini näha vanas 32-bitises ARM-is päeva."

Apple'i oma M1 kiibistik tarnitakse praegu MacBook Airile, MacBook Prole ja Mac Minile. See on 5 nm kiip, millel on kokku kaheksa südamikku: neli suure jõudlusega südamikku ja neli energiasäästlikku südamikku. Masinõppe ülesannete jaoks on olemas ka närvimootor, samuti kaheksatuumaline GPU. Apple lubas, et M1 tagab parema jõudluse kui varem kasutatud Inteli protsessorid, kasutades samal ajal vaid umbes neljandikku võimsusest ja hiljem reaalse maailma testimine toetas neid väiteid. Õnneks toetab M1 täielikult allkirjastamata/kohandatud tuumade alglaadimist, nii et Linuxi käitamine ei nõua turbekasutusi, mida saaks hiljem parandada.

Apple'i enda macOS on juba suurepärane operatsioonisüsteem, kuid lauaarvuti Linuxi lisamine võib olla mõne potentsiaalse MacBooki ja Mac Mini ostja jaoks tugev müügiargument. Apple on aastate jooksul silmitsi kriitikaga MacOS-i mõne aspekti lukustamise või platvormideüleste standardite hülgamise eest patenteeritud alternatiivide kasuks. Näiteks macOS ei toeta ikka veel platvormidevahelist Vulkan API-t graafika jaoks, ainult ettevõtte enda Metal API.