
Якщо ви ретельно стежите за кожною деталлю своєї системи та дбаєте про те, щоб усе програмне забезпечення, що працює на вашому комп'ютері, було справді безкоштовним, прибуття de GNU Linux-libre 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 відповідає за реалізацію набору скрипти та інструменти очищення («деблобінг») що сканують вихідний код на наявність проблемних елементів: драйверів, що завантажують бінарну прошивку, викликів невільного мікрокоду під час виконання, посилань у документації на зовнішні блоби та навіть згадок бінарних файлів у файлах 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, її очолив та назвав Джефф Мо, у 2008 році її перейняла FSF Latin America, а з 2012 року... Це офіційно частина проєкту GNUСьогодні він став основою численних 100% безкоштовних операційних систем, сертифікованих FSF.
Нові драйвери, очищені в GNU Linux-libre 6.18
Однією з найбільш помітних частин роботи над GNU Linux-libre 6.18 є очищення драйвери, нещодавно включені до ядра Linux 6.18 які намагаються завантажити блоби прошивки. Якщо залишити їх як є, вони порушать чистоту системи, вимагаючи невільних бінарних файлів.
У цій версії команда визначив та «обмежив» доступ до кількох нових водіїв які в офіційному дереві покладаються на власну прошивку для коректного функціонування:
- Контролери FourSemiДрайвер цифрового аудіопідсилювача FourSemi та пов'язана з ним бібліотека (включаючи моделі FS2104/5S) очищені, що у стандартній версії Linux передбачає спробу завантажити блоби для керування певними режимами та функціями.
- Драйвер TI TAS2783Драйвер для підсилювача динаміка Texas Instruments TAS2783, також новий для цієї гілки, містить логіку завантаження прошивки, яку було вимкнено, щоб запобігти запиту невільних бінарних файлів.
- Серійний двигун Qualcomm GENIДвигун серії GENI від Qualcomm, відповідальний за керування комунікаційними інтерфейсами на платформах цього бренду, також намагався б завантажити блоби, якби в нього не втрутилися, тому його було піддано процесу деблобінгу.
У всіх цих випадках результатом є те, що Драйвер перестає вимагати пропрієтарну прошивкуЗалежно від того, наскільки драйвер залежить від цього мікрокоду, практична функціональність пристрою може бути дуже обмеженою або безпосередньо непридатною для використання під 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, змусили переглянути очищення, знову блокуючи будь-яке посилання або спробу завантаження двійкової прошивки для цих бездротових адаптерів.
Ці налаштування демонструють, що процес очищення безперервний та реактивнийЩоразу, коли код драйвера, який раніше покладався на блоби, змінюється, команда Linux-libre повинна ще раз переглянути цей код, щоб переконатися, що жодний новий механізм завантаження проприєтарної прошивки не "прослизне".
Видалення або переміщення драйверів та елементів
Річ не лише в нових очищеннях чи налаштуваннях. У GNU/Linux-libre 6.18 також є випадки, коли ядро Linux видаляє певні компоненти, що дозволяє спростити процес видалення блотів.
Яскравим прикладом є те, що Драйвер FM-радіоприймача TI WL1273Цей драйвер, який у попередніх версіях потребував спеціального очищення через свою залежність від двійкової прошивки, був повністю видалений з офіційного дерева Linux 6.18. Відповідно, у GNU Linux-libre 6.18 всю логіку деблобінгу, пов'язану з цим драйвером, також можна видалити, що зменшує складність набору скриптів.
Ще один вражаючий випадок полягає в тому, що Драйвер Lantiq GSWIP, драйвер гігабітного комутатора для певних платформ. У Linux 6.18 його розташування в дереві вихідного коду було переміщено, що вимагало коригування шляхів і шаблонів, що використовуються системою очищення проекту для пошуку та обробки відповідних фрагментів.
Ці зміни в розташуванні та видаленні відображають те, як основне ядро постійно реорганізовуєтьсяі як GNU Linux-libre має бути в курсі подій, не лише відстежуючи нові блоби, але й адаптуючи інструменти до змінної структури дерева коду.
Очищене дерево пристроїв для Qualcomm, Mediatek та TI на ARM64
Очищення не обмежується C-кодом драйверів. У цій версії одним із найделікатніших завдань була перевірка нові файли дерева пристроїв (DT) для платформ ARM64, які описують апаратне забезпечення систем на базі Qualcomm, Mediatek та Texas Instruments.
У Linux 6.18 деякі з цих дерев пристроїв включають явні посилання на блоби прошивкиШляхи до бінарних файлів або властивості, що вказують на необхідність невільного мікрокоду для певних компонентів. Якщо залишити їх як є, просте використання цих DT може змусити користувача шукати та завантажувати власницькі компоненти.
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,sourcesylogsдля версії v6.18-gnu.
Крім того, невдовзі після анонсу версії вони стали доступними попередньо стиснуті тарболи З офіційного сайту 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 Freedom: надає пакети .rpm для систем Red Hat, Fedora та похідних систем, які бажають використовувати це безкоштовне ядро.
Таким чином, користувачі можуть вибирати між скомпілювати власне ядро безпосередньо з вихідного коду або встановити один із готових пакетів, інтегрувавши його зі стандартним ядром вашого дистрибутива або замінивши ним.
Дистрибутиви та екосистема навколо Linux-libre
GNU Linux-libre — це стовп, на якому побудовано багато повністю безкоштовні дистрибутиви Схвалені FSF, такі як Trisquel та PureOS, серед інших. Ці дистрибутиви використовують це ядро, щоб гарантувати, що вся система відповідає найсуворішим вимогам вільного програмного забезпечення.
Багато з них пропонують заздалегідь підготовлені зображення з остання версія Linux-libre або принаймні з тісно пов'язаною гілкою. В інших випадках вони дозволяють вибрати це ядро з їхніх репозиторіїв або через додаткові репозиторії, щоб користувач міг замінити загальне ядро на ядро, вільне від блобів, без зміни дистрибутивів.
Для адміністраторів та ентузіастів GNU Linux-libre 6.18 також можна встановити на майже будь-який звичайний розподілПросто скомпілюйте його або встановіть пакети Freesh/RPM Freedom та налаштуйте менеджер завантаження на вибір цього ядра під час запуску системи. Це створює середовище, набагато більш сумісне з принципами вільного програмного забезпечення, навіть у дистрибутивах, які за замовчуванням містять невільні компоненти.
Що саме таке GNU Linux-libre (і чим він не є)
Сам проект підкреслює, що GNU Linux-libre — це, перш за все, модифікована версія ядра LinuxЦе ядро розроблено для використання в системах GNU, які прагнуть бути повністю вільними. Мета полягає в тому, щоб будь-який дистрибутив, який бажає відповідати FSDG FSF, міг використовувати це ядро з гарантією того, що воно не містить жодних блобів або посилань, які могли б спонукати користувача до встановлення власницького коду.
У їхній документації пояснюється, що невільні компоненти видаляються незалежно від того, чи є вони замаскований під вихідний код (але насправді вони є вбудованими блобами), ніби вони розповсюджуються в окремих файлах. Крім того, запити до власницького програмного забезпечення під час виконання вимкнено, а посібники чи коментарі, що вказують на невільні ресурси, видалено.
Проект, однак, Не пропонується переписувати ці компоненти Вони також не пропонують безкоштовних альтернативних драйверів для заміни власницьких. Підхід мінімалістичний: невільне програмне забезпечення видаляється, решта залишається майже недоторканою, а інші ініціативи заохочуються до розробки безкоштовних замін, коли це можливо. Фактично, багато пристроїв, які досі залежать від блобів, задокументовані на таких сайтах, як LibrePlanet, з метою координації зусиль для їх випуску колись.
Зрештою, хоча талісманом є пінгвін, розробники наполягають на цьому роль проєкту GNU та FSF у побудові повної системи набагато більше, а вільне ядро — це лише ще один елемент в ідеалі повністю вільної системи.
Поєднуючи всі технічні вдосконалення, успадковані від Linux 6.18, з вичерпним очищенням прошивки, драйверів та дерева пристроїв, GNU/Linux-libre 6.18 зміцнює свою позицію як дуже потужного варіанту для тих, хто не бажає йти на компроміс щодо свободи програмного забезпечення. Від нових, оптимізованих драйверів для цифрового аудіо та механізмів серії Qualcomm до налаштувань драйверів графічних процесорів, таких як Nova-Core та Intel Xe, очищення платформ ARM64 та наявності пакетів для кількох дистрибутивів, ця версія демонструє, що можна залишатися на передовій ядра, не відмовляючись від принципу не завантажувати непотрібні компоненти. немає власного бінарного файлу.