Especificamente, o problema é que, quando você construiu seu módulo, a árvore de origem do kernel provavelmente estava faltando no arquivo Modules.symvers. O sistema kbuild na verdade avisa sobre isso quando você constrói seu módulo. Se Modules.symvers estiver faltando, você verá:
Aviso: dump de versão de símbolo /usr/src/linux-2.6.34-12/Modules.symvers está desaparecido; módulos não terão dependências e modversões.
Se o seu kernel tem CONFIG_MODVERSIONS
habilitado, então durante a fase de modulação da construção do seu driver ele rodará scripts / mod / modpost com a opção -m. Se você é corajoso e dá uma olhada na fonte scripts / mod / modpost.c , verá que a opção -m adiciona o símbolo _module_layout_ do vmlinux, no entanto, se você não tiver Modules.symvers do seu kernel, você não obterá o valor de CRC para este símbolo e terminará com essa mensagem de erro.
Portanto, há duas maneiras de contornar isso.
1) execute uma compilação completa de seu kernel em execução para gerar Modules.symvers e, em seguida, recrie seu módulo. [http://www.mjmwired.net/kernel/Documentation/kbuild/modules.txt] [1]
51 === 2. How to Build External Modules
52
53 To build external modules, you must have a prebuilt kernel available
54 that contains the configuration and header files used in the build.
55 Also, the kernel must have been built with modules enabled. If you are
56 using a distribution kernel, there will be a package for the kernel you
57 are running provided by your distribution.
58
59 An alternative is to use the "make" target "modules_prepare." This will
60 make sure the kernel contains the information required. The target
61 exists solely as a simple way to prepare a kernel source tree for
62 building external modules.
63
64 NOTE: "modules_prepare" will not build Module.symvers even if
65 CONFIG_MODVERSIONS is set; therefore, a full kernel build needs to be
66 executed to make module versioning work.
2) A outra opção é dizer ao modprobe estúpido para simplesmente ignorar toda essa porcaria e apenas carregar seu módulo de qualquer maneira:
modprobe -f <module>
Eu tenho a tendência de favorecer a opção 2:)