Linuxové jadro bude mať čoskoro počiatočnú podporu pre čipset Apple M1

Linux Kernel verzie 5.13 pridá počiatočnú podporu pre čip Apple M1, prvý SoC triedy desktopov pod dizajnom Apple Silicon.

Apple minulý rok odhalil svoj prvý dizajn System-on-a-Chip triedy pre stolné počítače, Apple M1, založený na rovnakej architektúre ARM ako väčšina smartfónov a tabletov. Zatiaľ čo Linux funguje dobre na zariadeniach ARM (ako Raspberry Pi) už roky, hardvér spoločnosti Apple je značne prispôsobený a vyžaduje špecifickú softvérovú podporu. Našťastie sme teraz o krok bližšie k spusteniu Linuxu na Apple Silicon.

Asahi Linux pracuje na tom, aby priniesol "vybrúsený Linuxový zážitok" pre Apple Silicon Mac a posiela svoj kód do projektu Linux na zahrnutie do oficiálneho linuxového jadra. Počiatočná práca skupiny bola zlúčená do kódovej základne Linux SoC a pravdepodobne dorazí ako súčasť nadchádzajúcej aktualizácie Linuxu 5.13.

Je vzrušujúce vidieť, že počiatočná podpora pre nový hardvér od Apple prichádza do linuxového jadra len niekoľko mesiacov po tom, ako sa prvý hardvér začal dodávať, ale kľúčové slovo je „počiatočné“. Zatiaľ čo Linux

technicky bootuje na M1, sme stále ďaleko od zapojenia Live USB disku a kliknutia na tlačidlo inštalácie. Aktuálny kód obsahuje podporu základnej funkcionality nízkej úrovne, ako napr symetrické multiprocesovanie cez otočné stoly, Spracovanie IRQ, sériové pripojenia a framebuffer. Linux dokáže zaviesť systém z príkazového riadku, ale nič iné – ešte nie je k dispozícii ani plná podpora grafiky.

Linux na Apple M1 Mac Mini (Poďakovanie: Asahi Linux)

Zatiaľ čo oficiálna podpora jadra pre hardvér M1 postupuje stabilným tempom, niektorým ľuďom sa podarilo priblížiť sa k skutočnému zážitku z pracovnej plochy pomocou rôznych hackov. Corellium, vývojová firma, ktorá sa špecializuje na virtualizáciu ARM, dokázala vytvoriť a použiteľná plocha Ubuntu na M1 Mac Mini. Väčšina práce Corellium však nie je upstreamovaná do linuxového jadra.

Corellium písalo o tom, ako sa architektúra M1 líši od iných návrhov ARM v blogovom príspevku. „Bootloader, tradične nazývaný iBoot, načíta spustiteľný objektový súbor vo formáte Mach-O, voliteľne komprimovaný a zabalený do podpísaného formátu ASN.1 s názvom IMG4. Pre porovnanie, normálny Linux na 64-bitovom ARM začína ako plochý binárny obraz.“ Skupina ďalej povedala: „Ak by to nestačilo, Apple navrhli vlastný radič prerušení, Apple Interrupt Controller (AIC), ktorý nie je kompatibilný so žiadnym z hlavných ARM GIC štandardy. A nielen to: prerušenia časovača – normálne pripojené k bežnému prerušeniu na CPU na ARM – sú namiesto toho smerované na FIQ, nejasný architektonický prvok, ktorý sa častejšie vyskytuje v starom 32-bitovom ARM dni."

Apple's čipset M1 sa momentálne dodáva na MacBook Air, MacBook Pro a Mac Mini. Ide o 5nm čip s celkovo ôsmimi jadrami: štyri vysokovýkonné jadrá a štyri energeticky úsporné jadrá. K dispozícii je tiež Neural Engine pre úlohy strojového učenia, ako aj osemjadrový GPU. Apple sľúbil, že M1 bude poskytovať lepší výkon ako predtým používané procesory Intel, pričom spotrebuje len približne jednu štvrtinu energie a neskôr testovanie v reálnom svete podporil tieto tvrdenia. Našťastie M1 plne podporuje zavádzanie nepodpísaných/vlastných jadier, takže spustenie Linuxu nevyžaduje žiadne bezpečnostné exploity, ktoré by bolo možné opraviť neskôr.

Vlastný macOS od Apple je už skvelý operačný systém, ale možnosť stolného Linuxu by mohla byť silným predajným argumentom pre niektorých potenciálnych kupcov MacBookov a Macov Mini. Apple v priebehu rokov čelil kritike za zablokovanie niektorých aspektov systému macOS alebo opustenie medziplatformových štandardov v prospech proprietárnych alternatív. Napríklad macOS stále nepodporuje multiplatformové rozhranie Vulkan API pre grafiku, iba vlastné API spoločnosti Metal.