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

¡¶Essential Linux Device Drivers¡·ÖÐÎİæµÚ2ÕÂ

-Ëᦻª£¨Barry Song£©
ÔÚ¿ªÊ¼²½ÈëLinuxÉ豸Çý¶¯³ÌÐòµÄÉñÃØÊÀ½ç֮ǰ£¬ÈÃÎÒÃÇ´ÓÇý¶¯³ÌÐò¿ª·¢ÈËÔ±µÄ½Ç¶È¿´¼¸¸öÄں˹¹³ÉÒªËØ£¬ÊìϤһЩ»ù±¾µÄÄں˸ÅÄî¡£ÎÒÃǽ«Ñ§Ï°Äں˶¨Ê±Æ÷¡¢Í¬²½»úÖÆÒÔ¼°ÄÚ´æ·ÖÅä·½·¨¡£²»¹ý£¬ÎÒÃÇ»¹ÊǵôÓÍ·¿ªÊ¼Õâ´Î̽Ë÷Ö®Âá£Òò´Ë£¬±¾ÕÂÒªÏÈä¯ÀÀÒ»ÏÂÄں˷¢³öµÄÆô¶¯ÐÅÏ¢£¬È»ºóÔÙÖð¸ö½²½âһЩÓÐÒâ˼µÄµã¡£
2.1 Æô¶¯¹ý³Ì
ͼ2-1ÏÔʾÁË»ùÓÚx86¼ÆËã»úLinuxϵͳµÄÆô¶¯Ë³Ðò¡£µÚÒ»²½ÊÇBIOS´ÓÆô¶¯É豸Öе¼ÈëÖ÷Òýµ¼¼Ç¼£¨MBR£©£¬½ÓÏÂÀ´MBRÖеĴúÂë²é¿´·ÖÇø±í²¢´Ó»î¶¯·ÖÇø¶ÁÈ¡GRUB¡¢LILO»òSYSLINUXµÈÒýµ¼×°Èë³ÌÐò£¨Bootloader£©£¬Ö®ºóÒýµ¼×°Èë³ÌÐò»á¼ÓÔØÑ¹ËõºóµÄÄÚºËÓ³Ïñ²¢½«¿ØÖÆÈ¨´«µÝ¸øËü¡£ÄÚºËÈ¡µÃ¿ØÖÆÈ¨ºó£¬»á½«×ÔÉí½âѹËõ²¢Í¶ÈëÔËת¡£
»ùÓÚx86µÄ´¦ÀíÆ÷ÓÐÁ½ÖÖ²Ù×÷ģʽ£ºÊµÄ£Ê½ºÍ±£»¤Ä£Ê½¡£ÔÚʵģʽÏ£¬Óû§½ö¿ÉÒÔʹÓÃ1 MBÄڴ棬²¢ÇÒûÓÐÈκα£»¤¡£±£»¤Ä£Ê½Òª¸´Ôӵö࣬Óû§¿ÉÒÔʹÓøü¶àµÄ¸ß¼¶¹¦ÄÜ£¨Èç·ÖÒ³£©¡£CPU±ØÐëÖÐ;½«ÊµÄ£Ê½Çл»Îª±£»¤Ä£Ê½¡£µ«ÊÇ£¬ÕâÖÖÇл»Êǵ¥ÏòµÄ£¬¼´²»ÄÜ´Ó±£»¤Ä£Ê½ÔÙÇл»»ØÊµÄ£Ê½¡£
Äں˳õʼ»¯µÄµÚÒ»²½ÊÇÖ´ÐÐʵģʽϵĻã±à´úÂ룬֮ºóÖ´Ðб£»¤Ä£Ê½ÏÂinit/main.cÎļþ£¨ÉÏÒ»ÕÂÐ޸ĵÄÔ´Îļþ£©ÖеÄstart_kernel()º¯Êý¡£start_kernel()º¯ÊýÊ×ÏÈ»á³õʼ»¯CPU×Óϵͳ£¬Ö®ºóÈÃÄÚ´æºÍ½ø³Ì¹ÜÀíϵͳ¾Í룬½ÓÏÂÀ´Æô¶¯Íⲿ×ÜÏߺÍI/OÉ豸£¬×îºóÒ»²½ÊǼ¤»îinit½ø³Ì£¬ËüÊÇËùÓÐLinux½ø³ÌµÄ¸¸½ø³Ì¡£init½ø³ÌÖ´ÐÐÆô¶¯±ØÒªµÄÄں˷þÎñµÄÓû§¿Õ¼ä½Å±¾£¬²¢ÇÒ×îÖÕÅÉÉú¿ØÖÆÌ¨Öն˳ÌÐòÒÔ¼°ÏÔʾµÇ¼£¨login£©Ìáʾ¡£

x86±£»¤Ä£Ê½

arch/x86/boot/pm.c

x86ʵģʽ

Óû§½ø³ÌºÍÊØ»¤³ÌÐò

init½ø³Ì

±£»¤Ä£Ê½ÄÚºË

ʵģʽÄÚºË

Òýµ¼×°Èë³ÌÐò£¨GRUB/LILO/…£©

BIOS

Éϵç
ͼ2-1 »ùÓÚx86Ó²¼þÉϵÄLinuxµÄÆô¶¯¹ý³Ì
±¾½ÚÄÚµÄ3¼¶±êÌâ¶¼ÊÇͼ2-2ÖеÄÒ»Ìõ´òÓ¡ÐÅÏ¢£¬ÕâЩÐÅÏ¢À´Ô´ÓÚ»ùÓÚx86µÄ±Ê¼Ç±¾µçÄÔµÄLinuxÆô¶¯¹ý³Ì¡£Èç¹ûÔÚÆäËûÌåϵ¼Ü¹¹ÉÏÆô¶¯Äںˣ¬ÏûÏ¢ÒÔ¼°ÓïÒå¿ÉÄÜ»áÓÐËù²»Í¬¡£Èç¹û¸Ð¾õ±¾½ÚÖеÄһЩÄÚÈݷdz£»Þɬ£¬Çë²»Òªµ£ÐÄ¡£µ±Ç°µÄÄ¿µÄ½öÊÇÈÃÄãÓÐÒ»¸ö´ó¸ÅµÄÓ¡Ïó£¬ÈÃÄãÏÈÆ·³¢ÄÚºËÌðµãµÄζµÀ¡£½ÓÏÂÀ´ÒªÌáµ½µÄÐí¶à¸ÅÄî¶¼»áÔÚÒÔºóµÄÕ½ÚÖнøÐиüÉîÈëµÄÂÛÊö¡£
2.1.1 BIOS-provided physical RAM map
Äں˻á½âÎö´ÓBIOSÖжÁÈ¡µ½µÄϵͳÄÚ´æÓ³É䣬²¢ÂÊÏȽ«ÒÔÏÂÐÅÏ¢´òÓ¡³öÀ´£º
BIOS-provided physical RA


Ïà¹ØÎĵµ£º

linux LVMÅäÖÃ

LVMÊÇLogical Volume Manager(Âß¼­¾í¹ÜÀíÆ÷)µÄ¼òд£¬ËüΪÖ÷»úÌṩÁ˸ü¸ß²ã´ÎµÄ´ÅÅÌ´æ´¢¹ÜÀíÄÜÁ¦¡£LVM¿ÉÒÔ°ïÖúϵͳ¹ÜÀíԱΪӦÓÃÓëÓû§·½±ãµØ·ÖÅä´æ´¢¿Õ¼ä¡£ÔÚLVM¹ÜÀíϵÄÂß¼­¾í¿ÉÒÔ°´Ðè¸Ä±ä´óС»òÌí¼ÓÒÆ³ý¡£ÁíÍ⣬LVM¿ÉÒÔΪËù¹ÜÀíµÄÂß¼­¾íÌṩ¶¨ÖƵÄÃüÃû±êʶ¡£Òò´Ë£¬Ê¹ÓÃLVMÖ÷ÒªÊÇ·½±ãÁ˶Դ洢ϵͳµÄ¹ÜÀí£¬Ôö¼ÓÁËϵͳµÄÀ©Õ¹Ð ......

ʹÓÃGDBµ÷ÊÔǶÈëʽLinuxÉ豸

²½Ö裺
Ò»¡£ÊìϤÔÚÆÕͨµçÄÔÉÏÓÃ
GDBµ÷ÊԵĻù±¾·½Ê½¡£²Î¼û£º
http://www.ibm.com/developerworks/linux/library/l-gdb/
¶þ¡£ÏÂÔØ¡¶
gdb
quick reference¡·£¬
2ÕÅÖ½£¬´òÓ¡³öÀ´·ÅÔÚÊֱ߱¸Óá£
Èý¡£ÈÃǶÈëʽϵͳ֧³Ö
gdbserver.
£¨ÔÚ
openwrtÉÏ£¬¼´ÔÚ
make
menuconfigʱѡÔñ±àÒë
gdbserver£©
ËÄ¡£½øÐе÷ÊÔ
&nbs ......

LinuxÏÂjava»·¾³±äÁ¿ÉèÖ÷½·¨

תÌù£º
ÏÖÔÚÓÃlinuxµÄÅóÓÑÔ½À´Ô½¶àÁË£¬Ç°¼¸Ìì¾ÍÓÐÁ½¸öÅóÓÑÎÊÎÒlinuxÏÂÔõôÅäÖÃjava»·¾³£¬ÎÒÏ뻹ÓкܶàÅóÓÑÏëÁ˽âѧϰÕâ·½ÃæµÄ¶«Î÷£¬¾Íдһ¸öÍêȫһµãµÄlinux java»·¾³ÅäÖðɣ¬Ï£Íû¶Ô´ó¼ÒÓаïÖú¡£
Ò». ÏÂÔØjdk5.0 for linux
¡¡¡¡µ½sunµÄÖ÷Ò³ http://java.sun.com/j2se/1.5.0/download.jsp ÏÂÔØjdk°²×°Îļþjdk-1_5_0_05-li ......

linux as4 °²×°Íø¿¨Çý¶¯ 82567LM

ÓÉÓÚµÚÒ»½Ó´¥linuxϵͳµÄ°²×°£¬°²×°¹ý³ÌÌØ±ðÓôÃÆ¡£ÏÖÔڵĻúÆ÷¶¼ÊǼ¯³ÉÍø¿¨£¬µ¼ÖÂlinux·þÎñÆ÷°æ¶¼ÎÞ·¨Ê¶±ð¡£ÒªÎÒÃÇ×Ô¼ºÊÖ¶¯¸üÐÂÇý¶¯¡£
ÎÒ×°µÄ»úÆ÷Íø¿¨ÐͺÅÊÇ82567LM-3 £¬Õâ¸öÇý¶¯³ÌÐò¿ÉÒÔ´Óintel¹ÙÍøÉÏÏÂÔØ£¬°æ±¾ÄÚºËÊÇ2.6µÄ¡£
http://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProductFamily=Ethernet+Co ......

¡¶Essential Linux Device Drivers¡·ÖÐÎİæµÚ1ÕÂ




-Ëᦻª(Barry Song)
Linux¾ßÓÐÓÕÈ˵Ä÷ÈÁ¦£¬ËüÊÇÒ»¸öÓÉÈ«ÊÀ½ç²»Í¬Ãñ×å¡¢²»Í¬ÐÅÑö¡¢²»Í¬ÐÔ±ðµÄÈ˹²Í¬²ÎÓëºÍЭ×÷µÄ¹ú¼ÊÐÔÏîÄ¿¡£LinuxÃâ·ÑÌṩԴ´úÂ룬²¢ÇÒ¾ßÓÐÓëUnixÀàËÆµÄΪÈËÃÇËùÊìϤµÄÓ¦ÓóÌÐò±à³Ì»·¾³£¬ÕâÒ»ÇÐÔì¾ÍÁËËü½ñÌìµÄ¾Þ´ó³É¹¦¡£Í¨¹ý»¥ÁªÍø´Óר¼Ò´¦¼´Ê±»ñµÃµÄ¸ßÖÊÁ¿µÄÃâ·ÑÖ§³ÖÒ²·¢»ÓÁËÖØÒª× ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ