ºìÁªLinuxÃÅ»§
Linux°ïÖú

ÒÆÖ²Linuxµ½s3c2410ÉÏ

·¢²¼Ê±¼ä:2008-10-12 09:50:50À´Ô´:ºìÁª×÷Õß:lanterns
¡¡¡¡¸Õ¿ªÊ¼½Ó´¥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)
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ