Chciałbym mieć wszystkie moje moduły wbudowane, ale to się nie udaje w przypadku iwlagn
:
iwlagn 0000:03:00.0: request for firmware file 'iwlwifi-6000-4.ucode' failed.
iwlagn 0000:03:00.0: no suitable firmware found!
Plik mikrokodu istnieje /lib/firmware
i wszystko działa dobrze, jeśli skompiluję iwlagn
jako moduł. Nie mam pojęcia, gdzie szuka pliku ani co jest nie tak - jakieś pomysły?
linux
kernel
kernel-modules
justdontdoit
źródło
źródło
Odpowiedzi:
Wystarczy popatrzeć na tych
CONFIG_FIRMWARE_IN_KERNEL
,CONFIG_EXTRA_FIRMWARE
iCONFIG_EXTRA_FIRMWARE_DIR
opcji konfiguracyjnych (znaleziono w Device Drivers -> Generic sterownika Opcje ).Pierwsza opcja umożliwi wbudowanie oprogramowania wbudowanego w jądro, druga powinna zawierać nazwę pliku oprogramowania (lub listę nazw oddzieloną spacjami), a trzecia gdzie szukać oprogramowania.
W twoim przykładzie ustawiłbyś te opcje na:
Porada: Kompilowanie wszystkich modułów w jądrze nie jest dobrym pomysłem . Myślę, że rozumiem twoje ambicje, ponieważ w pewnym momencie również desperacko to zrobiłem. Problem z takim podejściem polega na tym, że nie można rozładować modułu po jego wbudowaniu - i, niestety, szczególnie sterowniki bezprzewodowe mają tendencję do błędów, co prowadzi do konieczności ponownego ładowania modułów. Ponadto w niektórych przypadkach wersja modułu najnowszego sterownika po prostu nie będzie działać.
źródło