
Če ste nekdo, ki skrbno spremlja vsako podrobnost svojega sistema in vam je mar, da je vsa programska oprema, ki se izvaja na vašem računalniku, resnično brezplačna, prihod de GNU Linux-brezplačno 6.18 Zelo vas bo zanimalo. Ta nova izdaja znanega "odklenjenega" jedra temelji na Linuxu 6.18, vendar je bila temeljito prečiščena, da bi odstranili vse sledi lastniške vdelane programske opreme ali mikrokode.
V naslednjih vrsticah bomo razčlenili Vse nove funkcije GNU Linux-libre 6.18Obravnavali bomo spremembe, ki jih uvaja v primerjavi z uradnim jedrom, na katere gonilnike to vpliva, kako je distribuirano, kateri projekti ga pakirajo in filozofijo, na kateri temelji to delo. Obravnavali bomo tudi vlogo njegovega prijaznega pingvina Freeda, njegov odnos s FSF in zakaj je to jedro postalo merilo za 100 % brezplačne distribucije.
Ključne nove funkcije GNU Linux-libre 6.18 v primerjavi z Linuxom 6.18
Nova različica Del jedra GNU Linux-libre 6.18-gnu Linux 6.18To je ista veja, ki jo je Linus Torvalds pravkar razglasil za stabilno in ki bo po vseh merilih naslednje referenčno jedro LTS v ekosistemu Linuxa. To pomeni, da podeduje vse splošne izboljšave: izboljšano delovanje, nove notranje funkcije, razširjeno podporo za strojno opremo in običajne popravke napak.
Vendar pa je ekipa GNU/Linux-libre odgovorna za implementacijo nabora skripte in orodja za čiščenje (»odstranjevanje blobov«) ki skenirajo izvorno kodo za problematične elemente: gonilnike, ki nalagajo binarno vdelano programsko opremo, klice izvajanja neproste mikrokode, sklice v dokumentaciji na zunanje blob-e in celo omembe binarnih datotek v datotekah devicetree različnih arhitektur.
Kot rezultat tega procesa so bili v GNU Linux-libre 6.18 identificirani in nevtralizirani ali odstranjeni naslednji elementi novi krmilniki in delčki kode ki so v uradnem drevesu jedra odvisni od binarnih blobov. To delo ne vpliva le na novo dodane gonilnike, temveč tudi na obstoječe, katerih mehanizem nalaganja vdelane programske opreme se je v tej različici spremenil.
Hkrati različica 6.18-gnu vključuje Optimizacije za Linux 6.18Te izboljšave vključujejo boljšo splošno zmogljivost, tekoče delo na Apple Siliconu (M2 Pro/Max/Ultra), nadaljnjo podporo za platformo Intel Wildcat Lake, integracijo nove kode "Sheaves", privzeto aktivacijo fsck online za XFS in izboljšano haptično podporo za sledilne ploščice, med drugim. Vse to seveda ob ohranjanju osrednjega načela projekta: nič lastniške programske opreme.
Srce projekta: jedro brez blobov
Razlog za obstoj GNU Linux-libre je ponuditi jedro, združljivo z Linuxom, a popolnoma brezplačnoZasnovan kot del sistemov, ki upoštevajo smernice za distribucijo proste programske opreme (FSDG) organizacije FSF. To vključuje odstranitev vseh komponent, ki niso distribuirane kot spremenljiva izvorna koda ali za katere veljajo omejevalne licence.
V praksi to pomeni odstranitev ali deaktivacijo gonilniki, vdelana programska oprema, blob datoteke, pakirane kot podatki, skripte, ki zahtevajo zunanje binarne datoteke in klice izvajalnega okolja lastniške programske opreme. Odstranjeni so tudi komentarji in dokumentacija, ki delujejo kot "kavlji" za privabljanje uporabnikov k prenosu nesvobodnih komponent, kar preprečuje "vabo" za lastniško programsko opremo.
Projekt se osredotoča na minimalne spremembeProblematični deli so odstranjeni ali nevtralizirani, vendar se ne poskušajo prepisati ali zagotoviti brezplačnih nadomestkov, ki ohranjajo enako funkcionalnost. Cilj je zagotoviti svobodo sistema, tudi če to pomeni, da določena strojna oprema postane nedelujoča, če ni na voljo brezplačnih alternativ.
Ta nenehna prizadevanja so se začela v okviru distribucije gNewSense, vodil in poimenoval jih je Jeff Moe, leta 2008 jih je prevzela organizacija FSF Latin America, od leta 2012 pa... Uradno je del projekta GNUDanes je postal temelj številnih 100 % brezplačnih operacijskih sistemov, ki jih je certificiral FSF.
Novi gonilniki, očiščeni v GNU Linux-libre 6.18
Eden najbolj vidnih delov dela na GNU Linux-libre 6.18 je čiščenje gonilniki, na novo vključeni v jedro Linuxa 6.18 ki poskušajo naložiti blob-e vdelane programske opreme. Če bi jih pustili takšne, kot so, bi ogrozili čistost sistema, saj bi zahtevali nesvobodne binarne datoteke.
V tej različici ekipa je identificiral in "omejil" več novih gonilnikov ki se v uradnem drevesu za pravilno delovanje zanašajo na lastniško vdelano programsko opremo:
- Krmilniki FourSemiGonilnik digitalnega avdio ojačevalnika FourSemi in pripadajoča knjižnica (vključno z modeloma FS2104/5S) sta očiščena, kar v standardnem Linuxu poskuša naložiti blob-e za upravljanje določenih načinov in funkcij.
- Gonilnik TI TAS2783Gonilnik za ojačevalnik zvočnikov Texas Instruments TAS2783, ki je prav tako nov v tej veji, vključuje logiko nalaganja vdelane programske opreme, ki je bila onemogočena, da se prepreči zahtevanje ne-prostih binarnih datotek.
- Serijski mehanizem Qualcomm GENIQualcommov motor serije GENI, ki je odgovoren za upravljanje komunikacijskih vmesnikov na platformah te znamke, bi prav tako poskušal naložiti blobove, če ne bi bil posredovan, zato je bil podvržen postopku odstranjevanja blobov.
V vseh teh primerih je rezultat ta, da Gonilnik preneha zahtevati lastniško vdelano programsko opremoOdvisno od tega, koliko je gonilnik odvisen od te mikrokode, je lahko praktična funkcionalnost naprave zelo omejena ali neposredno neuporabna v GNU Linux-libre, vendar to spoštuje predpostavko, da uporabnika ne silimo k lastniškim komponentam.
Prilagoditve obstoječih gonilnikov: Nova-Core, Intel Xe in drugi
Poleg novo prispelih gonilnikov GNU Linux-libre 6.18 spreminja tudi delovanje gonilniki, ki so že prisotni v prejšnjih različicah čigar mehanizem upravljanja vdelane programske opreme se je v Linuxu 6.18 spremenil. Te prilagoditve so potrebne, da jedro ostane brez blobov, ko se glavno drevo razvija.
Med opaznejšimi primeri, najdemo:
- Nova-Core, gonilnik Rust za NVIDIANovi gonilnik Nova-Core z odprto kodo, napisan v Rustu, se v celoti zanaša na sistemski procesor NVIDIA GPU (GSP). Brez lastniške vdelane programske opreme GSP gonilnik preprosto ne bo deloval. GNU/Linux-libre prilagodi svoje skripte tako, da blokira nalaganje te mikrokode, zaradi česar Nova-Core dejansko ne deluje. nedelujoče brez madeževvendar ohranja svobodo sistema.
- Intel Xe naslednje generacijeSodobni gonilnik Intel Xe se za upravljanje čakalnih vrst, razporejanje in druge kritične funkcije zanaša na mikrokrmilnik GuC in njegovo binarno vdelano programsko opremo. Linux-libre 6.18 ponovno poostri postopek čiščenja, da prepreči zahtevo ali nalaganje te vdelane programske opreme, zaradi česar je gonilnik brez brezplačnih alternativ praktično neuporaben.
- TI PRU EthernetKrmilnik Ethernet, ki temelji na Texas Instruments PRU (Programmable Real-time Unit), je prav tako doživel spremembe v svoji logiki blobov navzgor. GNU/Linux-libre posodablja odpravljanje blobov, da zagotovi, da Lastniška vdelana programska oprema ni naložena na teh SoC-jih.
- Marvell WiFi-ExSpremembe uradnega drevesa za družino Marvell WiFi-Ex so prisilile k pregledu čiščenja, kar je ponovno blokiralo kakršno koli sklicevanje na ali poskus nalaganja binarne vdelane programske opreme za te brezžične adapterje.
Te prilagoditve kažejo, da je postopek čiščenja neprekinjeno in reaktivnoVsakič, ko se koda gonilnika, ki se je prej zanašal na blob-e, spremeni, mora ekipa Linux-libre to kodo ponovno pregledati, da se prepriča, da se ne "izmuzne" noben nov lastniški mehanizem za nalaganje vdelane programske opreme.
Gonilniki in elementi odstranjeni ali premeščeni
Ne gre samo za nova čiščenja ali prilagoditve. V GNU/Linux-libre 6.18 obstajajo tudi primeri, ko je jedro Linuxa samo odstranilo določene komponente, kar je omogočilo poenostavite postopek odstranjevanja madežev.
Jasen primer je tisti, Gonilnik FM radia TI WL1273Ta gonilnik, ki je v prejšnjih različicah zahteval posebno čiščenje zaradi odvisnosti od binarne vdelane programske opreme, je bil v celoti odstranjen iz uradnega drevesa Linux 6.18. Posledično je v GNU Linux-libre 6.18 mogoče odstraniti tudi vso logiko za odstranjevanje blobov, povezano s tem gonilnikom, s čimer se zmanjša kompleksnost nabora skript.
Drug presenetljiv primer je tisti, Gonilnik Lantiq GSWIP, gonilnik gigabitnega stikala za določene platforme. V Linuxu 6.18 je bila njegova lokacija znotraj drevesa izvorne kode premaknjena, kar je zahtevalo prilagoditve poti in vzorcev, ki jih sistem čiščenja projekta uporablja za iskanje in obdelavo ustreznih fragmentov.
Te spremembe lokacije in odstranitve odražajo, kako Glavno jedro se nenehno reorganizirain kako naj bi GNU Linux-libre ostal posodobljen, ne le s sledenjem novim blobom, temveč tudi s prilagajanjem orodij spreminjajoči se strukturi drevesa kode.
Čisto drevo naprav za Qualcomm, Mediatek in TI na ARM64
Čiščenje ni omejeno le na kodo C gonilnikov. V tej različici je bila ena najbolj občutljivih nalog pregledovanje nove datoteke drevesa naprav (DT) za platforme ARM64, ki opisujejo strojno opremo sistemov, ki temeljijo na Qualcommu, Mediateku in Texas Instrumentsu.
V Linuxu 6.18 več teh dreves naprav vključuje eksplicitne reference na blobove vdelane programske opremePoti ali lastnosti binarnih datotek, ki kažejo na potrebo po ne-prosti mikrokodi za določene komponente. Če se pusti tako, kot je, lahko zgolj uporaba teh DT-jev uporabnika spodbudi k iskanju in nalaganju lastniških komponent.
GNU Linux-libre 6.18 poskrbi za "čiščenje" teh datotek, pri čemer odstrani ali spremeni reference na binarne datoteke Qualcomm, Mediatek in TI v arhitekturi ARM64. To zagotavlja, da brezplačno jedro ne delujejo kot vektor priporočil neproste programske opreme, s čimer se spoštujejo smernice FSF.
Kako dobiti GNU Linux-libre 6.18
Projekt ponuja več uradnih kanalov za Prenesite in uporabite GNU Linux-libre 6.18-gnu, tako v obliki izvorne kode kot v binarnih paketih, pripravljenih za namestitev na priljubljene distribucije.
Po eni strani izvorno kodo Pridobite ga lahko prek Gita iz repozitorija, ki ga vzdržuje projekt:
- Git repozitorij izdajgit://linux-libre.fsfla.org/releases.git z oznakami pod
scripts,sourcesylogsza različico v6.18-gnu.
Poleg tega so bile kmalu po napovedi različice na voljo predhodno stisnjene tarballe Z uradne spletne strani FSFLA:
- https://www.fsfla.org/selibre/linux-libre/download/releases/ (ubicación habitual de los tarballs de cada versión).
Tisti, ki ne želijo jedra prevajati ročno, se lahko zatečejo k pripravljeni binarni paketi po povezanih projektih:
- Freesh: ponuja že pripravljene pakete .deb za distribucije, ki temeljijo na Debianu, in izpeljane distribucije, z že prevedenim jedrom GNU Linux-libre.
- RPM Svoboda: ponuja pakete .rpm za sisteme Red Hat, Fedora in izpeljane sisteme, ki želijo sprejeti to brezplačno jedro.
Na ta način lahko uporabniki izbirajo med prevedite svoje jedro neposredno iz izvorne kode ali namestite enega od vnaprej pripravljenih paketov, ga integrirajte s standardnim jedrom vaše distribucije ali ga zamenjajte.
Distribucije in ekosistem okoli Linux-libre
GNU Linux-libre je steber, na katerem so zgrajeni mnogi popolnoma brezplačne distribucije Podprte s strani FSF, med drugim kot Trisquel in PureOS. Te distribucije uporabljajo to jedro, da zagotovijo, da celoten sistem ustreza najstrožjim smernicam za prosto programsko opremo.
Mnogi od njih ponujajo vnaprej pripravljene slike z najnovejša različica Linux-libre ali vsaj s tesno povezano vejo. V drugih primerih vam omogočajo, da izberete to jedro iz njihovih repozitorijev ali prek dodatnih repozitorijev, tako da lahko uporabnik zamenja generično jedro z jedrom brez blobov, ne da bi spremenil distribucije.
Za skrbnike in navdušence je mogoče namestiti tudi GNU Linux-libre 6.18 na skoraj vsaka konvencionalna distribucijaPreprosto ga prevedite ali namestite pakete Freesh/RPM Freedom in konfigurirajte upravljalnik zagona tako, da ob zagonu sistema izbere to jedro. To ustvari okolje, ki je veliko bolj skladno z načeli proste programske opreme, tudi v distribucijah, ki privzeto vključujejo neproste komponente.
Kaj točno je GNU Linux-libre (in kaj ni)
Projekt sam poudarja, da je GNU Linux-libre predvsem spremenjena različica jedra LinuxaTo jedro je zasnovano za uporabo v sistemih GNU, ki si prizadevajo biti popolnoma brezplačni. Cilj je, da lahko katera koli distribucija, ki želi biti skladna s FSDG FSF, uporablja to jedro z zagotovilom, da ne vsebuje nobenih blobov ali referenc, ki bi uporabnika vodile k namestitvi lastniške kode.
Njihova dokumentacija pojasnjuje, da se ne-proste komponente odstranijo ne glede na to, ali so prikrito kot izvorna koda (vendar so v resnici vdelani blobovi), kot da bi bili distribuirani v ločenih datotekah. Poleg tega so zahteve izvajanja do lastniške vdelane programske opreme onemogočene, priročniki ali komentarji, ki kažejo na neproste vire, pa so odstranjeni.
Projekt pa, Ni predlagano prepisovanje teh komponent Prav tako ne ponujajo brezplačnih alternativnih gonilnikov, ki bi nadomestili lastniške. Pristop je minimalističen: nesvobodna programska oprema se odstrani, preostala ostane skoraj nedotaknjena, druge pobude pa se spodbujajo k razvoju brezplačnih nadomestkov, kadar je to mogoče. Pravzaprav je veliko naprav, ki so še vedno odvisne od blobov, dokumentiranih na spletnih mestih, kot je LibrePlanet, s ciljem usklajevanja prizadevanj za njihovo izdajo nekega dne.
Končno, čeprav je maskota pingvin, razvijalci vztrajajo, da vloga projekta GNU in FSF pri konstrukciji celotnega sistema je veliko večji, prosto jedro pa je le še en delček ideala popolnoma prostega sistema.
Z združitvijo vseh tehničnih izboljšav, podedovanih iz Linuxa 6.18, z obsežnim čiščenjem vdelane programske opreme, gonilnikov in drevesa naprav, GNU/Linux-libre 6.18 utrjuje svoj položaj zelo zmogljive možnosti za tiste, ki niso pripravljeni sklepati kompromisov glede programske svobode. Od novih, poenostavljenih gonilnikov za digitalni zvok in motorje serije Qualcomm do prilagoditev gonilnikov grafičnih procesorjev, kot sta Nova-Core in Intel Xe, čiščenja platform ARM64 in razpoložljivosti paketov za več distribucij, ta različica dokazuje, da je mogoče ostati blizu vrhunskemu jedru, ne da bi pri tem opustili načelo, da se ne nalagajo nepotrebne komponente. brez lastniške binarne datoteke.