Я хотел бы иметь все мои модули встроенными, но это не с iwlagn
:
iwlagn 0000:03:00.0: request for firmware file 'iwlwifi-6000-4.ucode' failed.
iwlagn 0000:03:00.0: no suitable firmware found!
Файл микрокода существует, /lib/firmware
и все работает отлично, если я скомпилирую iwlagn
как модуль. Понятия не имею, где он ищет файл или что не так - есть идеи?
linux
kernel
kernel-modules
justdontdoit
источник
источник
Ответы:
Посмотрите на
CONFIG_FIRMWARE_IN_KERNEL
,CONFIG_EXTRA_FIRMWARE
иCONFIG_EXTRA_FIRMWARE_DIR
параметры конфигурации (найдены в драйверах устройств -> Generic Driver Options ).Первый вариант позволяет встроить встроенное ПО в ядро, второй должен содержать имя файла встроенного ПО (или разделенный пробелами список имен), а третий - где искать встроенное ПО.
Итак, в вашем примере вы бы установили эти параметры на:
Совет : сборка всех модулей в ядре не очень хорошая идея . Я думаю, что понимаю ваши амбиции, потому что в какой-то момент я тоже отчаянно пытался это сделать. Проблема такого подхода состоит в том, что вы не можете выгрузить модуль, когда он встроен, и, к сожалению, особенно беспроводные драйверы имеют тенденцию к глючению, что приводит к необходимости перезагрузки их модулей. Кроме того, в некоторых случаях модуль версии последнего драйвера просто не будет работать.
источник