Construído o kernel PREEMPT-RT - 'Falha ao iniciar o carregamento dos módulos do kernel'

0

Então eu construí meu primeiro kernel personalizado. Começou com 4.8.15 então aplicou o 4.8.15 patch PREEMPT , seguindo principalmente estas instruções. Apenas o desvio mencionado estava no arquivo .config para a compilação Eu configurei a família de processadores para Intel Atom em vez de genéricos, já que o hardware que estou executando tem um processador Intel Atom E3845.

Após a instalação, me deparei com dois problemas. Ao inicializar, vejo a mensagem '[FAILED] falhou ao iniciar o Load Kernel Modules', mas ele inicializa no ambiente Desktop de qualquer maneira e tudo parece bem. Eu pensei que talvez não tenha conseguido carregar o novo kernel e padrão para um antigo, mas 'uname -r' retorna '4.8.15-rt10' como esperado.

Problema adicional é este PC ter algum hardware especial que eu tive que pedir ao fabricante para construir os drivers para o novo kernel Eu não pude inserir o módulo com o comando insmod. Ele retornou a mensagem 'insmod: ERRO: não foi possível inserir o módulo ./whatever.ko: Formato de módulo inválido'.

Percebendo que os dois provavelmente estavam relacionados, fiz alguma pesquisa e parece que não compilei / instalei o módulo do kernel? Estou no caminho certo? Obrigado

Seguindo o formato descrito aqui eu tentei o seguinte comando:

user@user-Nuvo-2510VTC:/usr/src/linux-4.8.15-rt10$ sudo make -C /lib/modules/4.8.15-rt10/build M=/usr/src/linux-4.
8.15-rt10/
make: Entering directory '/usr/src/linux-4.8.15-rt10'
make[1]: *** No rule to make target '/usr/src/linux-4.8.15-rt10//build_constants_py', needed by '__build'.  Stop.
Makefile:1473: recipe for target '_module_/usr/src/linux-4.8.15-rt10/' failed
make: *** [_module_/usr/src/linux-4.8.15-rt10/] Error 2
make: Leaving directory '/usr/src/linux-4.8.15-rt10'

Olhando para trás, através do processo de construção, eu construí e instalei o módulo, existe uma maneira que eu possa verificar?

Eu encontrei este

OK, apenas duas perguntas agora. Primeiro, esse módulo corresponde ao meu kernel?

uname -a ==> 4.8.15-rt10 #5 SMP PREEMPT RT Mon Oct 23 10:57:27 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
modinfo ==> vermagic: 4.8.15-rt10 SMP preempt mod_unload

Em segundo lugar, eu li que preciso ter certeza de que eu tenho os cabeçalhos linux instalados para o meu kernel, mas como é um kernel compilado eu não tenho um pacote linux-headers-4.8.15-rt10 que eu pode baixar. Eu li que, se eu compilei, por padrão, tenho os cabeçalhos (duh), mas eu preciso fazer mais alguma coisa para ligar a conexão? "dpkg -s linux-headers - $ (uname -r)" diz que nenhum pacote instalado, tudo bem?

    
por DrTarr 23.10.2017 / 14:14

0 respostas