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)

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

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

Dimez ★★★★★
()

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

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

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

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

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

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

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

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

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

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 ★★★★★
()
Ответ на: комментарий от 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)
Ответ на: комментарий от eternal_sorrow

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

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

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

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

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

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

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

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

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

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

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
()
Ответ на: комментарий от 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 ★★★★★
()