±àÒëÃüÁamlogic open linux£© ѧϰ±Ê¼Ç
•ËùÓбàÒëµ÷ÊÔÃüÁÔÚui_ref/trunk/bld_xxxÏÂÃæÖ´ÐÐ,¾ßÌåÄĸöbldÒª¸ù¾ÝÄúʹÓõİå×Ó¾ö¶¨;
•Make #±àÒëÈ«²¿,°üÀ¨kernel, busybox, packagesµÈ;
•Make root #±àÒëÎļþϵͳ;
•Make yaffs#°ÑÎļþϵͳ´ò°üÉú³ÉyaffsÎļþϵͳµÄÓ³Ïñrootfs.yaffsimage,²¢±£´æÔÚbuildĿ¼;
•±àÒëÄÚºË
▫Make k.menuconfig#ÅäÖÃÄÚºË,¾ßÌåÅäÖ÷½·¨ºÍÖ±½ÓÅäÖÃÄÚºËÒ»ÖÂ,ͬʱҲ¿ÉÒÔʹÓÃmake k.config, make k.xconfigµÈ;
▫Make k#±àÒëÄÚºË;
▫Make k.modules#±àÒëÄÚºËÄ£¿é,²¢×Ô¶¯°²×°µ½Ö¸¶¨µÄROOTFS/lib/modulesĿ¼;
▫Make k.clean#ɾ³ýÄں˱àÒëµÄÁÙʱÎļþ,Èç¹ûÄÚºË×öÁË´óµÄ¸Ä¶¯»ò¸üÐÂ,ÐèÒªÕâô×ö,ÒÔ·ÀÖ¹²¥·Å²¿·ÖûÓÐÖØбàÒëµ¼ÖÂÎÊÌâ;
•±àÒëbusybox
▫Make b.menuconfig#ÅäÖÃbusybox
▫Make b#±àÒëbusybox
▫Make b.xxx#µ÷ÓÃbusyboxÄÚ²¿µÄÃüÁî,°üÀ¨clean,install;µÈ
•±àÒëpackages(Èí¼þ°ü)
▫Make p.menuconfig#ÅäÖÃÈí¼þ°ü
▫Make p#±àÒëÈí¼þ°ü;
▫Make p.clean#ɾ³ý±àÒëÉú³ÉµÄÎļþ.
▫Make p.distclean#ɾ³ýÕû¸ö±àÒëÉú³ÉµÄpackagesĿ¼;
▫Make p.${PACKAGES_NAME}.all#±àÒë¾ßÌåµÄÈí¼þ°ü,Õâ¸öPACKAGES_NAMEºÍÈí¼þ°üµÄĿ¼ÃûÒ»ÖÂ;
¹¤¾ßÁ´
•ArclinuxʹÓÃÁËÁ½Ì×¹¤¾ßÁ´£¬·Ö±ðÓÃÀ´±àÒëÄں˺ÍÓ¦ÓóÌÐò£»
▫Arc-elf32-:»ùÓÚnew-libµÄ¹¤¾ßÁ´£¬Õâ¸ö¿â²»ÊÇ»ùÓÚlinuxϵͳµ÷Óÿª·¢µÄ£¬Ö÷ÒªÓÃÀ´±àÒë·Çlinux±ê×¼µÄÓ¦ÓóÌÐò£»ÓÉÓÚϵͳµ÷Óò»Ò»Ö£¬Ò²²»ÄÜÓÃÀ´±àÒëÓ¦ÓóÌÐò£»ÎÒÃÇÒ»°ãÓÃÀ´±àÒëlinuxÄںˣ»
▫Arc-linux-uclibc-£º»ùÓÚuclibcºÍlinuxµÄ±àÒ빤¾ßÁ´£¬¿ÉÒÔÓÃÀ´±àÒëlinuxϵÄÓ¦ÓóÌÐò£»
•Arc-elf32-gcc
•Arc-elf32-g++£»
•Arc-linux-uclibc-gcc
•Arc-linux-uclibc-g++
▫Èý¸ö±àÒëÆ÷¶¼¿ÉÒÔÓÃÀ´±àÒëCºÍC++´úÂ룻
▫GCCÒ»°ãÓÃÀ´±àÒëc´úÂ룬ͬʱҲ¿ÉÒÔÓÃÀ´±àÒëC++´úÂ룻
▫G++Ò»°ãÓÃÀ´±àÒëC++´úÂ룬±àÒëC´úÂëµÄʹÓûá×Ô¶¯µ÷ÓÃGCC£»
•ÆäËûÖ÷Òª¹¤¾ß£¬¶¼Ê¡ÂÔÁËǰ׺£¬arc-elf32-ºÍarc-linux-uclib-£¬Èç¹û²»Ê¹ÓÃǰ׺£¬¾ÍÊÇÖ´ÐÐϵͳ±¾ÉíµÄ¹¤¾ßÁ´£¬¹¤¾ßµÄ¹¦ÄÜÒ»Ñù£º
▫readelf#elf¸ñʽ·ÖÎö¹¤¾ß£¬¿ÉÒԲ鿴section£¬·ûºÅ±íµÈ£»
▫Objdump#·´±àÒ빤¾ß£¬¿ÉÒÔÓÃÀ´·´±àÒëelf¸ñʽÎļþ£¬·ÖÎö±àÒë½á¹û´úÂ룻
▫Objcopy#elfÎļþת»»¹¤¾ß£¬¿ÉÒÔÓÃÀ´Éú³ÉbinÎļþ£¬Ìí¼Ó£¬É¾³ýsymble£¬sectionµÈ£»
&
Ïà¹ØÎĵµ£º
ʲôÊÇÔËÐ춱ð
ÔËÐм¶¾ÍÊDzÙ×÷ϵͳµ±Ç°ÕýÔÚÔËÐеŦÄܼ¶±ð¡£
Õâ¸ö¼¶±ð´Ó1µ½6 £¬
¾ßÓв»Í¬µÄ¹¦ÄÜ¡£
ÕâЩ¼¶±ðÔÚ/etc/inittabÎļþÀïÖ¸¶¨¡£
Õâ¸öÎļþÊÇinit³ÌÐòÑ°ÕÒµÄÖ÷ÒªÎļþ£¬×îÏÈÔËÐеķþÎñÊÇÄÇЩ·ÅÔÚ/etc/rc.d Ŀ¼ÏµÄÎļþ¡£
²»Í¬µÄÔËÐ춶¨ÒåÈçÏ£º(¿ÉÒԲο¼LinuxÀïÃæµÄ/etc/inittab) ¡¡¡¡
# ȱʡµÄÔËÐм¶£¬RHSÓ ......
1.Linux Äں˼ò½é ÏÖÔÚÈÃÎÒÃÇ´ÓÒ»¸ö±È½Ï¸ßµÄ¸ß¶ÈÀ´ÉóÊÓһϠGNU/Linux ²Ù×÷ϵͳµÄÌåϵ½á¹¹¡£Äú¿ÉÒÔ´ÓÁ½¸ö²ã´ÎÉÏÀ´¿¼ÂDzÙ×÷ϵͳ£¬Èçͼ 1 Ëùʾ¡£ ͼ 1. GNU/Linux ²Ù×÷ϵͳµÄ»ù±¾Ìåϵ½á¹¹ ×îÉÏÃæÊÇÓû§£¨»òÓ¦ÓóÌÐò£©¿Õ¼ä¡£ÕâÊÇÓû§Ó¦ÓóÌÐòÖ´Ðеĵط½¡£Óû§¿Õ¼äÖ®ÏÂÊÇÄں˿ռ䣬Linux ÄÚºËÕýÊÇλÓÚÕâÀï¡£ GNU C Lib ......
´ÓLinux 2.6ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ:Platform_deviceºÍPlatform_driver¡£
LinuxÖд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ, É豸ÓÃPlatform_device±íʾ£¬Çý¶¯ÓÃPlatform_driver½øÐÐ×¢²á¡£
Linux platform driver»úÖƺʹ«Í³µÄdevice driver »úÖÆ(ͨ¹ýdriver_registerº¯Êý½øÐÐ×¢²á)Ïà±È£¬Ò»¸öÊ®·ÖÃ÷ÏÔµÄÓ ......
±¾ÎÄ·ÖÎöÁËlinux 2.4.xÄں˵ÄÍøÇŵÄʵÏÖ·½·¨£¬²¢ÇÒÃèÊöÁËÈçºÎʹÓÃ2.4ÖеÄÍøÇÅ¡£ÍøÇÅ£¬ÀàËÆÓÚÖмÌÆ÷£¬Á¬½Ó¾ÖÓòÍøÖÐÁ½¸ö»òÕ߶à¸öÍø¶Î¡£ËüÓëÖмÌÆ÷µÄ²»Í¬Ö®´¦¾ÍÔÚÓÚËüÄܹ»½âÎöËüÊÕ·¢µÄÊý¾Ý£¬¶ÁÈ¡Ä¿±êµØÖ·ÐÅÏ¢£¨MAC£©£¬²¢¾ö¶¨ÊÇ·ñÏòËùÁ¬½ÓÍøÂçµÄÆäËûÍø¶Îת·¢Êý¾Ý°ü¡£ÎªÁËÄܹ»¾ö²ßÏòÄǸöÍø¶Î·¢ËÍÊý¾Ý°ü£¬ÍøÇÅѧϰ½ÓÊÕµ½Êý¾Ý°üµÄÔ ......
ÒªÔÚǶÈëʽLinuxÏÂʹÓö¯Ì¬ÓïÑÔ£¬Ê×ÏÈÒª½â¾öµÄÊÇÓïÑÔ½âÊÍÆ÷»òÖ´ÐÐÒýÇæµÄ½»²æ±àÒëÎÊÌâ¡£
½»²æ±àÒëͨ³£ÓÐÒÔϼ¸ÖÖ;¾¶£º
1. Ö±½Óͨ¹ý½»²æ±àÒ빤¾ß£¬ÊÖ¹¤ÅäÖý»²æ±àÒë¡£½»²æ±àÒ빤¾ß¿ÉÒÔÀûÓÃÕâ¸ö½Å±¾À´×Ô¶¯Éú³É£º
http://kegel.com/crosstool/
´Ë·½·¨µÄºÃ´¦ÊǼò±ã¿ì½Ý£¬Ò»µ©crosstool×öºÃÒÔºó£¬ÐèҪʲô°üÖ±½Ó±àÒë¼´¿É£¬ ......