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

¹ØÓÚlinuxÏÂÁ½ÖÖÄÚ´æÒýµ¼Ä£Ê½µÄÇø±ð


¹ØÓÚlinuxÏÂÁ½ÖÖÄÚ´æÒýµ¼Ä£Ê½µÄÇø±ð
Linux µÄ initrd ¼¼ÊõÊÇÒ»¸ö·Ç³£ÆÕ±éʹÓõĻúÖÆ£¬linux2.6 ÄÚºËµÄ initrd µÄÎļþ¸ñʽÓÉÔ­À´µÄÎļþϵͳ¾µÏñÎļþת±ä³ÉÁË cpio ¸ñʽ£¬±ä»¯²»½ö·´Ó³ÔÚÎļþ¸ñʽÉÏ£¬ linux Äں˶ÔÕâÁ½ÖÖ¸ñʽµÄ initrd µÄ´¦ÀíÓÐ׎ØÈ»µÄ²»Í¬¡£

initrd µÄÓ¢Îĺ¬ÒåÊÇ boot loader initialized RAM disk£¬¾ÍÊÇÓÉ boot loader ³õʼ»¯µÄÄÚ´æÅÌ¡£ÔÚ linuxÄÚºËÆô¶¯Ç°£¬ boot loader »á½«´æ´¢½éÖÊÖÐµÄ initrd Îļþ¼ÓÔØµ½Äڴ棬ÄÚºËÆô¶¯Ê±»áÔÚ·ÃÎÊÕæÕýµÄ¸ùÎļþϵͳǰÏÈ·ÃÎʸÃÄÚ´æÖÐµÄ initrd Îļþϵͳ¡£ÔÚ boot loader ÅäÖÃÁË initrd µÄÇé¿öÏ£¬ÄÚºËÆô¶¯±»·Ö³ÉÁËÁ½¸ö½×¶Î£¬µÚÒ»½×¶ÎÏÈÖ´ÐÐ initrd ÎļþϵͳÖеÄ"ij¸öÎļþ"£¬Íê³É¼ÓÔØÇý¶¯
Ä£¿éµÈÈÎÎñ£¬µÚ¶þ½×¶Î²Å»áÖ´ÐÐÕæÕýµÄ¸ùÎļþϵͳÖÐµÄ /sbin/init ½ø³Ì¡£ÕâÀïÌáµ½µÄ"ij¸öÎļþ"£¬Linux2.6 Äں˻áͬÒÔǰ°æ±¾Äں˵IJ»Í¬£¬ËùÒÔÕâÀïÔÝʱʹÓÃÁË"ij¸öÎļþ"Õâ¸ö³Æºô£¬ºóÃæ»áÏêϸ½²µ½¡£µÚÒ»½×¶ÎÆô¶¯µÄÄ¿µÄÊÇΪµÚ¶þ½×¶ÎµÄÆô¶¯É¨ÇåÒ»ÇÐÕϰ®£¬×îÖ÷ÒªµÄÊǼÓÔØ¸ùÎļþϵͳ´æ´¢½éÖʵÄÇý¶¯Ä£¿é¡£ÎÒÃÇÖªµÀ¸ùÎļþϵͳ¿ÉÒÔ´æ´¢ÔÚ°üÀ¨IDE¡¢SCSI¡¢USBÔÚÄڵĶàÖÖ½éÖÊÉÏ£¬Èç¹û½«ÕâЩÉ豸µÄÇý¶¯¶¼±àÒë½øÄںˣ¬¿ÉÒÔÏëÏóÄں˻á¶àôÅÓ´ó¡¢Ó·Öס£

2£®Linux2.4ÄÚºË¶Ô Initrd µÄ´¦ÀíÁ÷³Ì

ΪÁËʹ¶ÁÕßÇåÎúµÄÁ˽âLinux2.6ÄÚºËinitrd»úÖÆµÄ±ä»¯£¬ÔÚÖØµã½éÉÜLinux2.6ÄÚºËinitrd֮ǰ£¬ÏȶÔlinux2.4Äں˵Äinitrd½øÐÐÒ»¸ö¼òµ¥µÄ½éÉÜ¡£Linux2.4Äں˵ÄinitrdµÄ¸ñʽÊÇÎļþϵͳ¾µÏñÎļþ£¬±¾ÎĽ«Æä³ÆÎªp_w_picpath-initrd£¬ÒÔÇø±ðºóÃæ½éÉܵÄlinux2.6Äں˵Äcpio¸ñʽµÄinitrd¡£ linux2.4Äں˶ÔinitrdµÄ´¦ÀíÁ÷³ÌÈçÏ£º

1. boot loader°ÑÄÚºËÒÔ¼°/dev/initrdµÄÄÚÈݼÓÔØµ½Äڴ棬/dev/initrdÊÇÓÉboot loader³õʼ»¯µÄÉ豸£¬´æ´¢×Åinitrd¡£

2. ÔÚÄں˳õʼ»¯¹ý³ÌÖУ¬ÄÚºË°Ñ /dev/initrd É豸µÄÄÚÈݽâѹËõ²¢¿½±´µ½ /dev/ram0 É豸ÉÏ¡£

3. ÄÚºËÒԿɶÁдµÄ·½Ê½°Ñ /dev/ram0 É豸¹ÒÔØÎªÔ­Ê¼µÄ¸ùÎļþϵͳ¡£

4. Èç¹û /dev/ram0 ±»Ö¸¶¨ÎªÕæÕýµÄ¸ùÎļþϵͳ£¬ÄÇôÄÚºËÌøÖÁ×îºóÒ»²½Õý³£Æô¶¯¡£

5. Ö´ÐÐ initrd É쵀 /linuxrc Îļþ£¬linuxrc ͨ³£ÊÇÒ»¸ö½Å±¾Îļþ£¬¸ºÔð¼ÓÔØÄں˷ÃÎʸùÎļþϵͳ±ØÐëµÄÇý¶¯£¬ ÒÔ¼°¼ÓÔØ¸ùÎļþϵͳ¡£


Ïà¹ØÎĵµ£º

Linux PCIÇý¶¯µÄ±àд


×÷Õߣº²ÜÖÒÃ÷,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦¡£
PCIÊÇÍâΧÉ豸»¥ÁªµÄ¼ò³Æ(Peripheral Component Interconnect)µÄ¼ò³Æ£¬×÷ΪһÖÖͨÓõÄ×ÜÏß½Ó¿Ú±ê×¼£¬ËûÔÚ¼ÆËã»úϵͳÖеõ½Á˹㷺µÄʹÓá£PCIµÄËÙ¶ÈÄܹ»´ïµ½132M/s¡£ÔÚÕâÀï¼òµ¥µÄ½éÉÜһϠlinux ÏÂPCIÇý¶¯µÄʵÏÖ¡£
ÔÚ±àдһ¸öPCIÇý¶¯µÄʱºòÎÒÃÇÏȵÃÈ·¶¨ÏµÍ³ÖÐÊÇ·ñÓÐÎÒÃǵÄÉ豸¡£Î ......

LINUX쵀./configure make make install

ÕâЩ¶¼ÊǵäÐ͵ÄʹÓÃGNUµÄAUTOCONFºÍAUTOMAKE²úÉúµÄ³ÌÐòµÄ°²×°²½Öè¡£
./configureÊÇÓÃÀ´¼ì²âÄãµÄ°²×°Æ½Ì¨µÄÄ¿±êÌØÕ÷µÄ¡£±ÈÈçËü»á¼ì²âÄãÊDz»ÊÇÓÐCC»òGCC£¬²¢²»ÊÇÐèÒªCC»òGCC£¬ËüÊǸöshell½Å±¾
makeÊÇÓÃÀ´±àÒëµÄ£¬Ëü´ÓMakefileÖжÁȡָÁȻºó±àÒë¡£
make installÊÇÓÃÀ´°²×°µÄ£¬ËüÒ²´ÓMakefileÖжÁȡָÁ°²×°µ½Ö¸¶¨µÄÎ»Ö ......

×ªÔØ linux 2.6Ï̴߳´½¨Ô´Âë·ÖÎö


linux 2.6Ï̴߳´½¨Ô´Âë·ÖÎö
 
 
 ÉÏÕ½²µ½Ị̈߳¬ÏÖÔÚ¶ÔÏ̴߳´½¨µÄ´úÂëÁ÷³Ì·ÖÎöÏ¡£À´Ò»²½Ò»²½½Ò¿ªËýÉñÃØµÄÃæÉ´
 
 linuxÄں˴´½¨Ï̺߳¯Êý kernel_thread()£¬×îÖÕ»áµ÷ÓÃdo_fork().
 Ç°ÃæÌ¸µ½Ïß³ÌÒ²ÊÇÓÃtask_struct½á¹¹±íʾËüÓµÓеÄÐÅÏ¢£¬Ö»ÊÇÊǹ²Ïí½ø³ÌµÄ×ÊÔ´¡£
 ¸ù¾Ýclone_fla ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ