Estou tendo um problema com o Ubuntu 12.04 não reconhecendo corretamente um módulo do kernel customizado. O módulo do kernel é uma falsificação de raw1394
. Assim, os programas que procuram a presença de um módulo raw1394
na memória ainda funcionam corretamente, mesmo que o módulo real que lida com a comunicação IEEE 1394 / FireWire seja diferente. As instruções para criar o módulo raw1394 fictício estão em wiki.sofa-framework.org .
O problema é que para carregar o módulo do kernel eu tenho que usar insmod
toda vez.
Quando, após a reinicialização, tento carregar o módulo do kernel raw1394
, recebo a seguinte mensagem de erro:
$ sudo modprobe raw1394
FATAL: Error inserting raw1394 (/lib/modules/3.5.0-51-generic/misc/raw1394.ko): Invalid module format
No entanto, se eu executar a seguinte sequência de comandos, tudo funcionará bem:
$ sudo insmod raw1394.ko
$ sudo modprobe raw1394
Não consigo ver como pode haver um problema com a versão incompatível:
$ uname -a
Linux mech801 3.5.0-51-generic #77~precise1-Ubuntu SMP Thu Jun 5 00:48:28 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Aqui estão os hashes MD5. Os arquivos são do mesmo tamanho, mas eu suponho que insmod
deve estar mudando algo internamente à medida que insere o módulo. Ambos os arquivos têm 3274 bytes de tamanho.
$ md5sum /lib/modules/3.5.0-51-generic/misc/raw1394.ko ./raw1394.ko
ab06501bba1372f57115125bc7a24dfb /lib/modules/3.5.0-51-generic/misc/raw1394.ko
c3c3d2b4e2fe174a76b90af33eefc5e0 ./raw1394.ko
Existe algo que está faltando e que está causando este problema Invalid module format
?