Linux kodols drīzumā saņems sākotnējo atbalstu Apple M1 mikroshēmojumam

Linux kodola versija 5.13 pievienos sākotnējo atbalstu Apple M1 mikroshēmai, kas ir pirmā galddatoru klases SoC saskaņā ar Apple Silicon dizainu.

Apple pagājušajā gadā atklāja savu pirmo galddatoru klases System-on-a-Chip dizainu Apple M1, kura pamatā ir tāda pati ARM arhitektūra kā vairumam viedtālruņu un planšetdatoru. Lai gan Linux ir labi darbojies ARM ierīcēs (piemēram, Raspberry Pi), Apple aparatūra ir ļoti pielāgota, un tai ir nepieciešams īpašs programmatūras atbalsts. Par laimi, tagad esam soli tuvāk Linux palaišanai Apple Silicon.

Asahi Linux ir strādājis, lai Apple Silicon Mac datoros nodrošinātu "izsmalcinātu Linux pieredzi", un ir iesniedzis savu kodu Linux projektam, lai to iekļautu oficiālajā Linux kodolā. Grupas sākotnējais darbs ir apvienots Linux SoC koda bāzē, un tas, iespējams, ieradīsies kā daļa no gaidāmā Linux 5.13 atjauninājuma.

Ir aizraujoši redzēt, ka sākotnējais Apple jaunās aparatūras atbalsts tiek saņemts Linux kodolā tikai dažus mēnešus pēc pirmās aparatūras piegādes sākuma, taču atslēgvārds ir "sākotnējais". Kamēr Linux

tehniski sāknēt M1, mums joprojām ir tālu no Live USB diska pievienošanas un instalēšanas pogas noklikšķināšanas. Pašreizējais kods ietver atbalstu pamata zema līmeņa funkcionalitātei, piemēram, simetriska daudzapstrāde izmantojot spin-tables, IRQ apstrāde, seriālie savienojumi un kadru buferis. Linux var sāknēties, izmantojot komandu uzvedni, bet ne daudz ko citu — vēl nav pat pilna grafikas atbalsta.

Linux operētājsistēmā Apple M1 Mac Mini (kredīts: Asahi Linux)

Kamēr oficiālais kodola atbalsts M1 aparatūrai attīstās vienmērīgā tempā, dažiem cilvēkiem ir izdevies pietuvoties patiesai darbvirsmas pieredzei ar dažādiem uzlaušanas gadījumiem. Corellium, izstrādes firma, kas specializējas ARM virtualizācijā, varēja izveidot a lietojama Ubuntu darbvirsma uz M1 Mac Mini. Tomēr lielākā daļa Corellium darba netiek pārsūtīta uz Linux kodolu.

Corellium rakstīja par to, kā M1 arhitektūra atšķiras no citiem ARM dizainiem emuāra ierakstā. "Sāknēšanas ielādētājs, ko tradicionāli sauc par iBoot, ielādē izpildāmā objekta failu formātā ar nosaukumu Mach-O, kas pēc izvēles ir saspiests un iesaiņots parakstītā ASN.1 iesaiņojuma formātā, ko sauc par IMG4. Salīdzinājumam, parastais Linux ar 64 bitu ARM sākas kā plakans binārs attēls." Grupa turpināja teikt: "Ja ar to nebūtu pietiekami, Apple izstrādāja savu pārtraukumu kontrolieri, Apple Interrupt Controller (AIC), kas nav saderīgs ne ar vienu no galvenajiem ARM GIC. standartiem. Un ne tikai tas: taimera pārtraukumi, kas parasti ir savienoti ar parasto ARM CPU pārtraukumu, ir tā vietā novirzīts uz FIQ — absurdu arhitektūras elementu, kas biežāk redzams vecajā 32 bitu ARM versijā. dienas."

Apple M1 mikroshēmojums pašlaik tiek piegādāts uz MacBook Air, MacBook Pro un Mac Mini. Tā ir 5 nm mikroshēma ar astoņiem kodoliem: četri augstas veiktspējas kodoli un četri energoefektīvi kodoli. Mašīnmācības uzdevumiem ir pieejams arī neironu dzinējs, kā arī astoņu kodolu GPU. Apple solīja, ka M1 nodrošinās labāku veiktspēju nekā iepriekš izmantotie Intel CPU, vienlaikus izmantojot tikai aptuveni vienu ceturto daļu jaudas, un vēlāk reālās pasaules testēšana pamatoja šos apgalvojumus. Par laimi, M1 pilnībā atbalsta neparakstītu/pielāgotu kodolu sāknēšanu, tāpēc, lai palaistu Linux, nav nepieciešami drošības pasākumi, kurus vēlāk varētu labot.

Apple MacOS jau ir lieliska operētājsistēma, taču galddatoru Linux kā opcija varētu būt spēcīgs pārdošanas punkts dažiem potenciālajiem MacBook un Mac Mini pircējiem. Apple gadu gaitā ir saskārusies ar kritiku par dažu macOS aspektu bloķēšanu vai atteikšanos no starpplatformu standartiem par labu patentētām alternatīvām. Piemēram, MacOS joprojām neatbalsta starpplatformu Vulkan API grafikai, tikai paša uzņēmuma Metal API.