Comment coder un module du kernel Linux?

J’ai quelques années d’expérience en programmation. Maintenant, j’ai décidé de travailler au développement de modules du kernel Linux. Cependant, je ne peux même pas commencer. J’ai compilé ce code dans Ubuntu.

#include  int init_module(void){ printk(" hellp"); return 0;} void cleanup_module(void){ printk(" bye");} 

Toutefois, l’insmod ne fonctionne pas, le message d’erreur est “format de module non valide”. Après avoir googlé, j’ai pensé que cela pouvait poser problème avec la compatibilité des versions. Et il n’y a pas de bon moyen de le résoudre. Donc, un vrai développeur de module kernel peut-il me donner des conseils? Quel environnement dois-je préparer avant de commencer à apprendre?

Merci!

Vous module_init() les module_init() et module_exit() et quelques #defines cruciales. Nous avons besoin de plus d’informations, telles que vos options make / gcc. Il peut signaler le “format de module non valide” car vous comstackz en 32 bits lorsque votre kernel est en 64 bits, alors assurez-vous d’utiliser l’indicateur de compilation et de lien -64.

Un excellent didacticiel sur les modules de kernel se trouve ici: http://archive.is/KNkEE (le lien original vers l’article est rompu).

Bienvenue dans l’écriture des modules du kernel. Ils sont très amusants par rapport à l’écriture de pilotes Windows (j’ai fait les deux). L’interface du module linux est beaucoup plus simple à utiliser et vous pouvez déléguer de nombreux pilotes de base et accélérer le travail.

Un blog complet et simplifié sur les kernelx Linux, la programmation de modules et l’écriture de pilotes de périphériques simples pour les périphériques intégrés.

xploredevicedrivers.blogspot.in