linuxÄÚºËÒÆÖ²s3c2410£¬×¼±¸¹¤×÷
1.Ê×ÏÈÊÇ»ñµÃlinuxÄÚºËÔ´Â룬ºÃÏñÊÇ·Ï»°£¬ÏÂÔØµØÖ·ÈçÏ£ºftp://ftp.kernel.org/pub/linux/kernel/v2.6/ÏÂÔØ£º
linux-2.6.16.22.tar.bz2 patch-2.6.22.6.bz2
ÉÏÃæÒ»²½ÐèҪ˵Ã÷µÄÊÇÒ»°ã¶øÑÔ£¬linuxÄں˵ĸ÷¸ö²¹¶¡ÎļþÊǸù¾Ýij¸ölinuxÄں˵İ汾ºÅÀ´×÷µÄpatch¡£
½«ÉÏÃæµÄÁ½¸öѹËõÎļþ½âѹ:
tar jxvf linux-2.6.22.tar.bz2
tar jxvf patch-2.6.22.6.bz2
cd linux-2.6.22
patch -p1 < ../patch-2.6.22.6
2.linuxÄÚºËÔ´Âë½á¹¹ºÍMakefile·ÖÎö
linuxÄÚºËÔ´ÂëµÄ½á¹¹±È½ÏÇåÎú£¬ÎҾͲ»ÂÞàÂÁË£¬Èç¹û¶ÔÓÚlinuxÔ´ÂëµÄ½á¹¹²»ÊǺÜÁ˽âµÄ»°£¬¿ÉÒԲο¼ÏÂÃæµÄÎÄÕÂ
http://www.kerneltravel.net/kernel-book/%E7%AC%AC%E4%B8%80%E7%AB%A0%E8%B5%B0%E8%BF%9Blinux/1.6.2.htm
¶ÔÓÚÒÆÖ²linuxµ½s3c2410¶øÑÔ£¬Ö÷ÒªµÄ¹¤×÷Ŀ¼ÊÇ/arch/arm/Ï¡£
ÔÚwindowsÖдó¶àÊÇIDEÀ´¸ºÔðÏîÄ¿µÄ¹ÜÀí£¬µ«ÊÇÔÚlinuxÖÐÖ÷ÒªÊÇͨ¹ýMakefileÀ´ÊµÏÖÏàÓ¦µÄ¹¦ÄÜ¡£MakefiieÖ÷ÒªÓÐÏÂÃæµÄ
Èý¸ö×÷Óãº
1.Ê×ÏȾö¶¨±àÒëÄÇЩÎļþ
2.ÔõÑù±àÒëÕâЩÎļþ
3.ÈçºÎÁ´½ÓÕâЩ±àÒëÍêµÄÎļþ£¬ËûÃǵÄ˳ÐòÓÐÊÇʲô¡£
###################
1.Ê×ÏȾö¶¨±àÒëÄÇЩÎļþ
##################
linuxÖÐMakefieÌåϵ£º
ÔÚlinuxÄÚºËÎļþ¼ÐÖеÄDocumentation/kbuild/makefiles.txtÖжÔÄÚºËÖеÄMakefileÖÐÌṩÁËÏêϸµÄÐÅÏ¢£º
The Makefiles have five parts:
Makefile the top Makefile. ¶¥²ãµÄMakefile
.config the kernel configuration file.ÅäÖÃÎļþ£¬ÔÚ¶¥²ãµÄMakefileÖÐʹÓÃ.configÀ´¾ö¶¨Ê¹ÓÃÄÇЩÎļþ
arch/$(ARCH)/Makefile the arch Makefile.ºÍÌåϵƽ̨Ïà¹ØµÄMakefile
scripts/Makefile.* common rules etc. for all kbuild Makefiles.Makefile¹«ÓõÄͨÓùæÔò£¬½Å±¾µÈ¡£
kbuild Makefiles there are about 500 of these.¸÷¸ö×ÓĿ¼ÏµÄMakefile£¬±»¸ÃÉϲãµÄMakefileµ÷ÓÃ
The top Makefile reads the .config file, which comes from the kernel
configuration process.
¶¥²ãµÄMakefile¶ÁÈ¡.configÖеÄÐÅÏ¢£¬ÕâЩ.configÐÅÏ¢À´×ÔÓÚmake menuconfigÖÐ
The top Makefile is responsible for building two major products: vmlinux
(t
Ïà¹ØÎĵµ£º
GCC Ö§³ÖÁËÐí¶à²»Í¬µÄÓïÑÔ£¬°üÀ¨ C¡¢C++¡¢Ada¡¢Fortran¡¢Objective C,Perl¡¢Python ºÍ Ruby£¬ÉõÖÁ»¹ÓÐJava¡£
¡¡¡¡Linux Äں˺ÍÐí¶àÆäËû×ÔÓÉÈí¼þÒÔ¼°¿ª·ÅÔ´ÂëÓ¦ÓóÌÐò¶¼ÊÇÓà C ÓïÑÔ±àд²¢Ê¹Óà GCC ±àÒëµÄ¡£
¡¡¡¡±àÒëC++³ÌÐò£º
¡¡¡¡-c Ö»±àÒë²»Á¬½Ó
¡¡¡¡g++ file1 -c -o file1.o
¡¡¡¡g++ file2 -c -o file2.o
¡¡¡¡g++ f ......
Ò»¡¢»ñÈ¡ÈÕÀúʱ¼ä
time_tÊǶ¨ÒåÔÚtime.hÖеÄÒ»¸öÀàÐÍ£¬±íʾһ¸öÈÕÀúʱ¼ä£¬Ò²¾ÍÊÇ´Ó1970Äê1ÔÂ1ÈÕ0ʱ0·Ö0Ãëµ½´ËʱµÄÃëÊý£¬ÔÐÍÊÇ£º
typedef long time_t; /* time value */
¿ÉÒÔ¿´³ötime_tÆäʵÊÇÒ»¸ö³¤ÕûÐÍ£¬ÓÉÓÚ³¤ÕûÐÍÄܱíʾµÄÊýÖµÓÐÏÞ£¬Òò´ËËüÄܱíʾµÄ×î³Ùʱ¼äÊÇ2038Äê ......
Á´½Óָʾ·ûextern C
Èç¹û³ÌÐòԱϣÍûµ÷ÓÃÆäËû³ÌÐòÉè¼ÆÓïÑÔÓÈÆäÊÇC дµÄº¯ÊýÄÇôµ÷Óú¯Êýʱ±ØÐë
¸æËß±àÒëÆ÷ʹÓò»Í¬µÄÒªÇóÀýÈçµ±ÕâÑùµÄº¯Êý±»µ÷ÓÃʱº¯ÊýÃû»ò²ÎÊýÅÅÁеÄ˳Ðò¿ÉÄÜ
²»Í¬ÎÞÂÛÊÇC++º¯Êýµ÷ÓÃËü»¹ÊÇÓÃÆäËûÓïÑÔдµÄº¯Êýµ÷ÓÃËü
³ÌÐòÔ±ÓÃÁ´½Óָʾ·ûlinkage directive ¸æËß±àÒëÆ÷¸Ãº¯ÊýÊÇÓÃÆäËûµÄ³ÌÐòÉè¼ÆÓïÑÔ
±àдµ ......
2)±àÒë½×¶Î
(Compiling)
µÚ¶þ²½½øÐеÄÊDZàÒë½×¶Î£¬ÔÚÕâ¸ö½×¶ÎÖУ¬GccÊ×ÏÈÒª¼ì²é´úÂëµÄ¹æ·¶ÐÔ¡¢ÊÇ·ñÓÐÓï·¨´íÎóµÈ£¬ÒÔÈ·¶¨´úÂëµÄʵ¼ÊÒª×öµÄ¹¤×÷£¬ÔÚ¼ì²éÎÞÎóºó£¬Gcc°Ñ´úÂë·Òë³É»ã±àÓïÑÔ¡£Óû§¿ÉÒÔʹÓÔ-S”Ñ¡ÏîÀ´½øÐв鿴£¬¸ÃÑ¡ÏîÖ»½øÐбàÒë¶ø²»½øÐлã±à£¬Éú³É»ã±à´úÂë¡£
Ñ¡Ïî -S
Ó÷¨£º[root]# gcc &ndash ......
1¡¢½«Îļþcheckoutµ½±¾µØÄ¿Â¼
svn checkout path£¨pathÊÇ·þÎñÆ÷ÉϵÄĿ¼£©
ÀýÈ磺svn checkout svn://192.168.1.1/pro/domain
¼òд£ºsvn co
2¡¢Íù°æ±¾¿âÖÐÌí¼ÓеÄÎļþ
svn add file
ÀýÈ磺svn add test.php(Ìí¼Ótest.php)
svn add *.php(Ìí¼Óµ±Ç°Ä¿Â¼ÏÂËùÓеÄphpÎļþ)
3¡¢½«¸Ä¶¯µÄÎļþÌá½»µ½°æ±¾¿â
svn commit - ......