Какво е новото в GNU Linux-libre 6.18 в дълбочина

  • GNU Linux-libre 6.18 изчиства собствените драйвери и блобовете на devicetree, като същевременно запазва общите подобрения на Linux 6.18.
  • Новите драйвери (FourSemi, TI TAS2783, Qualcomm GENI) са неутрализирани, а драйвери като Nova-Core и Intel Xe са коригирани.
  • Проектът предлага изходен код и DEB/RPM пакети за използване на 100% безплатно ядро ​​на множество дистрибуции.
  • Linux-libre е част от проекта GNU, поддържан от FSF, и служи като основа за напълно безплатни дистрибуции.

GNU Linux-свободно 6.18

Ако сте човек, който щателно обръща внимание на всеки детайл от системата си и е загрижен, че целият софтуер, работещ на вашата машина, е наистина безплатен, пристигането de GNU Linux-свободно 6.18 Ще ви бъде много интересно. Това ново издание на добре познатото „отключено“ ядро ​​е базирано на Linux 6.18, но е преминало през цялостно почистване, за да се премахнат всякакви следи от собствен фърмуер или микрокод.

В следващите редове ще разгледаме Всички нови функции на GNU Linux-libre 6.18Ще разгледаме какви промени въвежда то в сравнение с официалното ядро, кои драйвери са засегнати, как се разпространява, кои проекти го пакетират и философията зад тази работа. Ще обсъдим и ролята на неговия приятелски настроен пингвин, Freedo, връзката му с FSF и защо това ядро ​​се е превърнало в еталон за 100% безплатни дистрибуции.

Ключови нови характеристики на GNU Linux-libre 6.18 в сравнение с Linux 6.18

Новата версия Част за ядрото на GNU Linux-libre 6.18-gnu Linux 6.18Това е същият клон, който Линус Торвалдс току-що обяви за стабилен и който, по всички данни, ще бъде следващото референтно LTS ядро ​​в екосистемата на Linux. Това означава, че наследява всички общи подобрения: фино настроена производителност, нови вътрешни функции, разширена хардуерна поддръжка и обичайните корекции на грешки.

Екипът на GNU/Linux-libre обаче е отговорен за внедряването на набор от скриптове и инструменти за почистване („deblobbing“) които сканират изходния код за проблемни елементи: драйвери, които зареждат двоичен фърмуер, извиквания по време на изпълнение към несвободен микрокод, препратки в документацията към външни blob-ове и дори споменавания на двоични файлове в devicetree файлове с различни архитектури.

В резултат на този процес, в GNU Linux-libre 6.18, следните елементи са идентифицирани и неутрализирани или премахнати нови контролери и фрагменти от код които в официалното дърво на ядрото зависят от двоични блобове. Тази промяна засяга не само новодобавените драйвери, но и съществуващите, чийто механизъм за зареждане на фърмуер е променен в тази версия.

В същото време, версия 6.18-gnu включва Оптимизации за Linux 6.18Тези подобрения включват по-добра обща производителност, текуща работа по Apple Silicon (M2 Pro/Max/Ultra), продължаваща поддръжка за платформата Intel Wildcat Lake, интеграция на новия код "Sheaves", активиране по подразбиране на fsck online за XFS и подобрена тактилна поддръжка за тъчпадове, наред с много други. Всичко това, разбира се, като същевременно се запазва основният принцип на проекта: нулев собственически софтуер.

Сърцето на проекта: ядро ​​без блобове

Причината за съществуването на GNU Linux-libre е да предложи съвместимо с Linux, но напълно безплатно ядроПроектиран да бъде част от системи, които следват Насоките за разпространение на свободен софтуер (FSDG) на FSF. Това включва премахване на всеки компонент, който не се разпространява като модифицируем изходен код или е предмет на ограничителни лицензи.

На практика това се изразява в премахване или деактивиране драйвери, фърмуер, блобове, пакетирани като данни, скриптове, които изискват външни двоични файлове и извиквания по време на изпълнение към собственически фърмуер. Коментарите и документацията, които действат като „кукички“, за да привлекат потребителите да изтеглят несвободни компоненти, също се премахват, предотвратявайки „примамката“ към собственически софтуер.

Фокусът на проекта е върху минимални промениПроблемните части се премахват или неутрализират, но не се прави опит за пренаписването им или предоставянето на безплатни заместители, които запазват същата функционалност. Целта е да се гарантира свободата на системата, дори това да означава, че определен хардуер става неработещ, ако няма налични безплатни алтернативи.

Това продължаващо усилие започна в рамките на дистрибуцията gNewSense, беше ръководено и наречено от Джеф Моу, поето е от FSF Latin America през 2008 г. и от 2012 г. Официално е част от проекта GNUДнес тя се е превърнала в основата на множество 100% безплатни операционни системи, сертифицирани от FSF.

Нови драйвери, почистени в GNU Linux-libre 6.18

Една от най-видимите части от работата по GNU Linux-libre 6.18 е почистването на драйвери, нововключени в ядрото на Linux 6.18 които се опитват да заредят фърмуерни блобове. Ако се оставят такива, каквито са, те биха компрометирали чистотата на системата, като изискват несвободни двоични файлове.

В тази версия, екипът е идентифицирал и „ограничил“ няколко нови драйвера които в официалното дърво разчитат на собствен фърмуер, за да функционират правилно:

  • FourSemi контролериДрайверът за цифров аудио усилвател FourSemi и свързаната с него библиотека (включително моделите FS2104/5S) са почистени, като в стандартния Linux се опитват да заредят blob-ове за управление на определени режими и функции.
  • Драйвер TI TAS2783Драйверът за усилвателя за високоговорители Texas Instruments TAS2783, също нов в този клон, включва логика за зареждане на фърмуер, която е деактивирана, за да се предотврати заявяването на несвободни двоични файлове.
  • Сериен двигател Qualcomm GENIДвигателят от серията GENI на Qualcomm, отговорен за управлението на комуникационните интерфейси на платформи от тази марка, също би се опитал да зареди blob-ове, ако не беше бил намесен, така че беше подложен на процес на деблобиране.

Във всички тези случаи резултатът е, че Драйверът спира да изисква собствен фърмуерВ зависимост от това доколко драйверът зависи от този микрокод, практическата функционалност на устройството може да бъде много ограничена или директно неизползваема под GNU Linux-libre, но това е в съответствие с предпоставката да не се притиска потребителят към патентовани компоненти.

Корекции на съществуващите драйвери: Nova-Core, Intel Xe и други

В допълнение към новодошлите драйвери, GNU Linux-libre 6.18 преработва поведението на драйвери, вече налични в предишни версии чийто механизъм за управление на фърмуера се е променил в Linux 6.18. Тези корекции са необходими, за да се предпази ядрото от блобове, докато основното дърво се развива.

Сред забележителните случаи, намираме:

  • Nova-Core, Rust драйверът за NVIDIAНовият драйвер с отворен код Nova-Core, написан на Rust, разчита изцяло на системния процесор на NVIDIA GPU (GSP). Без собствения фърмуер на GSP, драйверът просто няма да функционира. GNU/Linux-libre адаптира своите скриптове, за да блокира зареждането на този микрокод, като по този начин ефективно прави Nova-Core неработещ. неработещ без петнано запазва свободата на системата.
  • следващо поколение Intel XeСъвременният драйвер на Intel Xe разчита на микроконтролера GuC и неговия двоичен фърмуер за управление на опашки, планиране и други критични функции. Linux-libre 6.18 отново затяга процеса на почистване, за да предотврати заявяването или зареждането на този фърмуер, което също прави драйвера практически безполезен без безплатни алтернативи.
  • TI PRU EthernetEthernet контролерът, базиран на Texas Instruments PRU (Programmable Real-time Unit), също е претърпял промени в своята логика за блобове нагоре по веригата. GNU/Linux-libre актуализира деблобирането, за да гарантира, че Патентованият фърмуер не е зареден на тези SoC-та.
  • Marvell WiFi-ExПромените, направени в официалното дърво за семейството WiFi-Ex на Marvell, наложиха преглед на почистването, като отново блокираха всяко позоваване или опит за качване на двоичен фърмуер за тези безжични адаптери.

Тези корекции показват, че процесът на почистване е непрекъснато и реактивноВсеки път, когато кодът на драйвер, който преди е разчитал на blob файлове, се промени, екипът на Linux-libre трябва да прегледа този код отново, за да се увери, че няма да се „промъкне“ нов механизъм за зареждане на собствен фърмуер.

Премахнати или преместени драйвери и елементи

Не става въпрос само за нови почиствания или промени. В GNU/Linux-libre 6.18 има и случаи, в които самото ядро ​​на Linux е премахнало определени компоненти, което позволява опростете процеса на деблобиране.

Ясен пример е този на TI WL1273 FM радио драйверТози драйвер, който в предишни версии изискваше специфично почистване поради зависимостта си от двоичен фърмуер, е премахнат изцяло от официалното дърво на Linux 6.18. Следователно, в GNU Linux-libre 6.18 цялата логика за деблобиране, свързана с този драйвер, също може да бъде премахната, като по този начин се намалява сложността на набора от скриптове.

Друг поразителен случай е този на Драйвер за Lantiq GSWIP, драйвер за гигабитов комутатор за определени платформи. В Linux 6.18 местоположението му в дървото на изходния код е преместено, което изисква корекции в пътищата и моделите, използвани от системата за почистване на проекта за локализиране и обработка на съответните фрагменти.

Тези промени в местоположението и премахването отразяват как основното ядро ​​непрекъснато се реорганизираи как GNU Linux-libre трябва да се актуализира, не само чрез проследяване на нови blob-ове, но и чрез адаптиране на инструментите към променящата се структура на кодовото дърво.

Чисто Devicetree за Qualcomm, Mediatek и TI на ARM64

Почистването не се ограничава само до C кода на драйверите. В тази версия една от най-деликатните задачи е прегледът новите файлове на devicetree (DT) за ARM64 платформи, които описват хардуера на системи, базирани на Qualcomm, Mediatek и Texas Instruments.

В Linux 6.18, няколко от тези дървета на устройствата включват изрични препратки към фърмуерни блобовеПътища или свойства на двоични файлове, които показват необходимостта от несвободен микрокод за определени компоненти. Ако се оставят такива, каквито са, самото използване на тези двоични файлови пътища може да накара потребителя да търси и зарежда собствени компоненти.

GNU Linux-libre 6.18 се грижи за „почистването“ на тези файлове, премахвайки или променяйки препратките към двоичните файлове на Qualcomm, Mediatek и TI в архитектурата ARM64. Това гарантира, че свободното ядро ​​не... действа като вектор на препоръките на несвободен софтуер, като по този начин се спазват насоките на FSF.

Как да изтеглите GNU Linux-libre 6.18

Проектът предлага няколко официални канала за Изтеглете и използвайте GNU Linux-libre 6.18-gnu, както под формата на изходен код, така и в двоични пакети, готови за инсталиране на популярни дистрибуции.

От една страна, изходен код Може да се получи чрез Git от хранилището, поддържано от проекта:

  • Git хранилище на изданияgit://linux-libre.fsfla.org/releases.git с етикети под scripts, sources y logs за версия v6.18-gnu.

Освен това, малко след обявяването на версията, те бяха предоставени предварително компресирани tarballs От официалния уебсайт на FSFLA:

  • https://www.fsfla.org/selibre/linux-libre/download/releases/ (ubicación habitual de los tarballs de cada versión).

Тези, които предпочитат да не компилират ядрото ръчно, могат да прибегнат до подготвени двоични пакети по свързани проекти:

  • Freesh: предлага готови за употреба .deb пакети за Debian-базирани и производни дистрибуции, с вече компилирано ядро ​​на GNU Linux-libre.
  • RPM Свобода: предоставя .rpm пакети за Red Hat, Fedora и производни системи, които искат да приемат това безплатно ядро.

По този начин потребителите могат да избират между компилирайте собствено ядро директно от изходния код или инсталирайте един от предварително създадените пакети, интегрирайки го със или заменяйки стандартното ядро ​​на вашата дистрибуция.

Дистрибуции и екосистема около Linux-libre

GNU Linux-libre е стълбът, върху който са изградени много от тях. напълно безплатни дистрибуции Одобрени от FSF, като например Trisquel и PureOS, наред с други. Тези дистрибуции използват това ядро, за да гарантират, че цялата система отговаря на най-строгите насоки за свободен софтуер.

Много от тях предлагат предварително подготвени изображения с най-новата версия на Linux-libre или поне с тясно свързан клон. В други случаи те ви позволяват да изберете това ядро ​​от техните хранилища или чрез допълнителни хранилища, така че потребителят да може да замени генеричното ядро ​​с такова, свободно от blob-ове, без да променя дистрибуциите.

За администратори и ентусиасти, GNU Linux-libre 6.18 може да бъде инсталиран и на почти всяко конвенционално разпределениеПросто го компилирайте или инсталирайте пакетите Freesh/RPM Freedom и конфигурирайте мениджъра за зареждане да избира това ядро ​​при стартиране на системата. Това създава среда, много по-съвместима с принципите на свободния софтуер, дори в дистрибуции, които включват несвободни компоненти по подразбиране.

Какво точно е GNU Linux-libre (и какво не е)

Самият проект подчертава, че GNU Linux-libre е преди всичко, модифицирана версия на ядрото на LinuxТова ядро ​​е предназначено за употреба в GNU системи, които се стремят да бъдат напълно свободни. Целта е всяка дистрибуция, която иска да спазва FSDG на FSF, да може да използва това ядро ​​с гаранцията, че то не съдържа никакви blob-ове или препратки, които биха накарали потребителя да инсталира собствен код.

В тяхната документация се обяснява, че несвободните компоненти се премахват, независимо дали са прикрит като изходен код (но всъщност те са вградени блобове), сякаш са разпространявани в отделни файлове. Освен това, заявките по време на изпълнение към собственически фърмуер са деактивирани, а ръководствата или коментарите, които сочат към несвободни ресурси, са премахнати.

Проектът обаче, Не се предлага пренаписването на тези компоненти. Нито пък предлагат безплатни алтернативни драйвери, които да заменят собственическите. Подходът е минималистичен: несвободният софтуер се премахва, останалият остава почти непокътнат и други инициативи се насърчават да разработват безплатни заместители, когато е възможно. Всъщност много устройства, които все още зависят от blob файлове, са документирани в сайтове като LibrePlanet, с цел координиране на усилията за тяхното пускане някой ден.

Накрая, въпреки че талисманът е пингвин, разработчиците настояват, че ролята на проекта GNU и FSF в изграждането на цялостната система е много по-голямо, а свободното ядро ​​е само още една част от идеала за напълно свободна система.

Чрез комбиниране на всички технически подобрения, наследени от Linux 6.18, с изчерпателното почистване на фърмуера, драйверите и дървото на устройствата, GNU/Linux-libre 6.18 затвърждава позицията си на много мощен вариант за тези, които не желаят да правят компромис със софтуерната свобода. От новите, опростени драйвери за цифрово аудио и процесори от серията Qualcomm до корекциите в драйверите на графичните процесори като Nova-Core и Intel Xe, почистването на ARM64 платформите и наличието на пакети за множество дистрибуции, тази версия демонстрира, че е възможно да се остане близо до най-съвременните технологии в ядрото, без да се изоставя принципът да не се зареждат ненужни компоненти. без собственически двоичен файл.