Te falta el module_init()
y module_exit()
macros y algunos #defines
cruciales . También necesitamos más información, como sus opciones make/gcc. Puede estar informando el "formato de módulo no válido" porque está compilando en 32 bits cuando su kernel es de 64 bits, así que asegúrese de estar usando el indicador de compilación y enlace -64.
Aquí se encuentra un gran tutorial de hola mundo para los módulos del kernel:http://archive.is/KNkEE (el enlace original al artículo está roto).
Bienvenido a escribir módulos del núcleo. Son muy divertidos en comparación con escribir controladores de Windows (he hecho ambos). La interfaz del módulo del kernel de Linux es mucho más simple de usar y hay muchos controladores básicos a los que puede delegar y hacer el trabajo más rápido.