Kernel personalizzato: impossibile caricare il firmware quando il modulo è integrato


9

Mi piacerebbe avere tutti i miei moduli integrati, ma questo non riesce con iwlagn:

iwlagn 0000:03:00.0: request for firmware file 'iwlwifi-6000-4.ucode' failed.
iwlagn 0000:03:00.0: no suitable firmware found!

Il file del microcodice esiste /lib/firmwaree tutto funziona perfettamente se compilo iwlagncome modulo. Non ho idea di dove stia cercando il file o cosa c'è che non va: qualche idea?


Fare una nuova risposta invece di un commento; EXTRA_FIRMWARE_DIR corrisponde alle posizioni dei BLOB del firmware nell'ambiente di compilazione; non il bersaglio. vedi ( cateee.net/lkddb/web-lkddb/EXTRA_FIRMWARE_DIR.html )
orpheuswasrebornhere

Risposte:


10

Dai un'occhiata alle CONFIG_FIRMWARE_IN_KERNEL, CONFIG_EXTRA_FIRMWAREe CONFIG_EXTRA_FIRMWARE_DIRle opzioni di configurazione (che si trova a Device Drivers -> Opzioni driver generico ).

La prima opzione consentirà di incorporare il firmware nel kernel, la seconda dovrebbe contenere il nome del file del firmware (o un elenco di nomi separato da spazi) e la terza dove cercare il firmware.

Quindi nel tuo esempio, imposteresti queste opzioni su:

CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE='iwlwifi-6000-4.ucode'
CONFIG_EXTRA_FIRMWARE_DIR='/lib/firmware'

Un consiglio: compilare tutti i moduli nel kernel non è una buona idea . Penso di capire la tua ambizione perché a un certo punto ero anche disperato di farlo. Il problema con tale approccio è che non è possibile scaricare il modulo una volta che è integrato - e, sfortunatamente, in particolare i driver wireless tendono ad essere difettosi, il che comporta la necessità di ricaricare i loro moduli. Inoltre, in alcuni casi, una versione del modulo di un driver recente non funzionerà.


Non è più vero. I driver Intel sono stabili e funzionano bene per giorni senza che sia necessario alcun intervento manuale.
Ten .orf

EXTRA_FIRMWARE funziona solo con kernel a 64 bit secondo la documentazione
datato
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.