Linux kernel će uskoro imati početnu podršku za Appleov M1 čipset

Linux Kernel verzija 5.13 će dodati početnu podršku za Apple M1 čip, prvi SoC za stolna računala pod Apple Silicon dizajnom.

Apple je prošle godine otkrio svoj prvi dizajn sustava na čipu za stolna računala, Apple M1, temeljen na istoj ARM arhitekturi kao i većina pametnih telefona i tableta. Iako je Linux godinama dobro radio na ARM uređajima (kao što je Raspberry Pi), Appleov je hardver uvelike prilagođen i zahtijeva posebnu softversku podršku. Srećom, sada smo korak bliže pokretanju Linuxa na Apple Siliconu.

Asahi Linux radi na donošenju "uglađenog Linux iskustva" na Apple Silicon Mac računala i šalje svoj kod u Linux projekt za uključivanje u službeni Linux kernel. Početni rad grupe spojen je s Linux SoC kodnom bazom i vjerojatno će stići kao dio nadolazećeg ažuriranja Linuxa 5.13.

Uzbudljivo je vidjeti kako početna podrška za Appleov novi hardver stiže u Linux kernel samo nekoliko mjeseci nakon što se prvi hardver počeo isporučivati, ali ključna riječ tamo je 'početna'. Dok je Linux tehnički

pokreće na M1, još smo daleko od uključivanja Live USB pogona i klikanja gumba za instalaciju. Trenutačni kod uključuje podršku za osnovnu funkcionalnost niske razine, kao što je simetrično višeprocesiranje putem spin-table, IRQ rukovanje, serijske veze i okvirni međuspremnik. Linux se može pokrenuti s naredbenog retka, ali ništa drugo — još nema čak ni potpune grafičke podrške.

Linux na Apple M1 Mac Mini (zasluga: Asahi Linux)

Dok službena kernel podrška za M1 hardver napreduje stabilnim tempom, neki su se ljudi uspjeli približiti pravom iskustvu na radnoj površini pomoću raznih hakova. Corellium, razvojna tvrtka specijalizirana za ARM virtualizaciju, uspjela je stvoriti upotrebljiva Ubuntu radna površina na M1 Mac Mini. Međutim, većina Corelliumovog rada nije prebačena u Linux kernel.

Corellium je pisao o tome kako se arhitektura M1 razlikuje od ostalih ARM dizajna u postu na blogu. "Bootloader, koji se tradicionalno naziva iBoot, učitava izvršnu objektnu datoteku u formatu koji se zove Mach-O, opcionalno komprimiran i zamotan u potpisani format omota temeljen na ASN.1 koji se zove IMG4. Za usporedbu, normalni Linux na 64-bitnom ARM-u počinje kao ravna binarna slika." Grupa je nastavila reći, "ako to nije dovoljno, Apple dizajnirali vlastiti kontroler prekida, Apple Interrupt Controller (AIC), koji nije kompatibilan ni s jednim od glavnih ARM GIC-ova standardima. I ne samo to: prekidi timera - obično povezani s uobičajenim prekidom po CPU-u na ARM-u - su umjesto toga preusmjeren na FIQ, nejasnu arhitektonsku značajku, koja se češće viđa u starom 32-bitnom ARM-u dana."

Appleova M1 čipset trenutno se isporučuje na MacBook Air, MacBook Pro i Mac Mini. To je 5nm čip s ukupno osam jezgri: četiri jezgre visokih performansi i četiri energetski učinkovite jezgre. Tu je i Neural Engine za zadatke strojnog učenja, kao i GPU s osam jezgri. Apple je obećao da će M1 isporučiti bolje performanse od prethodno korištenih Intel CPU-a, dok će koristiti samo oko jednu četvrtinu snage, a kasnije testiranje u stvarnom svijetu potkrijepio te tvrdnje. Srećom, M1 u potpunosti podržava pokretanje nepotpisanih/prilagođenih kernela, tako da pokretanje Linuxa ne zahtijeva nikakve sigurnosne eksploatacije koje bi se kasnije mogle zakrpati.

Appleov vlastiti macOS već je sjajan operativni sustav, ali postojanje desktop Linuxa kao opcije moglo bi biti jaka prodajna prednost za neke potencijalne kupce MacBooka i Mac Minija. Apple se tijekom godina suočavao s kritikama zbog zaključavanja nekih aspekata macOS-a ili napuštanja međuplatformskih standarda u korist vlasničkih alternativa. Na primjer, macOS još uvijek ne podržava višeplatformski Vulkan API za grafiku, samo vlastiti Metal API tvrtke.