Чем ядро Linux отличается от GNU Linux-libre

2026-09-21 97 комментарии
Чем отличается ядро Linux Линуса Торвальдса от ядра Linux-libre: первое публикуют на kernel.org и оставляют несвободную прошивку в дереве либо запрашивают её с диска. GNU Linux-libre берёт ту же версию, удаляет непрозрачные фрагменты сценариями FSFLA, отключает такой запрос и правит документацию. Из-за этого часть Wi-Fi-адаптеров и видеокарт нужную функцию не выполняет

Ядро Linux, которое публикуют на kernel.org, и GNU Linux-libre – не два этапа одной программы. Это одна и та же версия ядра и два разных правила на несвободную прошивку. В обычном дереве драйвер может хранить непрозрачный двоичный фрагмент или запросить его с диска. В GNU Linux-libre такие фрагменты удаляют, а запрос во время работы отключают. На части адаптеров Wi-Fi, видеокарт и звуковых схем устройство из-за этого не выполняет нужную функцию.

Имя системы и имя ядра

Проект GNU разделяет ядро и операционную систему. Linux распределяет процессор, память и доступ к устройствам между другими программами. Сама по себе эта программа систему не образует. Полную систему GNU называет GNU/Linux: пользовательское окружение GNU и ядро Linux.

comss img 2026 09 21 111525
Логотип Linux-libre

GNU Linux-libre относится только к ядру. Проект ведёт Фонд свободного программного обеспечения Латинской Америки (FSFLA). С 2012 года он входит в GNU. Обычное ядро по-прежнему публикует kernel.org. Дистрибутивы вроде Ubuntu Desktop, Debian и Arch Linux ставят ядро этой линии и отдельно подключают пакеты прошивок.

Несвободная прошивка – двоичный код для контроллера устройства без исходников либо под лицензией, которая запрещает изучение и изменение. Фонд свободного программного обеспечения называет такой фрагмент blob. Он лежит отдельным файлом или вшит в драйвер длинным массивом чисел.

Что делает сценарий очистки

GNU Linux-libre не меняет системные вызовы и не переписывает планировщик ради свободы. Проект берёт архив Linux той же версии и прогоняет набор сценариев. Их публикуют вместе с каждым выпуском на сервере релизов FSFLA.

Первый сценарий собирает архив GNU Linux-libre из архива Linux: распаковывает дерево, вызывает очистку и упаковывает новый tar. Рядом кладут файл xdelta. Из архива kernel.org по нему получают очищенный архив, не распространяя удалённые двоичные фрагменты. В дереве сценариев FSFLA этот шаг назван deblob-main.

Второй сценарий запускают уже внутри распакованного дерева. Если рядом лежит проверочный сценарий, непрозрачные последовательности в исходнике заменяют меткой DEBLOBBED и файл оставляют. Если проверочного сценария нет, файл удаляют целиком. Драйвер, которому для работы нужна внешняя несвободная прошивка, часто сохраняют, но встроенный двоичный фрагмент из него вырезают. Эти два файла в выпуске названы deblob с номером ветки и deblob-check.

Проверочный сценарий ищет слишком длинные неподписанные числовые последовательности и места, где драйвер запрашивает несвободную прошивку. Он же правит документацию, которая на такие файлы указывает. В Makefile к полю дополнительной версии добавляют суффикс -gnu. В README ядро называют GNU Linux-libre.

Отдельно отключают запрос несвободного компонента во время работы. Даже если позже установить пакет linux-firmware из обычного дистрибутива, очищенное ядро этот файл для вычищенного драйвера само не загрузит. Равноценную свободную прошивку взамен удалённого кода проект не пишет. Это прямо сказано в сопроводительном тексте выпусков.

Чем ядро Linux отличается от GNU Linux-libre

Вопрос Ядро Linux (kernel.org и массовые дистрибутивы) GNU Linux-libre
Кто публикует исходники Проект Linux на kernel.org FSFLA, с 2012 года проект GNU
Несвободная прошивка в дереве Встречается в отдельных файлах и в виде массивов в драйверах Удаляют сценариями очистки
Запрос прошивки с диска Драйвер запрашивает файл из каталога прошивок Запрос отключают
Документация ядра Может указывать на несвободный файл Такие указания удаляют
Суффикс версии Номер ветки Linux без -gnu К номеру добавляют -gnu
Свободная замена удалённого кода Не требуется: двоичный фрагмент оставляют Проект сам замену не пишет
Типичная поставка Ubuntu, Debian, Arch Linux и большинство других систем Дистрибутивы из списка FSDG и репозиторий Freesh

Debian выносит часть прошивок в отдельный компонент репозитория и чистит дерево ядра под свои правила лицензий. Это не GNU Linux-libre. Ядро Debian по-прежнему умеет запросить несвободный файл, если пакет прошивок установлен. Для пользователя разница именно в этом запросе, а не в номере версии.

Философия проектов и эгида FSF

Фонд свободного программного обеспечения (FSF) – некоммерческая организация. Он защищает свободу пользователя компьютера: запускать программу с любой целью, изучать и изменять её, передавать копии и публиковать свои правки. Фонд спонсирует проект GNU, удерживает авторские права на значительную часть GNU и публикует лицензию GNU GPL.

Эгида FSF здесь – не отдельная «печать на ядре», а три связанных правила. Первое: свобода программы важнее цены. Второе: руководство по свободным системным дистрибутивам (FSDG) запрещает класть в систему несвободные приложения, драйверы, игры, руководства и несвободные прошивки. Третье: фонд ведёт список дистрибутивов, которые приняли эти правила и прошли проверку.

Проект Linux от Линуса Торвальдса принимает несвободную прошивку, если без неё устройство не включается и производитель исходники не отдаёт. Для сопровождающих драйверы это условие работы оборудования. Для GNU Linux-libre тот же файл направляет человека к программе, которую нельзя проверить и изменить. Поэтому свободный драйвер в очищенном ядре не предлагает доустановить несвободный компонент.

На один и тот же драйвер ответы разные. В обычном ядре драйвер Intel, Qualcomm или NVIDIA оставляют вместе с запросом прошивки. В GNU Linux-libre драйвер могут сохранить, но загрузку несвободного кода из него убирают. Устройство либо работает на свободной прошивке, либо нужную функцию не выполняет.

FSDG – правила GNU и FSF для готового к установке дистрибутива. Система должна предлагать только свободные программы, не содержать репозиториев с несвободным ПО и не направлять к установке конкретной несвободной программы. Несвободную прошивку убирают независимо от того, лежит она отдельным файлом или вшита в драйвер.

С какими проблемами вы столкнётесь

GNU Linux-libre не снижает частоту кадров и не меняет планировщик «из принципа». Оно отключает то, для чего нет свободной прошивки. На настольном компьютере с проводной сетью и встроенной графикой, которой достаточно режима без микрокода графического контроллера, система может вести себя как обычная. На современном ноутбуке чаще отказывают конкретные узлы.

  • Беспроводная сеть. Драйверы Intel IWLWIFI, Qualcomm ath11k и ath12k, Marvell mwifiex в обычном ядре ждут файл прошивки. Без него адаптер не поднимает сеть или не открывает нужные диапазоны.
  • Графика. Новые узлы Intel Xe и часть сценариев i915 рассчитаны на микрокод GuC. Свободный драйвер NVIDIA Nova-Core построен вокруг процессора GSP, прошивка которого несвободна; без неё этот драйвер не работает. У amdgpu та же схема: без файлов прошивки нет части режимов, часто нет вывода на внешние экраны.
  • Звук и сотовая связь. В анонсах очистки регулярно появляются новые усилители и кодеки, которые сразу после включения в Linux запрашивают двоичный файл.
  • Микрокод процессора. Обычные дистрибутивы ставят пакеты intel-microcode и amd-ucode. GNU Linux-libre этот путь закрывает.
  • Сторонние модули. Если установщик проприетарного драйвера рассчитывает, что ядро само загрузит несвободную прошивку, на очищенном ядре этот расчёт не срабатывает.

FSF прямо пишет: не всё оборудование работает в полностью свободной системе. Перечень совместимых устройств нужно смотреть на сайте выбранного дистрибутива. Перед заменой ядра в уже установленной Ubuntu или Arch Linux сохраните в меню загрузчика пункт с текущим ядром и подготовьте проводное подключение.

Какие дистрибутивы ставят GNU Linux-libre по умолчанию

На странице свободных дистрибутивов GNU для ПК и рабочих станций названы Dragora GNU/Linux-Libre, Dyne:bolic, Guix System, Hyperbola GNU/Linux-libre, Parabola GNU/Linux-libre, PureOS и Trisquel. Для устройств с малым объёмом памяти в том же списке стоят libreCMC и ProteanOS. У Dyne:bolic отдельная оговорка фонда: это статичный live-образ без регулярных обновлений безопасности, его рассчитали на работу без постоянной сети.

Ubuntu, Debian и Arch Linux в этот перечень не входят. У них другое правило на прошивки, другие репозитории и другое ядро по умолчанию. Поставить GNU Linux-libre туда можно только отдельно: из Freesh, из AUR или сборкой из исходников.

Как поставить GNU Linux-libre в Ubuntu и Debian

Готовые пакеты .deb публикует подпроект Freesh на стороне FSFLA. Это не архив Canonical и не официальный репозиторий Debian. Сначала проверяют архитектуру:

dpkg --print-architecture

На странице Freesh перечислены amd64, arm64, armhf, i386, riscv64 и ряд других. Для i386 смотрят флаг PAE в /proc/cpuinfo, для armhf – LPAE. Затем ставят кольцо ключей репозитория. Номер пакета ключей в актуальной инструкции Freesh – 1.3; перед загрузкой сверьтесь с той же страницей, имя файла могло измениться.

wget https://linux-libre.fsfla.org/pub/linux-libre/freesh/pool/main/f/freesh-archive-keyring/freesh-archive-keyring_1.3_all.deb
sudo dpkg -i freesh-archive-keyring_1.3_all.deb
sudo apt update

Пакет короткого цикла поддержки называется linux-libre, пакет длительного – linux-libre-lts. Заголовки для сборки модулей ставят пакетом с суффиксом -headers. После установки ядра обновляют конфигурацию загрузчика и перезагружают систему. В меню GRUB оставляют прежнее ядро на случай, если сеть или графика не поднимутся.

sudo apt install linux-libre
sudo apt install linux-libre-headers

Freesh – репозиторий готовых пакетов .deb GNU Linux-libre, который публикует FSFLA. Он ставит очищенное ядро в уже установленную систему на базе Debian или Ubuntu, но не делает дистрибутив соответствующим FSDG: остальные пакеты и репозитории при этом не проверяются.

Как поставить GNU Linux-libre в Arch Linux

В официальных репозиториях Arch Linux пакета linux-libre нет. Есть два рабочих пути. Первый – собрать пакет из пользовательского репозитория AUR. Это сопровождение сообщества, не зеркало FSFLA. Сборка ядра занимает время и место на диске. Если помощник AUR уже установлен:

paru -S linux-libre linux-libre-headers

Либо вручную:

git clone https://aur.archlinux.org/linux-libre.git
cd linux-libre
makepkg -si

Второй путь – перейти на Parabola GNU/Linux-libre. У этой системы пакет linux-libre лежит в собственном репозитории libre и заменяет обычный пакет linux. Миграцию с Arch описывает wiki Parabola: ставят ключи и зеркала Parabola, подключают секцию libre выше core и синхронизируют базы. Затем ставят пакет, который конфликтует с несвободными пакетами Arch. В Parabola он называется your-freedom. Это смена дистрибутива, а не замена одного пакета ядра.

Как очистить исходники самостоятельно

Если готовый пакет не нужен, берут архив Linux с kernel.org и сценарии той же ветки с сервера GNU Linux-libre. Для ветки 7.2 сначала скачивают deblob-7.2 и deblob-check, проверяют подписи и запускают очистку в распакованном дереве. Точные имена каталогов смотрят на странице релизов: у каждого номера свой подкаталог со сценариями и подписями.

После очистки ядро собирают как обычное: готовят файл конфигурации, запускают сборку, ставят модули и образ, обновляют initramfs и запись загрузчика. После успешной установки команда uname показывает суффикс -gnu. Готовый архив той же версии можно взять сразу с сервера FSFLA и не прогонять сценарий локально.

На 16 августа 2026 года на сайте проекта верхней крупной веткой указан выпуск GNU Linux-libre 7.2-gnu. Номер нужно сверять перед сборкой: сценарий одной ветки не рассчитан на дерево другой.

Заключение

Ядро Linux и GNU Linux-libre расходятся не в планировщике и не в номере версии, а в правиле на непрозрачную прошивку. Первое оставляет её и запрашивает с диска, чтобы устройство включилось. Второе удаляет фрагмент и отключает запрос, чтобы человек не получал программу, которую нельзя изменить.

Для повседневного ноутбука с адаптером Intel Wi-Fi и новой дискретной графикой следствие этого правила – отказ сети или отсутствие изображения. Для машины, подобранной под свободные прошивки, и для дистрибутива из списка FSDG это штатное ядро. Ставить его в Ubuntu, Debian или Arch Linux имеет смысл только если вы принимаете отказ части оборудования и оставляете пункт загрузки с прежним ядром.

© . terminal_icon
Комментарии и отзывы

Нашли ошибку?

Новое на сайте