Jedro Linuxa bo kmalu imelo začetno podporo za Applov nabor čipov M1

Jedro Linuxa različice 5.13 bo dodalo začetno podporo za čip Apple M1, prvi SoC za namizne računalnike v zasnovi Apple Silicon.

Apple je lani razkril svojo prvo zasnovo sistema na čipu v namiznem razredu, Apple M1, ki temelji na isti arhitekturi ARM kot večina pametnih telefonov in tablic. Medtem ko je Linux že leta dobro deloval na napravah ARM (kot je Raspberry Pi), je Applova strojna oprema močno prilagojena in zahteva posebno programsko podporo. Na srečo smo zdaj korak bližje izvajanju Linuxa na Apple Silicon.

Asahi Linux si prizadeva prinesti "polirano izkušnjo Linuxa" v računalnike Apple Silicon Mac in svojo kodo pošilja v projekt Linux za vključitev v uradno jedro Linuxa. Začetno delo skupine je bilo združeno v kodno bazo Linux SoC in bo verjetno prispelo kot del prihajajoče posodobitve Linuxa 5.13.

Razburljivo je videti, da je začetna podpora za Applovo novo strojno opremo prispela v jedro Linuxa le nekaj mesecev po začetku pošiljanja prve strojne opreme, vendar je tam ključna beseda 'začetno'. Medtem ko Linux

tehnično zažene na M1, smo še daleč od tega, da bi priključili Live USB pogon in kliknili gumb za namestitev. Trenutna koda vključuje podporo za osnovno funkcionalnost nizkega nivoja, kot je npr simetrično večprocesiranje preko vrtljivih tabel, Upravljanje IRQ, serijske povezave in okvirni medpomnilnik. Linux se lahko zažene z ukaznim pozivom, vendar ne veliko drugega - ni še niti popolne grafične podpore.

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

Medtem ko uradna podpora jedra za strojno opremo M1 napreduje z enakomerno hitrostjo, se je nekaterim uspelo približati pravi izkušnji namizja z različnimi vdori. Corellium, razvojno podjetje, specializirano za virtualizacijo ARM, je uspelo ustvariti uporabno namizje Ubuntu na M1 Mac Mini. Vendar večina dela Corelliuma ni prenesena v jedro Linuxa.

Corellium je pisal o tem, kako se arhitektura M1 razlikuje od drugih modelov ARM v objavi v blogu. »Zagonski nalagalnik, ki se tradicionalno imenuje iBoot, naloži izvršljivo objektno datoteko v formatu, imenovanem Mach-O, po želji stisnjenem in ovitem v podpisan ovojni format, ki temelji na ASN.1, imenovan IMG4. Za primerjavo, običajni Linux na 64-bitnem ARM se začne kot ravna binarna slika." Skupina je nadaljevala z besedami, "če to ni bilo dovolj, Apple zasnovali lasten krmilnik prekinitev, Apple Interrupt Controller (AIC), ki ni združljiv z nobenim od večjih ARM GIC standardi. In ne samo to: prekinitve časovnika - običajno povezane z običajno prekinitev za CPU na ARM - so namesto tega preusmerjen na FIQ, nerazumljivo arhitekturno značilnost, ki jo pogosteje vidimo v starem 32-bitnem ARM-u dnevi."

Jabolka M1 nabor čipov je trenutno na voljo za MacBook Air, MacBook Pro in Mac Mini. To je 5nm čip s skupno osmimi jedri: štirimi visoko zmogljivimi jedri in štirimi energetsko učinkovitimi jedri. Na voljo sta tudi Neural Engine za naloge strojnega učenja in osemjedrni GPE. Apple je obljubil, da bo M1 zagotavljal boljšo zmogljivost kot prej uporabljeni procesorji Intel, medtem ko bo porabil le približno eno četrtino moči in kasneje testiranje v resničnem svetu podprl te trditve. K sreči M1 v celoti podpira zagon nepodpisanih/prilagojenih jeder, tako da delovanje Linuxa ne zahteva nobenih varnostnih izkoriščanj, ki bi jih bilo mogoče pozneje popraviti.

Applov lastni macOS je že odličen operacijski sistem, vendar bi lahko bila izbira namiznega Linuxa močna prodajna točka za nekatere potencialne kupce MacBookov in Mac Minijev. Apple se je v preteklih letih soočal s kritikami, ker je zaklenil nekatere vidike macOS ali opustil standarde za več platform v korist lastniških alternativ. Na primer, macOS še vedno ne podpira API-ja Vulkan za več platform za grafiko, samo Metal API podjetja.