¡¡¡¡¸Õ¿ªÊ¼½Ó´¥LinuxÒÆÖ²¹¤×÷£¬¿ªÊ¼µÄÏë·¨ÊÇÏ뽫uClinuxÒÆÖ²µ½samsung s3c2410ÉÏ£¬ÒÔÇ°¾ÍÖªµÀuClinuxÊÇÃæÏòûÓÐMMU(ÄÚ´æ¹ÜÀíµ¥Ôª)µÄCPUµÄ²Ù×÷ϵͳ£¬¿´ÁËs3c2410µÄ¹Ù·½×ÊÁÏ£¨PS:È«Ó¢Îĵģ¬ËäÈ»¹ýÁËÓ¢ÓïÁù¼¶£¬»¹ÊÇ¿´µÃºÜÀÛ£¬ITÐÐÒµµÄÓ¢ÓïÕæTMDÖØÒª¡£Ë½ÐNXµÄ¼¼Êõ¶¼ÊÇÄñÈ˸ã³öÀ´µÄÄØ£¡²»½öÏëÆðÁËÒÔÇ°¿´µ½µÄÒ»¾ä»°£ºÖйú¸ãµÄLinuxÄÇô¶à£¬µ«ÊÇÔÚlinuxÄÚºËÀïÁôÃûµÄûÓÐÒ»¸öÖйúÈË¡£Ò²ÖªµÀs3c2410ÉϵÄCPUÊÇ´øMMUµ¥ÔªµÄ¡£µ«Êǹ۵ãûת±ä¹ýÀ´£¬Ò»¸ù½îµØÏë°Ñs3c2410ÒÆÖ²µ½s3c2410ÉÏ¡£baiduÁË°ëÌìҲûÕÒµ½Ò»µãÏßË÷£¬Ö»ºÃ×Ô¼ºÓ²×ÅͷƤ¼ÌÐø×ö¡£
¡¡¡¡¿´µ½linux 2.6µÄÄÚºËÖ§³Ös3c2410,µ«ÊÇÔÚ±àÒëuClinuxʱ£¬ÔÚvendors(ÂòÖ÷)ÀïûÓÐs3c2410Õâ¿î°å×Ó¡£×Ô¼ºÌìÕæµØ½«vendors/samsungÀïµÄ4510BµÄÎļþcopyÒ»·Ý¸ÄΪs3c2410¡£×îºó±àÒëÊÇÒÔʧ°Ü¸æÖÕ.
¡¡¡¡×ßͶÎÞ·£¬µ½¸Õ¼ÓÈëµÄǶÈëʽȺÀïÑ°Çó°ïÖú¡£¸ßÐ˵ÄÊÇһλÅóÓѸøÁËÎÒµãÌáʾ£º±ê×¼µÄlinuxµÄLinuxÄÚºËÊÇÖ§³ÖMMUµÄ£¬¶øs3c2410ÊÇ´øMMUµÄ¡£Ó¦¸Ã°Ñ±ê×¼µÄLinuxÄÚºËÒÆÖ²µ½s3c2410É϶ø²»ÊÇÒÆÖ²uClinux£¬Ê¹Óñê×¼µÄLinux¹¦ÄÜÒ²¸üÇ¿.
¡¡¡¡ÏÖÔÚÕÒµ½ÁËÒ»µãÊï¹â£¬ÈËÌرðÐË·Ü£¬Ò²ß¯Óиɾ¢¡£ÏÂÔØarm-linux-½»²æ±àÒ빤¾ß£¬ÓÉÓÚÒÔÇ°Éý¼¶Ê±µÄÄÚºË2.6.18.2»¹ÔÚ£¬ËùÒÔ×¼±¸½«linux-2.6.18.2ÒÆÖ²µ½s3c2410ÉÏ¡£
¡¡¡¡ÄÚºËÏÂÔصØÖ·£ºwww.kernel.org
¡¡¡¡½»²æ±àÒ빤¾ß£ºftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
¡¡¡¡ÔÚÍøÉÏËѼ¯ÁËһЩ×ÊÁÏ£¬×Ðϸ¿´ÄÇЩǰ±²µÄ²Ù×÷£¬¿´ÁËs3c2410µÄ¹Ù·½×ÊÁÏ¡£ÖØиɻ
¡¡¡¡½«windowsϵÄÅÌ·û¹ÒÔعýÀ´£¨»¹ºÃÎÒÊÇ˫ϵͳwindows&linux£¬¸ãƽ̨ÒÆÖ²·Ç³£ºÃµÄÌõ¼þ£©¡£Ö±½ÓÔÚÕâ¸öÅÌ·ûϽøÐн»²æ±àÒë¡£
¡¡¡¡#mount -t vfat -o iocharset=utf8 /dev/hda7 /mnt/hda7
¡¡¡¡½«arm-linux-gcc·Åµ½/Ï£¬#tar -xvjf arm-linux-gcc-3.4.1.tar.bz2 /*½»²æ±àÒ빤¾ß½«½âѹ°²×°µ½/usr/local/armÏ¡£
¡¡¡¡Ð޸Ļ·¾³±äÁ¿£º#echo "export PATH=/usr/local/arm/3.4.1/bin:$PATH" >> /etc/bashrc
¡¡¡¡#cd /mnt/hda7/linux_softkernel_update/linux-2.6.18.2
¡¡¡¡ÐÞ¸ÄmakefileÎļþ£º½«ÏàÓ¦Ìåϵ½á¹¹ºÍ½»²æ±àÒ빤¾ß¸ÄΪ£º
¡¡¡¡ARCH ?= arm
¡¡¡¡CROSS_COMPILE ?=arm-linux-
¡¡¡¡#cp arch/arm/configs/s3c2410_defconfig .config
¡¡¡¡# make ARCH=arm CROSS_COMPILE=arm-linux- zImage
¡¡¡¡½á¹ûÌáʾ´íÎó:
¡¡¡¡CHK include/linux/version.h
¡¡¡¡SYMLINK include/asm-arm/arch -> include/asm-arm/arch-s3c2410
¡¡¡¡ln: ÕýÔÚ´´½¨Á¬ÖÁ¡®arch-s3c2410¡¯µÄ·ûºÅÁ´½Ó¡®include/asm-arm/arch¡¯: ²»ÔÊÐíµÄ²Ù×÷
¡¡¡¡make: *** [include/asm-arm/.arch] ´íÎó 1
¡¡¡¡´Ó´íÎóÌáʾÉÏ¿´£¬ÖªµÀÊÇ·ûºÅÁ´½Ó²»ÔÊÐí£¬²»½â£¬É¾µôÒÔÇ°µÄËùÓбàÒëºÍÅäÖãº#make distclean £¬Öظ´×òÌìµÄ²Ù×÷¡£»è£¬´íÎóÌáʾÈÔÔÚ¡£ÒÔΪÊÇÔ´³ÌÐò±»ÎÒ¸ÄÁË.
¡¡¡¡ÖØнâѹÄں˵½rootĿ¼Ï£º#cd /root/ARM/linux-2.6.18.2
¡¡¡¡Ð޸ĸÄĿ¼ÏµÄMakefileÎļþ£¬½«ÏàÓ¦Ìåϵ½á¹¹ºÍ½»²æ±àÒ빤¾ß¸ÄΪ£º
¡¡¡¡ARCH ?= arm
¡¡¡¡CROSS_COMPILE ?=arm-linux-
¡¡¡¡# make ARCH=arm CROSS_COMPILE=arm-linux- uImage //ÓÃu_bootÒýµ¼µÄÓ³ÏóÎļþ
¡¡¡¡Ò»¶ÑÄñÎÄÉÁ¹ý,¹þ¹þ£¬ÊìϤµÄ±àÒëÄں˵Ĺý³Ì³öÏÖÔÚÑÛÇ°¡£ÖÕÓÚ±àÒë³É¹¦ÁË£¡
¡¡¡¡#cd arch/arm/boot
¡¡¡¡#ls
¡¡¡¡¿´µ½±àÒëºóµÃµ½µÄÓ³ÏóÎļþ(¹¤×÷½á¹û)zImageºÍImage£¬ÐÀϲÈô¿ñ¡£ÔÙ»ØÊ×֮ǰÅöµ½µÄÎÊÌ⣺ΪʲôÔÚ/rootÏÂÄܱàÒë³É¹¦£¬¶øÔÚ/mnt/hda7Ï»á³öÏÖ´´½¨·ûºÅÁ´½Ó´íÎóÄØ£¿»ØÏëÆðÒÔÇ°¿´APUE£¨Advanced Programe in Unix Environment£©Ê±¹ØÓÚÁ´½ÓµÄ֪ʶ¡£ÔÀ´ÊÇ·ûºÅÁ´½Ó²»ÄÜ¿ç·ÖÇøµÄ¡£
¡¡¡¡Append.tips£º
¡¡¡¡¡òarch/arm/boot/compressedϵÄÄÚºËvmlinux¾ÍÊÇImage£¬¾¹ýѹËõ³Épiggy.gz£¬ÔÙÉú³Épiggy.oÓë½âѹËõ³ÌÐòÁ´½ÓºóÉú³ÉÄÚºËzImage¡£
¡¡¡¡¡òÄں˽âѹËõµÄ¹ý³ÌÊÇ´ÓZTEXTADDR³öµÄѹËõÄÚºËÖнâѹ³övmlinuxµ½zreladdr¡£ZTEXTADDR±íʾѹËõÄں˼ÓÔصÄλÖã¬zreladdr±íʾѹËõºóµÄλÖá£
¡¡¡¡¡òZTEXTADDR¡¢ZBSSADDRÊǽâѹËõ³ÌÐòµÄ´úÂë¶Í¡¢BSS¶ÎµÄµØÖ·¡£2.6ÄÚºËͨ¹ýCONFIG_ZBOOT_ROM_TEXTºÍCONFIG_ZBOOT_ROM_BSSÁ½¸ö²ÎÊýÀ´ÉèÖã¬2.4ÄÚºËÔòÔÚarch/$(arch)/boot/MakefileÖÐÉèÖá£Í¨³£ZTEXTADDRÉèÖóÉ0x30008000£¬ZBSSADDRÉèÖóɿգ¬±íʾ½ô½ÓÔÚÇ°ÃæÒ»¸ö¶ÎºóÃæ¡£
¡¡¡¡¡òzreladdr¡¢initrd_phys¡¢params_physÈý¸ö±äÁ¿Ö»ÓÐÔÚ2.6ÄÚºËÖвÅÓУ¬·Ö±ð±íʾ£º½âѹºóµÄÄں˵ØÖ·¡¢initrdµØÖ·¡¢²ÎÊý±íµØÖ·¡£Í¨¹ýÔÚarch/$(arch)/$(machine)/Makefile.bootµÄzreladdr-y¡¢initrd_phys-y¡¢params_phys-yÊýÀ´Ö¸¶¨ÕâÈý¸ö±äÁ¿µÄÖµ¡£
¡¡¡¡ÔÚ±àÒëpower manager ʱ³öÏÖÁËÒ»¸ö¾¯¸æ£º
¡¡¡¡kernel/power/pm.c:206: warning: `pm_send_all' is deprecated (declared at kernel/power/pm.c:180)