2010-08-12 18 views
5

Tengo una versión compilada de un módulo de Linux, y luego tengo más de 20 variaciones de su fuente. A través de varios errores tontos, he perdido la pista de qué versión de la fuente era la real que usé para hacer el módulo.modinfo srcversion: ¿Cómo puedo generar esto desde mi fuente?

Me di cuenta de que modinfo <module name> da srcversion: <hash>, y encontré alguna explicación en algún lugar que dice que es la "Suma de la fuente que produjo el módulo". ¡Se escucha perfecto!

¿Qué debo hacer a las fuentes de mi módulo para producir este hash?

Respuesta

7

El srcversion se define en el programa scripts/mod/modpost. No sé las opciones exactas que tienes que dar a modpost para que genere este campo. Debe ser algo similar al scripts/mod/modpost -a -m vmlinux you_module.o (puede consultar scripts/Makefile.modpost para conocer las opciones exactas). La salida pasa a estar disponible en drivers/path/to/your_module.mod.c

recomiendo que ponga el config MODULE_SRCVERSION_ALL ay (disponible en el submenú Enable loadable module support), de manera que srcversion se produce automáticamente para todos los módulos de su construcción. Luego puede cambiar entre usted las variaciones de la fuente, reconstruir su kernel con la nueva variación de fuente (solo su módulo debe reconstruirse después de la primera compilación) y luego mirar directamente el campo MODULE_INFO(srcversion, "<hash>"); al final de su archivo drivers/path/to/your_module.mod.c para encontrar el información

Cuestiones relacionadas