Portál AbcLinuxu, 15. července 2025 09:45
#include linux/module.h #include linux/kernel.h #include linux/init.h static int __init mymodule_init(void) { // printk(KERN_INFO "mymodule2: module inicializovan\n"); return 0; } static void __exit mymodule_cleanup(void) { // printk(KERN_INFO "mymodule: modul uvolnen\n"); } /* static void mymodule_run(void) { printk(KERN_INFO "mymodule: Bezim!!\n"); } */ //EXPORT_SYMBOL(mymodule_run); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Vlastni Modul"); MODULE_AUTHOR("Venca Vopicka"); MODULE_VERSION("1.2.3-stupid"); module_init(mymodule_init); module_exit(mymodule_cleanup);prelozime ho: make -C /usr/src/linux SUBDIRS=$PWD modules make: Entering directory `/usr/src/linux-2.6.18-deh'
WARNING: Symbol version dump /usr/src/linux-2.6.18-deh/Module.symvers is missing; modules will have no dependencies and modversions. CC [M] /home/fly911/module/mymodule.o Building modules, stage 2. MODPOST CC /home/fly911/module/mymodule.mod.o LD [M] /home/fly911/module/mymodule.ko make: Leaving directory `/usr/src/linux-2.6.18-deh'loadneme do jadra: insmod ./mymodule.ko podivame: lsmod
Module Size Used by mymodule 1088 0 [permanent] ipt_REJECT 4096 1 xt_tcpudp 3072 1 iptable_filter 2560 1 ip_tables 10828 1 iptable_filter x_tables 9988 3 ipt_REJECT,xt_tcpudp,ip_tables 8139too 19584 0 snd_intel8x0 26012 0 snd_ac97_codec 79520 1 snd_intel8x0 snd_ac97_bus 2304 1 snd_ac97_codeca ejhle, modul se stal permanentni soucasti jadra ! rmmod mymodule a samozrejme nejde unloadnout ERROR: Removing 'mymodule': Device or resource busy Jadro je zkompilovane podle vlastniho konfiguraku. Na kompu se vyskytuje tento jediny zdrojak jadra. Tusim, ze "sobaka zaryta" je nekde v nastavenich kompilace, ale kde netusim. Dik za kazde nakopnuti spravnym smerem.
/* Declare what kind of code we want from the header files */
#define __KERNEL__ /* We're part of the kernel */
#define MODULE /* Not a permanent part, though. */
Pomohlo?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.