Mam kilka lat doświadczenia w programowaniu. Teraz postanowiłem pracować nad rozwojem modułu jądra Linux. Jednak nie mogę nawet zacząć. Skompilowałem ten kod w Ubuntu.Jak kodować moduł jądra Linux?
#include <linux/module.h>
int init_module(void){ printk("<1> hellp"); return 0;}
void cleanup_module(void){ printk("<1> bye");}
Jednak insmod nie działa, komunikat o błędzie "Niepoprawny format modułu". po uruchomieniu google uznałem, że może to być problem z kompatybilnością wersji. I nie ma dobrego sposobu na rozwiązanie tego problemu. Czy jakiś prawdziwy programista modułów jądra może mi doradzić? jakie środowisko powinienem przygotować przed rozpoczęciem nauki?
Dzięki!
* "Brakuje makra __init i __exit, ..." * - Zastosowanie '' __exit' __init' i nie są wymagane; określają tylko sekcję tekstową, która może zostać zwolniona po zakończeniu rozruchu. Do modułu sterującego wymagane są deklaracje dla dwóch punktów wejścia za pomocą 'module_init()' i 'module_exit()'. – sawdust