LinuxÒÁµéÔ°ÂÛ̳'s Archiver

xi198400 ·¢±íÓÚ 2007-6-14 23:31

insmod ¼ÓÔØÄÚºËÄ£¿é ³öÏÖ¡°¶Î´íÎó¡±

×î½üÕÒÁËºÜ¶à¹ØÓÚÄÚºËÄ£¿éÉè¼ÆµÄ×ÊÁÏ£¬µ«Á¬×î¼òµ¥µÄhello world¶¼Í¨¹ý²»ÁË£¬ÊÔÁ˺ܶàÈ˵ģ¬×îºó¼ÓÔØÄ£¿éʱ¶¼»á³öÏÖ¡°¶Î´íÎ󡱡£

#include <linux/module.h>
#include <linux/init.h>
MODULE_LICENSE("GPL");// У¬·ñÔòÓÐ waring, È¥µôÁË #define MODULE, ×Ô¶¯¶¨Òå
static int hello_init(void)
{
printk(KERN_ALERT "Hello, world\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init);// ±ØÐ룡£¡
module_exit(hello_exit); // ±ØÐ룡£¡


MakefileÀïÃæ¾ÍÒ»¾ä
obj-m := hello.o

££make -C /usr/src/linux SUBDIRS=$PWD modules

insmod ./hello.ko¾Í»áÌáʾ¶Î´íÎó¡£
²»ÖªµÀÊDz»ÊÇÎÒϵͳÄÄÀïÅäÖôíÎóµÄÔ­Òò£¬ÎÒ°²×°µÄÊÇdebian4.0
kernel 2.6.18£¬Ä¬Èϲ»°²×°Äںˣ¬ÎÒÖØÐ±àÒëÁ˵ġ£

alongc ·¢±íÓÚ 2007-6-27 09:21

µÈ´ý¸ßÊֻشð,ÎÒÒ²ÊÔÁËn¸ö°æ±¾,»¹ÏÂÁË2.6.22-rc5µÄÄÚºË,ÖØÐ±àÒëÁË»¹ÊDz»ÐÐ,µ«ÎҵĴíÎó×ÜÊÇÒ»ÑùµÄ,¾ÍÊÇ: no module found in object

MMMIX ·¢±íÓÚ 2007-6-27 21:06

ÄãµÄÄÚºËÖØÐ±àÒë¹ýô£¿ Linux 2.6 ÔÚ±àÒëÄ£¿éʱҪÇóÄãÒѾ­±àÒë¹ýÒ»¸öÄںˣ¬¶øÇÒ±àÒë¹ý³ÌÖÐÉú³ÉµÄÁÙʱÎļþ»¹Ã»ÓÐɾ³ý£¨Ò²¼´±àÒëºóûÓÐÖ´ÐÐ make clean£©£¬make µÄ -C Ñ¡ÏîµÄ²ÎÊýÓ¦¸ÃÖ¸¶¨Îª±àÒëÄÚºËʱ¶ÔÓ¦µÄĿ¼¡£

alongc ·¢±íÓÚ 2007-6-28 11:10

¿ÉÊÇÎҵıàÒëÁËѽ£¬ÔÎÔÎ:o

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.