ÅäÖÃlinuxÄÚºËdzÎö
Ëæ×Å Linux ²Ù×÷ϵͳµÄ¹ã·ºÓ¦Óã¬ÌرðÊÇ Linux ÔÚǶÈëʽÁìÓòµÄ·¢Õ¹£¬Ô½À´Ô½¶àµÄÈË¿ªÊ¼Í¶Éíµ½ Linux Äں˼¶µÄ¿ª·¢ÖС£Ãæ¶ÔÈÕÒæÅÓ´óµÄ Linux ÄÚºËÔ´´úÂ룬¿ª·¢ÕßÔÚÍê³É×Ô¼ºµÄÄں˴úÂëºó£¬¶¼½«ÃæÁÙ×ÅͬÑùµÄÎÊÌ⣬¼´ÈçºÎ½«Ô´´úÂëÈÚÈëµ½ Linux ÄÚºËÖУ¬Ôö¼ÓÏàÓ¦µÄ Linux ÅäÖÃÑ¡Ï²¢×îÖÕ±»±àÒë½ø Linux Äںˡ£Õâ¾ÍÐèÒªÁ˽â Linux µÄÄÚºËÅäÖÃϵͳ¡£
ÖÚËùÖÜÖª£¬Linux ÄÚºËÊÇÓÉ·Ö²¼ÔÚÈ«ÇòµÄ Linux °®ºÃÕß¹²Í¬¿ª·¢µÄ£¬Linux ÄÚºËÿÌ춼ÃæÁÙ×ÅÐí¶àеı仯¡£µ«ÊÇ£¬Linux Äں˵Ä×éÖ¯²¢Ã»ÓгöÏÖ»ìÂÒµÄÏÖÏ󣬷´¶øÏԵ÷dz£µÄ¼ò½à£¬¶øÇÒ¾ßÓкܺõÄÀ©Õ¹ÐÔ£¬¿ª·¢ÈËÔ±¿ÉÒԺܷ½±ãµÄÏò Linux ÄÚºËÖÐÔö¼ÓеÄÄÚÈÝ¡£ÔÒòÖ®Ò»¾ÍÊÇ Linux ²ÉÓÃÁËÄ£¿é»¯µÄÄÚºËÅäÖÃϵͳ£¬´Ó¶ø±£Ö¤ÁËÄں˵ÄÀ©Õ¹ÐÔ¡£
±¾ÎÄÊ×ÏÈ·ÖÎöÁË Linux ÄÚºËÖеÄÅäÖÃϵͳ½á¹¹£¬È»ºó£¬½âÊÍÁË Makefile ºÍÅäÖÃÎļþµÄ¸ñʽÒÔ¼°ÅäÖÃÓï¾äµÄº¬Ò壬×îºó£¬Í¨¹ýÒ»¸ö¼òµ¥µÄÀý×Ó--TEST Driver£¬¾ßÌå˵Ã÷ÈçºÎ½«×ÔÐпª·¢µÄ´úÂë¼ÓÈëµ½ Linux ÄÚºËÖС£ÔÚÏÂÃæµÄÎÄÕÂÖУ¬²»¿ÉÄܽâÊÍËùÓеŦÄܺÍÃüÁֻ¶ÔÄÇЩ³£ÓõĽøÐнâÊÍ£¬ÖÁÓÚÄÇЩûÓÐÌÖÂÛµ½µÄ£¬Çë¶ÁÕ߲ο¼ºóÃæµÄ²Î¿¼ÎÄÏס£
1£® ÅäÖÃϵͳµÄ»ù±¾½á¹¹
LinuxÄں˵ÄÅäÖÃϵͳÓÉÈý¸ö²¿·Ö×é³É£¬·Ö±ðÊÇ£º
Makefile£º·Ö²¼ÔÚ Linux ÄÚºËÔ´´úÂëÖÐµÄ Makefile£¬¶¨Òå Linux Äں˵ıàÒë¹æÔò£»
ÅäÖÃÎļþ£¨config.in£©£º¸øÓû§ÌṩÅäÖÃÑ¡ÔñµÄ¹¦ÄÜ£»
ÅäÖù¤¾ß£º°üÀ¨ÅäÖÃÃüÁî½âÊÍÆ÷£¨¶ÔÅäÖýű¾ÖÐʹÓõÄÅäÖÃÃüÁî½øÐнâÊÍ£©ºÍÅäÖÃÓû§½çÃ棨Ìṩ»ùÓÚ×Ö·û½çÃæ¡¢»ùÓÚ Ncurses ͼÐνçÃæÒÔ¼°»ùÓÚ Xwindows ͼÐνçÃæµÄÓû§ÅäÖýçÃ棬¸÷×Ô¶ÔÓ¦ÓÚ Make config¡¢Make menuconfig ºÍ make xconfig£©¡£
ÕâЩÅäÖù¤¾ß¶¼ÊÇʹÓýű¾ÓïÑÔ£¬Èç Tcl/TK¡¢Perl ±àдµÄ£¨Ò²°üº¬Ò»Ð©Óà C ±àдµÄ´úÂ룩¡£±¾ÎIJ¢²»ÊǶÔÅäÖÃϵͳ±¾Éí½øÐзÖÎö£¬¶øÊǽéÉÜÈçºÎʹÓÃÅäÖÃϵͳ¡£ËùÒÔ£¬³ý·ÇÊÇÅäÖÃϵͳµÄά»¤Õߣ¬Ò»°ãµÄÄں˿ª·¢ÕßÎÞÐëÁ˽âËüÃǵÄÔÀí£¬Ö»ÐèÒªÖªµÀÈçºÎ±àд Makefile ºÍÅäÖÃÎļþ¾Í¿ÉÒÔ¡£ËùÒÔ£¬ÔÚ±¾ÎÄÖУ¬ÎÒÃÇÖ»¶Ô Makefile ºÍÅäÖÃÎļþ½øÐÐÌÖÂÛ¡£ÁíÍ⣬·²ÊÇÉæ¼°µ½Óë¾ßÌå CPU Ìåϵ½á¹¹Ïà¹ØµÄÄÚÈÝ£¬ÎÒÃǶ¼ÒÔ ARM ΪÀý£¬ÕâÑù²»½ö¿ÉÒÔ½«ÌÖÂÛµÄÎÊÌâÃ÷È·»¯£¬¶øÇÒ¶ÔÄÚÈݱ¾Éí²»²úÉúÓ°Ïì¡£
»ØÒ³Ê×
2£® Makefile
2.1 Makefile ¸ÅÊö
Makefile µÄ×÷ÓÃÊǸù¾ÝÅäÖõÄÇé¿ö£¬¹¹Ôì³öÐèÒª±àÒëµÄÔ´ÎļþÁÐ±í£¬È»ºó·Ö±ð±àÒ룬²¢°ÑÄ¿±ê´úÂëÁ´½Óµ½Ò»Æð£¬×îÖÕÐÎ³É Linux Äں˶þ½øÖÆÎļþ¡£
ÓÉÓÚ Linux ÄÚºËÔ´´úÂëÊÇ°´ÕÕÊ÷Ðνṹ×
Ïà¹ØÎĵµ£º
/bin »ù´¡ÏµÍ³ËùÐèÒªµÄÄÇЩÃüÁîλÓÚ´ËĿ¼£¬Ò²ÊÇ×îСϵͳËùÐèÒªµÄÃüÁ±ÈÈç ls¡¢cp¡¢mkdirµÈÃüÁ¹¦ÄܺÍ/usr/binÀàËÆ£¬Õâ¸öĿ¼ÖеÄÎļþ¶¼ÊÇ¿ÉÖ´Ðеģ¬ÆÕͨÓû§¶¼¿ÉÒÔʹÓõÄÃüÁî¡£×öΪ»ù´¡ÏµÍ³ËùÐèÒªµÄ×î»ù´¡µÄÃüÁî¾ÍÊÇ·ÅÔÚÕâÀï¡£ /boot LinuxµÄÄں˼°Òýµ¼ÏµÍ³³ÌÐòËùÐèÒªµÄÎļþ£¬±ÈÈç vmlinuz initr ......
1. ϵͳÆô¶¯ºó,ÔÚ³öÏÖgrub»Ãæʱ£¬ÓÃÉÏϼüÑ¡ÖÐÄãƽʱÆô¶¯linuxµÄÄÇÒ»ÏȻºó°´e¼ü
2. ÔÙ´ÎÓÃÉÏϼüÑ¡ÖÐÄãƽʱÆô¶¯linuxµÄÄÇÒ»Ïî(ÀàËÆÓÚkernel/boot mlinuz-2.4.18-14 ro root=LABEL=/)£¬È»ºó°´e¼ü
3. ÐÞ¸ÄÄãÏÖÔÚ¼ûµ½µÄÃüÁîÐУ¬¼ÓÈësingle£¬½á¹ûÈçÏ£º
kernel /boot mlinuz-2.4.18-14 single ro ......
refer:http://www.cnblogs.com/diylab/archive/2008/04/24/1169771.html
Õâ¸ömakefile¿ÉÓÃÓÚ±àÒë´ó¶àÊýµÄc++¹¤³Ì¡£
Äã¿ÉÒÔ¸ù¾ÝÐèÒªÐÞ¸ÄÏÂÃæµÄ²ÎÊý£º
VPATH: Ô´ÎļþµÄÎļþ·¾¶¡£¶à¸öÎļþ¼Ð·¾¶Óÿոñ·Ö¸ô
OBJ£º ±àÒëÄ¿±êËùÐèÒªµÄ.oÎļþ
µ±È»£¬ÄãÒ²¿ÉÒÔ²»¸Ä¶¯´ËÎļþ£¬¶øÖ±½ÓÔÚ make ÃüÁîµÄ²ÎÊýÖÐÖ¸¶¨
È磺
make ......
Èç¹ûÄãÐèÒªÔÚLinuxÖвÙ×÷windowsϵÄÎļþ£¬ÄÇôÄã¿ÉÄܻᾳ£Óöµ½Îļþ±àÂëת»»µÄÎÊÌâ¡£WindowsÖÐĬÈϵÄÎļþ¸ñʽÊÇGBK(gb2312)£¬¶øLinuxÒ»°ã¶¼ÊÇUTF-8¡£ÏÂÃæ½éÉÜһϣ¬ÔÚLinuxÖÐÈçºÎ²é¿´ÎļþµÄ±àÂë¼°ÈçºÎ½øÐжÔÎļþ½øÐбàÂëת»»¡£
Ò»£¬²é¿´Îļþ±àÂ룺
ÔÚLinuxÖв鿴Îļþ±àÂë¿ÉÒÔͨ¹ýÒÔϼ¸ÖÖ·½Ê½£º
1.ÔÚVimÖпÉÒÔÖ±½Ó²é¿ ......
¼¶±ð£º ³õ¼¶ ÍõÓ (yongwang@buaa.edu.cn), ±±¾©º½¿Õº½Ìì´óѧ¼ÆËã»úѧԺϵͳÈí¼þʵÑéÊÒ 2003 Äê 8 Ô 10 ÈÕ ³ÌÐòµÄÁ´½ÓºÍ×°Èë´æÔÚ×ŶàÖÖ·½·¨£¬¶øÈç½ñ×îΪÁ÷Ðеĵ±Êô¶¯Ì¬Á´½Ó¡¢¶¯Ì¬×°Èë·½·¨¡£±¾ÎÄÊ×ÏȻعËÁËÁ´½ÓÆ÷ºÍ×°ÈëÆ÷µÄ»ù±¾¹¤×÷ÔÀí¼°ÕâÒ»¼¼ÊõµÄ·¢Õ¹ÀúÊ·£¬È»ºóͨ¹ýʵ¼ÊµÄÀý×ÓÆÊÎöÁËLinuxϵͳ϶¯Ì¬Á´½ÓµÄÊµÏ ......