Tvorba modulů 0x2 - Hello World
...navazuje na poslední článek věnovaný programování kernel modulům, tentokráte od jiného autora...
----------------------[ 0x1 Makefile
Začnu trošku odjinud, pokud neumíme modul zkompilovat, tak není důvod proč ho programovat.
Pro víc info jak se píše Makefile se zeptejte strýčka google.
důležité pro nás je jméno modulu (potažmo zdrojáku), v tomto případě je to "hello.c" takže do Makefile píšeme "hello.o", kdo nechápe, tak ať použije google.
a výsledek?
----------------------[ 0x2 Hello world!
Tak jdeme na to děcka, tady mate zdroják.
inux/module.h - toto je potřeba pro každý modul.
linux/kernel.h - toto nám definuje makro KERN_INFO
funkce init_module a cleanup_module jsou automaticky volány při nahrání/odstranění modulu z paměti. Toto už je nedoporučované, ale je to o dva řádky kódu méně :)
Toto se dá řešit i jinak, později si ukážeme jak.
tak zkombajníme si modul a jdeme dál...
----------------------[ 0x3 Stary dobry In - Out
tak teďka si hezky vezmeme man insmod(1) a koukneme se jak se loadujou moduly, máme? tak si loadněte modul...
typicky příkaz:
No a nic se nám nevypsalo, tak šup zkontrolovat dmesg a tam bude něco takovéto
Ooops, kernelu se to nějak nelíbí, zapomněli jsme si kód licencovat, napravíme to tak že pod include si přidáme
MODULE_LICENSE("GPL");
pro ůplný seznam licencí si projděte linux/module.h
nejzajímavější pro nás, snad nepotřebuje vysvětlení:
--- "GPL"
--- "GPL v2"
--- "Dual BSD/GPL"
--- "Proprietary"
Další zajímavá věci jsou autor a popis modulu
a pak si někde na začátek kódu vrazíme
a pak tam můžeme vidět toto když si dáme modinfo na zkombajnovaný modul.
tak a ještě si modul unloadneme, ať nám tam nezabírá místo.
a opět zkontrolujeme dmesg
----------------------[ 0x4 Disclaimer
provozováno pod 2.6.x kernelem, 2.4.x kernel má jiný build systém na moduly. Toto je velmi lehký uvód, pokud máte nějaké speciální požadavky, tak šup do komentářů
----------------------[ 0x5 Author
Autorem je Wwwnick, za motivaci napsat tento článek děkuji absolutní sobotní odpolední nudě a flašce piva.
- Pro psaní komentářů se přihlašte



