LINUX.ORG.RU

Как в арче запретить загружать определенный модуль firmware?

 , , ,


1

2

Сообственно надо чтобы не грузился один из модулей firmware - с ним драйвер работатет некорректно, а без него работает замечательно. Проблемма в том, что в арче firmware идет одним пакетом и если удалить весь пакет, то не будут работать некоторые другие устройства, которым firmware наоборот нужен :) А если удалить просто файл firmware, то при следущем обновлении велик шанс что он появится. (если отобрать доступ, то ошибки при обновлении). Как добавить в блеклист kernel module (который драйвер), рассказывать не надо.

Ответ на: комментарий от maximilliangreat

Тогда правильно вопрос задавай, не модуль блеклистить а не ставить файл прошивки. NoExtract = файл в конфиге пакмана

anonymous
()

запретить автоматическое обновление пакета (другими словами - поставить его на hold). Раз такое есть в дебиане, то в арче будет тем более

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

Я думал можно как-то заставить не грузить установленный фирмваре. Но не устанавливать хорошее решение, спасибо.

Даже не мог себе представить что такая функция в пакмане есть xD

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

в пакмане должны быть опции выполнения команд после каждой инсталляции. впихнуть в него rm /path/to/file

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

Да все уже, с NoExtract= элегантнее решение :) Хотя каждый раз удалять тоже можно ;)

maximilliangreat
() автор топика
7 декабря 2023 г.
Ответ на: комментарий от anonymous

Подниму тему. За прошедшее время у меня в конфиге пакмана появилось NoExtract =/usr/lib/firmware/firmwarefile.bin NoExtract =/usr/lib/firmware/firmwarefile.bin.xz NoExtract =/usr/lib/firmware/firmwarefile.bin.zst

И каждый раз это было неприятным и внезапным сюрпризом, приводящим к недоумению, почему внезапно ничего не работает )))

Теперь (ну давно уже), все эти прошивки еще в инитрд похоже пакуются, и не смотря на запись NoExtract, в конфиге bin.zst все равно распаковывается. Сечас удаляю вручную, потом обновляю загрузчик. Удобно - жуть )))

Вопрос прежний - что делать?

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

попытаться локализовать проблему (кто всё же виноват - firmware или driver),
затем вступить в диалог с разработчиками драйвера или firmware - после появления фикса твоя проблема исчезнет

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

может попробовать отключить её вообще?
попробуй на этапе загрузки передать ядру параметр pcistub=«pci-stub.ids=vid:pid»
vid и pid узнаешь с помощью команды lspci

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

окей, значит будешь обходиться скриптом, который переименовывает тебе злополучный файл и пересобирает initrd
в случае горелой видюхи других вариантов у тебя и нет

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

Но я на всякий случай, добавлю ради интереса .bin*, все равно .bin.zst почему-то неработает.

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

все эти прошивки еще в инитрд похоже пакуются

А раньше не было? Глянул initramfs-linux.img из официального iso, действительно есть директория /usr/lib/firmware и там полно *.bin.zst.

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

Раньше не было. просто удалял фирмваре из /либ и все сразу работало.

maximilliangreat
() автор топика
Ответ на: комментарий от d00fy

и пересобирает initrd

Как вариант, в качестве безумной идеи, :) создать второй initramfs-linux-custom.img с одним только /usr/lib/firmware/firmwarefile.bin.zst.

Оставить этому .bin.zst права только на чтение (или вообще все права забрать), или задать нулевой размер или еще как, х.з. И грузить оба, чтобы второй наложился на первый и не мог подхватываться. Типа:

initrd /boot/initramfs-linux.img
initrd /boot/initramfs-linux-custom.img


Чего только не придумаешь, чтобы не пересобирать каждый раз. )

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.