¡¶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
Ïà¹ØÎĵµ£º
LVMÊÇLogical Volume Manager(Âß¼¾í¹ÜÀíÆ÷)µÄ¼òд£¬ËüΪÖ÷»úÌṩÁ˸ü¸ß²ã´ÎµÄ´ÅÅÌ´æ´¢¹ÜÀíÄÜÁ¦¡£LVM¿ÉÒÔ°ïÖúϵͳ¹ÜÀíԱΪӦÓÃÓëÓû§·½±ãµØ·ÖÅä´æ´¢¿Õ¼ä¡£ÔÚLVM¹ÜÀíϵÄÂß¼¾í¿ÉÒÔ°´Ðè¸Ä±ä´óС»òÌí¼ÓÒƳý¡£ÁíÍ⣬LVM¿ÉÒÔΪËù¹ÜÀíµÄÂß¼¾íÌṩ¶¨ÖƵÄÃüÃû±êʶ¡£Òò´Ë£¬Ê¹ÓÃLVMÖ÷ÒªÊÇ·½±ãÁ˶Դ洢ϵͳµÄ¹ÜÀí£¬Ôö¼ÓÁËϵͳµÄÀ©Õ¹Ð ......
ÔÚlinuxÉÏ°²×°oracleÊÇÒ»¼þ¸´ÔÓµÄÊÂÇ飬ÓÈÆä¶ÔÓÚÒ»¸öÉúÊÖÀ´Ëµ£¬ËüµÄ¸´Ôӳ̶ÈÔ¶³¬¹ýÁËlinux²Ù×÷ϵͳµÄ°²×°£¬ÒòΪ²»ÏñwindowsÄÇÑù¿ÉÒÔÖ±½Óµã»÷sertup.exe¾ÍokÁË£¬ÔÚ°²×°Ö®Ç°ÄãÒªÅäÖû·¾³±äÁ¿£¬ÐÞ¸ÄÈô¸É¸öϵͳÎļþ£¬²¢ÇÒÕâЩ²ÎÊý¿ÉÄܸù¾ÝÄãlinux°æ±¾µÄ²»Í¬¶øÓÐËù²»Í¬£¬Èç¹ûÅäÖò»ÕýÈ·£¬¿ÉÄܵ¼ÖÂ×îÖյݲװʧ°Ü£¬ÆäËü»¹ÓÐÄãµÄÄ¿ ......
Centos redhat ,oracle10g,oracle11g¾ùÊÊÓÃ
1. ±àд½Å±¾£º
# vi startoracle.sh
#11gµÄ»°Ö»ÊÇÕâ¸öĿ¼ÓÐËùÇø±ð
ORACLE_HOME=/home/oracle/product/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=orcl;export ORACLE_SID #ÕâÀïÅäÉÏÄãµÄ±¾µØʾÀýÃû
&nbs ......
×î½üÔÚµ÷ÊÔlinuxСϵͳ£¬ÏëÈÃСϵͳ֧³ÖÖÐÎÄ£¬¾¹ý¼¸ÌìµÄµ÷ÊÔ£¬Õâ¸öÎÊÌâÖÕÓÚµÃÒÔ½â¾ö£¬ÏÂÃæ×ܽáÒ»ÏÂÓöµ½µÄÎÊÌâºÍ½â¾ö°ì·¨¡£
ÔÚconsoleÏÂÃæÖ§³ÖÖÐÎÄÎÒÑ¡ÔñµÄÊDzÉÓÃÍâ¹Òʽƽ̨µÄ°ì·¨£¬²¢²»ÕæÕýºº»¯Äںˣ¬ÒòΪµ£Ðĺº»¯Äں˻áÓнϴóµÄ·çÏÕ£¬ËùÒÔÑ¡ÓÃÍâ¹ÒµÄ·½Ê½¡£²ÉÓÃÍâ¹ÒµÄ·½Ê½±ØÐëµÃ×¼ ......
¡¡ÒÔroot Éí·ÝµÇ½Linux ·þÎñÆ÷£¬±à¼/etc Ŀ¼ÏµĹ²ÏíĿ¼ÅäÖÃÎļþexports£¬Ö¸¶¨¹²ÏíĿ¼¼°È¨Ï޵ȡ£
¡¡
¡¡Ö´ÐÐÈçÏÂÃüÁî±à¼Îļþ/etc/exports£º
¡¡¡¡# vi /etc/exports
¡¡¡¡ÔÚ¸ÃÎļþÀïÌí¼ÓÈçÏÂ
ÄÚÈÝ£º
¡¡¡¡/home/work 192.168.0.*£¨rw,sync,no_root_squash£©
¡¡¡¡È»
ºó±£´æÍ˳ö¡£
¡¡¡¡Ìí¼ÓµÄÄÚÈݱíʾ£ºÔÊÐí ......