Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

The Linux Kernel Module Programming Guide±Ê¼Ç

1¡¢Í¨¹ýlsmodÀ´»ñµÃÄÚºËÒѼÓÔØÁËÄÇЩģ¿é£¬Õâ¸öÃüÁîÊǶÁÈ¡/proc/modulesÎļþµÄÄÚÈÝÀ´»ñµÃÐÅÏ¢µÄ¡£
 
2¡¢ÄÚºËÄ£¿é¹ÜÀíÊØ»¤½ø³ÌkmodÖ´ÐÐmodprobeÈ¥¼ÓÔØÄÚºËÄ£¿é¡£modprobeµÄ¹¦ÄܺÍinsmodÀàËÆ£¬µ«ÊÇËü³ýÁË×°ÈëÖ¸¶¨Ä£¿éÍ⣬»¹Í¬Ê±×°ÈëÖ¸¶¨Ä£¿éËùÒÀÀµµÄÆäËûÄ£¿é¡£
 
3¡¢Èç¹ûÄÚºËÖдò¿ªÁËCONFIG_MODVERSIONSÑ¡ÏÔòΪij¸öÖ¸¶¨°æ±¾Äں˱àÒëµÄÄ£¿é½«²»Äܱ»ÁíÒ»°æ±¾µÄÄں˼ÓÔØ¡£ËùÒÔÔÚ¿ª·¢µÄ¹¤³ÌÖУ¬×îºÃ½«ÄÚºËÖеÄÕâ¸öÑ¡Ïî¹Ø±Õ¡£
 
4¡¢½¨ÒéÔÚ¿ØÖÆÌ¨ÏÂÊäÈëÎĵµÖеķ¶Àý´úÂ룬±àÒëÈ»ºó¼ÓÔØÄ£¿é£¬¶ø²»ÊÇÔÚXÏ¡£Õâ¸ö¿É¼°Ê±¶ÁÈ¡¼ÓÔØÄ£¿éʱµÄÈÕÖ¾ÐÅÏ¢¡£
 
5¡¢Ä£¿é³õʼ»¯º¯Êý£¨module_init£©Ó¦¸Ã·µ»ØÖµÎª0£¬·Ç0Ôò±íÃ÷³õʼ»¯Ê§°Ü£¬¸ÃÄ£¿é½«²»Äܱ»¼ÓÔØ¡£
 
6¡¢ÈÎÒ»¸öÄÚºËÄ£¿éÐèÒª°üº¬linux/module.h¡£ÎÒÃǽö½öÐèÒª°üº¬linux/kernel.hµ±ÐèҪʹÓÃprintk()¼Ç¼¼¶±ðµÄºêÀ©Õ¹Ê±KERN_ALERN¡£
 
7¡¢printk()²¢²»ÊÇÉè¼ÆÓÃÓÚÓû§½»»¥µÄ£¬Ëüʵ¼ÊÉÏÓÃÀ´ÎªÄÚºËÌṩÈÕÖ¾¹¦ÄÜ£¬¼Ç¼ģ¿éÐÅÏ¢ºÍ¸ø³ö¾¯¸æ¡£Ëü¶¨ÒåÁ˰˸öÓÅÏȼ¶¡£ÎÒÃÇ¿ÉÒÔʹÓÃKERN_ALERTÕâÑùµÄ¸ßÓÅÏȼ¶£¬À´È·±£printk()½«ÐÅÏ¢Êä³öµ½¿ØÖÆÌ¨¶ø²»ÊÇÌí¼Óµ½ÈÕÖ¾ÖС£
 
8¡¢¹ØÓÚºê__initºÍ__exit¡£ËüÃǸºÔð“³õʼ»¯”ºÍ“ÇåÀíÊÕβ”µÄº¯Êý¶¨Òå´¦µÄ±ä»¯¡£Èç¹ûÄ£¿éÊDZ»±àÒëµ½Äںˣ¬¶ø²»ÊǶ¯Ì¬¼ÓÔØ£¬__init»áʹ³õʼ»¯Íê³Éºó¶ªÆú¸Ãº¯Êý²¢ÊÕ»ØËùÕ¼µÄÄڴ棨__initdataµÄ×÷ÓÃÓë__initÀàËÆ£¬Ö»²»¹ý¶Ô±äÁ¿ÓÐЧ£©£¬__exitÔò½«»áºöÂÔ¸ÃÊÕβº¯Êý¡£
 
9¡¢Èç¹ûÒ»¸öÄ£¿é䶨ÒåÇå³ýº¯Êý£¬ÔòÄں˲»ÔÊÐíÐ¶ÔØ¸ÃÄ£¿é¡£
 
10¡¢#include <linux/sched.h>
    ×îÖØÒªµÄÍ·ÎļþÖ®Ò»¡£°üº¬Çý¶¯³ÌÐòʹÓõĴ󲿷ÖÄÚºËAPIµÄ¶¨Ò壬°üÀ¨Ë¯Ãߺ¯ÊýÒÔ¼°¸÷ÖÖ±äÁ¿ÉùÃ÷¡£
------------------------------------------------------------------------
    struct task_struct *current;µ±Ç°½ø³Ì¡£current->pid¡¢current->comm£ºµ±Ç°½ø³ÌµÄ½ø³ÌIDºÍÃüÁîÃû¡£
------------------------------------------------------------------------
    #include <linux/module.h>
    ±ØÐèµÄÍ·Îļþ£¬±ØÐë°üº¬ÔÚÄ£¿éÔ´´úÂëÖС£
------------------------------------------------------------------------
    #include <linux/moduleparam.h>
    module_pa


Ïà¹ØÎĵµ£º

linuxÇý¶¯¿ª·¢Ñ§Ï°±Ê¼Ç£¨¶þ£©

                scull µÄMakefile
Makefile½Å±¾ÈçÏÂËùʾ¡£
--------------------------------------------------------------------------------
KERNEL_MAKE := -C /home/zhoumin/hi3511/Hi3511_VSSDK_V1.1.2.1/pub/kbuild-LESS_REL
PWD := $(shell pwd ......

ÉîÈëdz³ö LinuxÉ豸Çý¶¯×èÈûÓë·Ç×èÈû (select poll)


×èÈû²Ù×÷ÊÇÖ¸£¬ÔÚÖ´ÐÐÉ豸²Ù×÷ʱ£¬Èô²»ÄÜ»ñµÃ×ÊÔ´£¬Ôò½ø³Ì¹ÒÆðÖ±µ½Âú×ã¿É²Ù×÷µÄÌõ¼þÔÙ½øÐвÙ×÷¡£·Ç×èÈû²Ù×÷µÄ½ø³ÌÔÚ²»ÄܽøÐÐÉ豸²Ù×÷ʱ£¬²¢²»¹ÒÆð¡£±»¹ÒÆðµÄ½ø³Ì½øÈësleep״̬£¬±»´Óµ÷¶ÈÆ÷µÄÔËÐжÓÁÐÒÆ×ߣ¬Ö±µ½µÈ´ýµÄÌõ¼þ±»Âú×ã¡£
ÔÚLinuxÇý¶¯³ÌÐòÖУ¬ÎÒÃÇ¿ÉÒÔʹÓõȴý¶ÓÁУ¨wait queue£©À´ÊµÏÖ×èÈû²Ù×÷¡£wait queueºÜÔ ......

linux:ÍøÂç·þÎñÅäÖÃÖ®—NFSÅäÖùÜÀí

2.1.2 ÓÃNFSʵÏÖ×ÊÔ´¹²Ïí
Ç°Ãæ½²µÄSambaÊÇʵÏÖLinuxÖ÷»úÖ®¼ä¡¢WindowsºÍLinuxÖ®¼äʵÏÖ×ÊÔ´¹²ÏíµÄ;¾¶¡£¶øNFSÊÇʵÏÖLinuxÖ÷»úÖ®¼ä¹²ÏíµÄÁíÒ»ÖÖ;¾¶¡£NFS×îÔçʹÓÃÔÚSun·þÎñÆ÷ÉÏ£¬ÏÖÔÚÒѾ­ÒÆÖ²µ½¸÷ÖÖÀàUNIXϵͳÏÂÁË£¬WindowsÏÂÒ²ÓÐÏàÓ¦µÄ°æ±¾¡£Ïà¶ÔSamba·þÎñ£¬NFS¹²Ïí¾ßÓмòµ¥¿ìËÙµÄÌØµã£¬ËùÒÔĿǰ¹ã·ºÓÃÓÚÀàUNIXÖ÷»úÖ®¼äµÄ×Ê ......

ÔÚLinuxÉϽ»²æ±àÒëpppd 2.4.4

ÔÚLinuxÉϽ»²æ±àÒëpppd 2.4.4
1. ÏÂÔØpppd 2.4.4µÄÔ´´úÂë
ftp://ftp.samba.org/pub/ppp/
2. Ö±½Ó±àÒë
#./configure
#make clean
#make
3. ½»²æ±àÒë
ÐÞ¸Ä./pppd-2.4.4/pppd/Makefile, ×¢ÊÍÁ½ÐУº
#wenxy comment #LIBS    += -lpcap
#wenxy comment #CFLAGS  += -DPPP_FILTER
cross compile ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ