Linux-ytimellä on pian alustava tuki Applen M1-piirisarjalle

Linux-ytimen versio 5.13 lisää alustavan tuen Apple M1 -sirulle, joka on ensimmäinen työpöytäluokan SoC Apple Silicon -suunnittelun alla.

Apple esitteli viime vuonna ensimmäisen pöytätietokoneluokan System-on-a-Chip -mallinsa, Apple M1:n, joka perustuu samaan ARM-arkkitehtuuriin kuin useimmat älypuhelimet ja tabletit. Vaikka Linux on toiminut hyvin ARM-laitteissa (kuten Raspberry Pi) vuosia, Applen laitteisto on voimakkaasti räätälöity ja vaatii erityistä ohjelmistotukea. Onneksi olemme nyt askeleen lähempänä Linuxin käyttöä Apple Siliconissa.

Asahi Linux on työskennellyt tuodakseen "hiotun Linux-kokemuksen" Apple Silicon Mac -tietokoneisiin ja on lähettänyt koodinsa Linux-projektiin sisällytettäväksi viralliseen Linux-ytimeen. Ryhmän alkuperäinen työ on yhdistetty Linux SoC -koodikantaan, ja se saapuu todennäköisesti osana tulevaa Linux 5.13 -päivitystä.

On jännittävää nähdä alustava tuki Applen uudelle laitteistolle saapuvan Linux-ytimeen vain muutaman kuukauden kuluttua ensimmäisen laitteiston toimittamisen aloittamisesta, mutta avainsana on "alku". Vaikka Linux

teknisesti käynnistyy M1:ssä, olemme vielä kaukana Live-USB-aseman liittämisestä ja asennuspainikkeen napsauttamisesta. Nykyinen koodi sisältää tuen matalan tason perustoiminnoille, kuten symmetrinen monikäsittely spin-taulukoiden kautta, IRQ käsittely, sarjaliitännät ja kehyspuskuri. Linux voi käynnistyä komentokehotteesta, mutta ei paljon muuta – ei edes täydellistä grafiikkatukea vielä.

Linux Apple M1 Mac Minissä (luotto: Asahi Linux)

Vaikka virallinen ytimen tuki M1-laitteistolle etenee tasaiseen tahtiin, jotkut ihmiset ovat onnistuneet pääsemään lähemmäksi todellista työpöytäkokemusta erilaisten hakkerien avulla. Corellium, ARM-virtualisointiin erikoistunut kehitysyritys, pystyi luomaan a käyttökelpoinen Ubuntu-työpöytä M1 Mac Minissä. Suurin osa Corelliumin työstä ei kuitenkaan siirry Linux-ytimeen.

Corellium kirjoitti kuinka M1:n arkkitehtuuri eroaa muista ARM-malleista blogikirjoituksessa. "Käynnistyslatain, jota kutsutaan perinteisesti iBootiksi, lataa suoritettavan objektitiedoston muodossa Mach-O, valinnaisesti pakattuna ja käärittynä allekirjoitettuun ASN.1-pohjaiseen kääremuotoon nimeltä IMG4. Vertailun vuoksi normaali Linux 64-bittisessä ARM-järjestelmässä alkaa litteänä binäärikuvana." Ryhmä jatkoi: "Jos tämä ei riitä, Apple suunnittelivat oman keskeytysohjaimen, Apple Interrupt Controllerin (AIC), joka ei ole yhteensopiva kummankaan tärkeimmän ARM GIC: n kanssa. standardit. Eikä vain sitä: ajastinkeskeytykset - jotka tavallisesti liitetään tavalliseen prosessorikohtaiseen keskeytykseen ARM: ssa - ovat sen sijaan ohjataan FIQ: hen, järjettömään arkkitehtoniseen ominaisuuteen, jota nähdään useammin vanhassa 32-bittisessä ARM: ssa päivää."

Applen M1 piirisarja toimitetaan tällä hetkellä MacBook Airille, MacBook Prolle ja Mac Minille. Se on 5 nm: n siru, jossa on yhteensä kahdeksan ydintä: neljä korkean suorituskyvyn ydintä ja neljä energiatehokasta ydintä. Mukana on myös Neural Engine koneoppimistehtäviä varten sekä kahdeksanytiminen GPU. Apple lupasi, että M1 tarjoaa paremman suorituskyvyn kuin aiemmin käytetyt Intel-suorittimet, mutta käyttää vain noin neljänneksen tehosta, ja myöhemmin tosielämän testaus tuki näitä väitteitä. Onneksi M1 tukee täysin allekirjoittamattomien/mukautettujen ytimien käynnistämistä, joten Linuxin käyttäminen ei vaadi turvallisuushyötyjä, jotka voitaisiin korjata myöhemmin.

Applen oma macOS on jo loistava käyttöjärjestelmä, mutta pöytätietokoneiden Linux lisävarusteena voisi olla vahva myyntivaltti joillekin mahdollisille MacBookin ja Mac Minin ostajille. Apple on joutunut vuosien ajan kohtaamaan kritiikkiä joidenkin macOS: n osien lukitsemisesta tai useiden alustojen välisistä standardeista luopumisesta omien vaihtoehtojen hyväksi. Esimerkiksi macOS ei edelleenkään tue monikäyttöistä Vulkan API: a grafiikkaa varten, vain yrityksen oma Metal API.