LINUX.ORG.RU

Fedora 37: предложение по раздроблению пакета linux-firmware

 ,


2

1

Источник1: https://www.phoronix.com/scan.php?page=news_item&px=Fedora-37-Firmware-Growth
Источник2: https://fedoraproject.org/wiki/Changes/Linux_Firmware_Minimization

Linux постоянно расширяет поддержку современного железа, поэтому содержимое linux-firmware.git продолжает увеличиваться.

Fedora просто устанавливает всю кучку (~300 MB) блобов, которые содержатся в пакете linux-firmware, хотя конкретному компьютеру требуется (если вообще требуется) всего несколько файлов из этого набора.

Ребята из проекта Fedora надеятся поправить эту ситуацию в этом году, раздробив пакет linux-firmware на части, чтобы в зависимости от конкретного железа автоматически устанавливать только необходимое.

Эту идею предложили инженеры из Meta, так как эту работу уже удачно проделали ребята из OpenSUSE.

Планируется сделать отдельные пакеты для процессоров, видеокарт, WIFI адаптеров (non-intel, интелловские и так идут отдельно) и блютусов. Автоматический выбор будет реализован через DNF-плагин, который будет учитывать конкретное железо. Также, кому надо всё сразу, будет доступен пакет linux-firmware-all.


Что сподвигло на этот пост.

Думал (читая фороникс), да ладно фигня какая-то, там небось каких-нибудь пару десятков мегабайт… Заглянул в свою (AlmaLinux) /lib/firmware, а там 800+ мегабайт, — фигасе!

Там одних интелловских блобов для вайфая (я не использую wifi) на пару сотен мегов и на 600+ мегов этот самый linux-firmware. Так что ~300 — это речь о размере пакета:

$ dnf install linux-firmware
...
Total download size: 215 M
Installed size: 610 M
...

Кароче всё удалил и на душе полегчало:

$ du -sh /lib/firmware/
1.2M

Такие дела.

★★★★★

Последнее исправление: papin-aziat (всего исправлений: 1)

Хорошая идея, надоел уже этот здоровенный блоб при обновлениях.

Im_not_a_robot ★★★★★
()

Ребята из проекта Fedora надеятся поправить эту ситуацию в этом году, раздробив пакет linux-firmware на части, чтобы в зависимости от конкретного железа автоматически устанавливать только необходимое.

Отличная идея! Ещё и пакет обновляется довольно часто, но в нём почти всегда обновляются/добавляются всего несколько файлов.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

Кстати, в шапке в оффрепах такого пакета нет, а как он оказался установлен у меня из epel-extras я уже не помню.

papin-aziat ★★★★★
() автор топика

Спасибо за информацию. Предложение и впрямь разумное.

Хотя меня не напрягал блоб и 600Мб. :) Но если он будет меньше, то это не плохо. Система должна быть стройной и только с необходимым мне софтом.

PS: Это была одна из причин, почему я ушёл с энтерпрайза на Debian, на двух критически важных компьютерах, стало быстрее работать и меньше греться.

Mamluk
()
Ответ на: комментарий от Mamluk

Когда санкции наложили, я серьёзно задумался не вернуться ли на демьян. Пошуршал на сайте, полистал документацию и лень-матушка взяла своё, да и жалко стало накопленный опыт.

Дистрохопперство же как-то совсем не приемлю: опыт показал, что то, что сегодня зашло на ура — завтра все равно загадает загадку.

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от gremlin_the_red

И как узнать какой конкретно нужен, не имея интернета, вифи-то не работает? Впрочем, вангую, там есть метапакет, который все и ставят, то есть делают то же самое.

papin-aziat ★★★★★
() автор топика

отдельные пакеты для процессоров, видеокарт, WIFI адаптеров (non-intel, интелловские и так идут отдельно) и блютусов

Теперь придется все это устанавливать частями.

naKovoNapalBaran
()

On Fri, Jul 1, 2022, 1:54 PM Ben Cotton <bcotton(a)redhat.com> wrote:

... https://fedoraproject.org/wiki/Changes/Linux_Firmware_Minimization

This proposal has been withdrawn by the owners.

Рано начали радоваться

Because they didn't coordinate with the maintainers, it wasn't ready and overall has flaws that need to be addressed. Something to a similar effect will be coordinated and submitted when it's actually viable.

Midael ★★★★★
()
Ответ на: комментарий от naKovoNapalBaran

Дык автоматически, а как это будет происходить пока не знаем. Но если будут сомнения, то linux-firmware-all.

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от Midael

Ну, в соседних тредах во всю выпиливают иксы из гтк5 — и ничего :-)

papin-aziat ★★★★★
() автор топика

600+ мегов этот самый linux-firmware

linux-firmware и linux-firmware-whence почти в три раза меньше в установленном виде

yandrey
()
Ответ на: комментарий от papin-aziat

У федоры меньше

rpm -qa |grep firmware
linux-firmware-whence-20220509-132.fc35.noarch
linux-firmware-20220509-132.fc35.noarch

du -sh /lib/firmware/
267M	/lib/firmware/

т.к. все сжато в .xz

yandrey
()
Последнее исправление: yandrey (всего исправлений: 1)
Ответ на: комментарий от papin-aziat

жалко стало накопленный опыт

Вот поэтому у меня с Демьяном не случилось пламенной страсти. И вопрос, эта ваша AlmaLinux реально клон ЦентОСа?

sparkie ★★★★★
()
Последнее исправление: sparkie (всего исправлений: 1)

Справедливости ради, разбиение есть и в Alpine. Я когда делал образ для сервера очень сильно выиграл по месту, поставив мета-пакет linux-firmware-none :-)

Pinkbyte ★★★★★
()

В gentoo есть savedconfig, который позволяет избежать засорения диска блобами.

> du -sh /lib/firmware/
3,5M	/lib/firmware/

Но разбиение на части всё равно было бы полезно для уменьшения объёма траффика.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от yandrey

А восьмерка у тебя есть сравнить? Возможно я что-нибудь выпилил в припадке «изучения» линукс, у меня такие случаются :-)

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от Minona

Например прошивки на сетевую от риалтека не ставит.

Видимо там сомнительно-свободные или совсем несвободные компоненты 😎

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от Pinkbyte

Справедливости ради, разбиение есть и в Alpine.

Почитал About

a minimal installation to disk requires around 130 MB of storage

:-)

На десктопе не пробовал?

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от eternal_sorrow

Гента — другая материя, а тут будут мутить через gnome-software полюбому, для домохозяев.

Выше Midael выложил ожидаемый расклад, учитывая, что намечается переход на microDNF и отказ от PackageKit, ЕМНИП.

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

Да, если ты будешь ставиться с полуофициального .iso образа с несвободными компонентами, то поставит только нужные проприетарные драйвера.

В случае с официальной сборкой придется подключать contrib non-free во время или после установки и ставить руками, но при этом тоже можно лишь нужное.

Vsevolod-linuxoid ★★★★★
()

Идея хорошая. Будем посмотреть.

sparkie ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Да, если ты будешь ставиться с полуофициального .iso

Не знал про такой вариант. Там наверное одноразовый скрипт, который во время установки тестирует железки на наличие. Хорошая идея.

В случае с официальной сборкой придется подключать contrib non-free во время или после установки и ставить руками, но при этом тоже можно лишь нужное.

То есть надо знать, что ставить. В общем это лучше, конечно, чем как сейчас в федора-лайк, где, если тебе надо что-то одно — накатывай всё.

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от sparkie

Если бы мне было не лень, я бы лучше в сторону зюзи посмотрел. Ентерпрайз удобно, если привык к федоре, но хочется или надо остановиться :-)

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

Не обязательно знать точно самому. Всё довольно просто:

  • Если процессор у тебя Intel, то ставишь пакет intel-microcode, если AMD, то amd64-microcode
  • dmesg | grep -i 'failed to load' — скажет имена файлов модулей, что не хватает.
  • Искать, в каких пакетах они есть можно или на https://www.debian.org/distrib/packages , или через apt-file — потом можно просто поставить их и всё.
Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)

В gentoo такое уже давно есть. В виде одного конфигурационного файла, куда помещаются нужные блобы.

[serg@gentoo-pc ~] $ cat /etc/portage/savedconfig/sys-kernel/linux-firmware 
# Remove files that shall not be installed from this list.
ctefx.bin
rtl_bt/rtl8761bu_fw.bin
rtl_bt/rtl8761bu_config.bin
amdgpu/navy_flounder_ce.bin
amdgpu/navy_flounder_dmcub.bin
amdgpu/navy_flounder_me.bin
amdgpu/navy_flounder_mec.bin
amdgpu/navy_flounder_mec2.bin
amdgpu/navy_flounder_pfp.bin
amdgpu/navy_flounder_rlc.bin
amdgpu/navy_flounder_sdma.bin
amdgpu/navy_flounder_smc.bin
amdgpu/navy_flounder_sos.bin
amdgpu/navy_flounder_ta.bin
amdgpu/navy_flounder_vcn.bin
Kolya95
()
Ответ на: комментарий от papin-aziat

Да, и ещё в экспертном режиме установщик Debian позволяет конфигурировать, какие подули ядра включать в поставку, а какие нет, в ручном режиме.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от papin-aziat

ext4, есть xfs, но там давно не обновлял, старый пакет linux-firmware-20210702-103.gitd79c2677.el8.noarch, du -hs показывает 520M

yandrey
()
Ответ на: комментарий от Vsevolod-linuxoid

я до этого метода сам допер

/me размышляет…

Пятизвёздочный. Работает в техподдержке, емнип. Восстанавливает системы после вторжения нубов…

Да как же ты смог додуматься? 🤔

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

apt search <твой чип> должно выдать нужный пакет

Аааа догадался, ты сидишь на РХ-подобном где все эти действия требуют сети. Дебиан в случае отсутствия интернета намного больше приятный чем РХ-подобные. Так было со времён etch, я думал, что такое недоразумение поправили, но видимо нет.

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 1)
Ответ на: комментарий от einhander

apt search ищет по именам и описаниям пакетов, а чтобы он начал искать по тому, в каком пакете нужные файлы, нужно ещё apt-file поставить и вдобавок базу ему обновить. А в RHEL и Fedora достаточно dnf provides */filename.

Vsevolod-linuxoid ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.