linux module Makefile
²»ÖªµÀÔÚʲçÛʱºò£¬×ªÔØLinux ³öÏÖÁË module ÕâÖÖ¶«Î÷£¬µÄÈ·£¬ËüÊÇ Linux µÄÒ»´ó¸ïС£ÓÐÁË module Ö®ºó£¬Ð´
device driver ²»ÔÙÊÇÒ»Ïî¶ñÃΣ¬ÐÞ¸Ä kernel Ò²²»ÔÙÊÇÒ»¼þÍ´¿àµÄÊÂÁË¡£ÒòΪÄã²»ÐèҪÿ´ÎÒª²âÊÔ driver ¾ÍÖØÐÂ
compile kernel Ò»´Î¡£ÄǼòÖ±ÊÇ»áÀÛËÀÈË¡£Module ¿ÉÒÔÔÊÐíÎÒÃǶ¯Ì¬µÄ¸Ä±ä kernel£¬¼ÓÔØ device
driver£¬¶øÇÒËüÒ²ÄÜËõ¶ÌÎÒÃÇ driver development µÄʱ¼ä¡£ÔÚÕâÆªÎÄÕÂÀÎÒ½«Òª¸ú¸÷λ½éÉÜһϠmodule
µÄÔÀí£¬ÒÔ¼°ÈçºÎдһ¸ö module¡£
module ·Òë³ÉÖÐÎľÍÊÇÄ£¿é£¬²»¹ý£¬ÊÂʵÉÏÈ¥·ÒëÕâ¸ö×ÖÒ»µã¶¼Ã»ÒâÒå¡£ÔÚ½²Ä£¿é֮ǰ£¬ÎÒÏȾÙÒ»¸öÀý×Ó¡£ÏàÐźܶàÈ˶¼Óùý RedHat¡£ÔÚ
RedHat ÀÎÒÃÇ¿ÉÒÔÖ´ÐÐ sndconfig£¬Ëü¿ÉÒÔ°ïÎÒÃÇ config Éù¿¨¡£config
ÍêÖ®ºóÈç¹û×½µÃµ½ÄãµÄÉù¿¨£¬ÄÇÄãµÄÉù¿¨ÂíÉϾͿÉÒÔ¶¯ÁË£¬¶øÇÒ»¹²»ÓÃÖØÐ¼¤»î¼ÆËã»ú¡£ÕâÊÇÔõçÛ×öµÄÄØ ? ¾ÍÊÇ¿¿module¡£module
ÆäʵÊÇÒ»°ãµÄ³ÌÐò¡£µ«ÊÇËü¿ÉÒÔ±»¶¯Ì¬Ôص½ kernel Àï³ÉΪ kernelµÄÒ»²¿·Ö¡£Ôص½ kernel ÀïµÄ module Ëü¾ßÓиú
kernel Ò»ÑùµÄȨÁ¦¡£¿ÉÒÔ access ÈκΠkernel µÄ data structure¡£ÄãÌý¹ý kdebug Âð ? ËüÊÇÓÃÀ´
debug kernel µÄ¡£Ëü¾ÍÊÇÏȽ«Ëü±¾ÉíµÄÒ»¸ö module ÔØµ½ kernel À¶øÔÚ user space µÄ gdb
¾Í¿ÉÒÔ¾ÓɸúÕâ¸ö module ¹µÍ¨£¬µÃÖª kernel ÀïµÄ data structure µÄÖµ£¬³ý´ËÖ®Í⣬»¹¿ÉÒÔ¾ÓÉÔØµ½ kernel µÄ
module È¥¸ü¸Ä kernel Àï data structure¡£
ÎÒÃÇÖªµÀ£¬ÔÚд C ³ÌÐòµÄʱºò£¬Ò»¸ö³ÌÐòÖ»ÄÜÓÐÒ»¸ö main¡£Kernel ±¾ÉíÆäʵҲÊÇÒ»¸ö³ÌÐò£¬Ëü±¾ÉíÒ²Óиö main£¬½Ð
start_kernel()¡£µ±ÎÒÃǰÑÒ»¸ö module ÔØµ½ kernel ÀïµÄʱºò£¬Ëü»á¸ú kernel ÕûºÏÔÚÒ»Æð£¬³ÉΪ kernel
µÄÒ»²¿·Ö¡£Çë¸÷λÏëÏ룬ÄÇ module ¿ÉÒÔÓÐ main Âð ? ´ð°¸ºÜÃ÷ÏԵģ¬ÊÇ No¡£ÀíÓɺܼòµ¥¡£Ò»¸ö³ÌÐòÖ»ÄÜÓÐÒ»¸ö main¡£ÔÚʹÓÃ
module ʱ£¬ÓÐÒ»µãÒª¼ÇסµÄÊÇ module ÊÇ´¦ÓÚ±»¶¯µÄ½ÇÉ«¡£ËüÊÇÌṩijЩ¹¦ÄÜÈñðÈËȥʹÓõġ£
Kernel ÀïÓÐÒ»¸ö±äÁ¿½Ð module_list£¬Ã¿µ± user ½«Ò»¸ö module ÔØµ½ kernel ÀïµÄʱºò£¬Õâ¸ö module
¾Í»á±»¼Ç¼ÔÚ module_list ÀïÃæ¡£µ± kernel ҪʹÓõ½Õâ¸ö module ÌṩµÄ function ʱ£¬Ëü¾Í»áÈ¥ search
Õâ¸ö list£¬ÕÒµ½ module£¬È»ºóÔÙʹÓÃÆäÌṩµÄ function »ò variable¡£Ã¿Ò»¸ö module ¶¼¿ÉÒÔ export
һЩ function »ò±äÁ¿À´ÈñðÈËʹÓᣳý´ËÖ®Í⣬module Ò²¿ÉÒÔʹÓÃÒÑ¾ÔØµ½ kernel ÀïµÄ module ÌṩµÄ
function¡£ÕâÖÖÇéÐνÐ×ö module stack¡£±È·½Ëµ£¬mod
Ïà¹ØÎĵµ£º
µ±ÎÒÃÇÔÚVmware»òÕ߯äËûÐéÄâ»úÖа²×°Linuxºó£¬ÏëÔÚX
WindowsÓëÐéÄâÖÕ¶ËÖ®¼äÇл»Ê±£¬È´·¢ÏÖCtrl+Alt+Fx²»Æð×÷Óã¬ÄÇôÎÒÃÇÈçºÎ½â¾öÕâ¸öÎÊÌâÄØ£¿Æäʵ·½·¨ºÜ¼òµ¥£¬ÎÒÃÇÖ»ÐèÒª½«Vmware»ò
Õ߯äËûÐéÄâ»úÈí¼þµÄÈȼü¸Ä³ÉCtrl+Alt+Shift¼´¿É£¬ÈçVmware¾ßÌå·½·¨ÈçÏ£ºÖÐÎİ旗ѡÔñ±à¼—&mdash ......
vmlinux ±àÒë³öÀ´µÄ×îÔʼµÄÄÚºËÎļþ£¬Î´Ñ¹Ëõ¡£
zImage ÊÇvmlinux¾¹ýgzipѹËõºóµÄÎļþ¡£
bzImage bz±íʾ“big zImage”£¬²»ÊÇÓÃbzip2ѹËõµÄ¡£Á½ÕߵIJ»Í¬Ö®´¦ÔÚÓÚ£¬zImage½âѹËõÄں˵½µÍ¶ËÄÚ´æ(µÚÒ»¸ö640K)£¬bzImage½âѹËõÄں˵½¸ß¶ËÄÚ´æ(1MÒÔÉÏ)¡£Èç¹ûÄں˱ȽÏС£¬ÄÇô²ÉÓÃzImage»òbzI ......
ËùÓеÄÄں˴úÂ룬»ù±¾¶¼°üº¬ÁËlinux\compile.hÕâ¸öÎļþ£¬ËùÒÔËüÊÇ»ù´¡£¬´òËãÏÈ·ÖÎöÕâ¸öÎļþÀïµÄ´úÂë¿´¿´£¬ÓпÕÔÙ·ÖÎö·ÖÎöÆäËüµÄ´úÂë¡£
Ê×ÏÈÓ¡ÈëÑÛÁ±µÄÊǶÔ__ASSEMBLY__Õâ¸öºêµÄÅжϣ¬Õâ¸ö±äÁ¿Êµ¼ÊÊÇÔÚ±àÒë»ã±à´úÂëµÄʱºò£¬ÓɱàÒëÆ÷ʹÓÃ-DÕâÑùµÄ²ÎÊý¼Ó½øÈ¥ µÄ£¬AFLAGSÕâ¸ö±äÁ¿Ò²¶¨ÒåÁËÕâ¸ö±äÁ¿£¬gcc»á°ÑÕâ¸öºê¶¨ÒåΪ1¡£ÓÃÔÚ ......
Linux²Ù×÷ÏµÍ³ÍøÂç±à³Ì--ÔʼÌ×½Ó×Ö £¨1£©
http://soft.zdnet.com.cn/software_zone/2007/1020/568223.shtml
ÎÒÃÇÔÚÇ°ÃæÒѾѧϰ¹ýÁËÍøÂç³ÌÐòµÄÁ½ÖÖÌ×½Ó×Ö(SOCK_STREAM,SOCK_DRAGM).ÔÚÕâÒ»Õ ÀïÃæÎÒÃÇÒ»ÆðÀ´Ñ§Ï°ÁíÍâÒ»ÖÖÌ×½Ó×Ö--ÔʼÌ×½Ó×Ö(SOCK_RAW)¡£Ó¦ÓÃÔʼÌ×½Ó×Ö,ÎÒÃÇ¿ÉÒÔ±àд³öÓÉTCPºÍUDPÌ×½Ó×Ö²»Äܹ»ÊµÏֵŦÄÜ. × ......
¾¹ýÉÏÊöµÄ¼¸¸ö²½Öè¡£µÚÒ»¸öÄ¿±ê£¬´úÂëÄܹ»±àÒëͨ¹ý»ù±¾ÉÏÊDz»»áÓÐʲôÎÊÌâµÄ¡£Ö»Òª°ÑÎպöþ¸öÐ޸ĴúÂëµÄ»ù±¾ÔÔò£¬µÚÒ»¡£ÒýÈëеĴúÂ룬¶ø²»ÐÞ¸ÄÔÓеĴúÂë¡£ÔÚûÓа취½øÐе÷ÊÔǰÐÞ¸ÄÔ´´úÂëÊDz»ÔÊÐíµÄ£¬Ð޸ĵIJ»ºÃ¾Í»áÒýÆð×îºó´úÂëÔËÐÐÂß¼µÄ»ìÂÒ£¬¶øÇÒÔÚ´úÂëÄܹ»ÔËÐÐ֮ǰÊǺÜÄÑ·¢ÏÖÎÊÌâµÄ¡£ËùÒÔ³ý·Ç·Ç³£ÓаÑÎÕ£¬·ñÔò²»Òª ......