Compilando o módulo em árvore customizado

0

Eu gostaria de recompilar um dos módulos wifi, ou seja, drivers / net / wireless / realtek / rtl8xxxu /. Estou usando o Ubuntu 16.04.3.

Minha versão do kernel:

Linux fisk 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Eu tenho os cabeçalhos necessários no linux-headers-4.10.0-38-generic, bem como a fonte do Linux em /usr/src/linux-source-4.10.0

Eu posso construir o módulo muito bem em /usr/src/linux-source-4.10.0 se eu fizer -j8 SUBDIRS = drivers / net / wireless / realtek / rtl8xxxu /, no entanto o vermagic não corresponde ao do meu kernel e como resultado o módulo não pode ser carregado:

modinfo drivers/net/wireless/realtek/rtl8xxxu//rtl8xxxu.ko | grep vermagic vermagic: 4.10.17 SMP mod_unload

Como resultado, ao carregar, recebo no dmesg:

rtl8xxxu: version magic '4.10.17 SMP mod_unload ' should be '4.10.0-38-generic SMP mod_unload '

Então, minha pergunta é qual é a maneira correta de construir o módulo e ser capaz de carregá-lo no meu kernel?

    
por LordDoskias 13.11.2017 / 13:50

1 resposta

0

Então, finalmente, respondi a minha pergunta. O comando que eu precisava executar era:

make -C /lib/modules/'uname -r'/build M=/home/foo/projects/kernel/linux-hwe-4.10.0/drivers/net/wireless/realtek/rtl8xxxu/

Depois disso fazendo modinfo mostra a coisa correta e o módulo pode ser inserido:

modinfo /home/foor/projects/kernel/linux-hwe-4.10.0/drivers/net/wireless/realtek/rtl8xxxu//rtl8xxxu.ko | grep vermagic
vermagic:       4.10.0-38-generic SMP mod_unload 
    
por LordDoskias 13.11.2017 / 19:07