é possível carregar o módulo do kernel que “discorda sobre a versão do símbolo”

4

Eu fiz o download dos fontes do meu kernel, apliquei um patch e o reconstruí e agora tenho um módulo do kernel que, quando tento insmod , reclama "Símbolo desconhecido no módulo" com dmesg dando o erro "discorda sobre a versão do símbolo ... ".

Sem ter que procurar o código-fonte para este módulo e reconstruí-lo contra o meu kernel, é possível de alguma forma forçar o kernel a aceitar este módulo?

Eu percebo que isso seria perigoso, mas eu vou assumir o risco se for possível.

    
por Shum 08.05.2011 / 08:56

3 respostas

5

insmod não é a melhor ferramenta para carregar módulos - use modprobe , é mais inteligente. Na página de manual do modprobe , você verá que tem uma opção --force que pode carregar um módulo com informações de versão conflitantes.

Como você disse, isso é perigoso e essencialmente nunca deve ser usado. Você pega as peças se o seu sistema explode.

    
por 08.05.2011 / 11:30
1

Se você reconstruir a mesma versão do kernel e estiver obtendo esse erro, provavelmente o patch aplicado alterou algo que está no kernel referenciado pelo módulo. Isso praticamente garante que vai explodir. Você precisará encontrar o código para esse módulo e compilá-lo novamente em seu novo kernel para que ele tenha as referências corretas.

Há também alguma chance de que ele não consiga compilar e precise ser modificado para corresponder às modificações feitas em seu patch de kernel.

    
por 09.05.2011 / 11:37
0

faça um make clean, e faça novamente no diretório do seu módulo, então insmod ele, você não estará recebendo esse erro. ou o outro caso pode estar faltando cabeçalhos do kernel, instale-os de acordo com a distro que você possui.

    
por 19.03.2013 / 12:49