Ò»¡¢Äں˵ĻñµÃ
¿ÉÒÔ´ÓÍøÉÏÏÂÔØÄÚºËÎļþ£¬http://www.kernel.org¡£Èç¹ûÊÇΪÁËÁ·Ï°£¬¾¡Á¿ÏÂÔØ£².4.xµÄÄںˡ£ÒòΪ2.6.xµÄÄں˱Ƚϴ󣬵±È»±àÒëÒ²ÐèÒª¸ü¶¼µÄʱ¼ä¡£
¶þ¡¢Äں˵ıàÒë
LinuxÄں˵ıàÒë²Ëµ¥Ö÷ÒªÓÐÈý¸ö°æ±¾£º
£±£©make config£º½øÈëÃüÁîÐУ¬¿ÉÒÔÒ»ÐÐÒ»ÐеÄÅäÖá£
£²£©make menuconfig£º¿ª·¢ÈËÔ±±È½ÏÊìϤµÄmenuconfig²Ëµ¥¡£
£³£©make xconfig£ºÔÚ2.4.XÒÔ¼°ÒÔǰ°æ±¾ÖÐxconfig²Ëµ¥ÊÇ»ùÓÚTCL/TKµÄͼÐοâµÄ£®
ÎÒÃDzÉÓÃmenuconfig²Ëµ¥
±àÒëÄÚºËÐèÒªrootȨÏÞ£¬ÒÔϲÙ×÷¶¼¼Ù¶¨ÄãÊÇrootÓû§.ÏÈÔÚ¸ùĿ¼Ï½¨Á¢ÃûΪARM2410µÄĿ¼£®È»ºó¡¡
°ÑÄãÐèÒªÉý¼¶µÄÄں˿½µ½/usr/src/Ï£¨ÏÂÎÄÖÐÒÔ2.4.18µÄÄں˵Älinux-2.4.18.tar.gzΪÀý£©£¬ÃüÁîΪ
¡¡ #cp linux-2.4.18.tar.gz /usr/src
È»ºó½âѹ¸ÃÎļþ£¬ÃüÁîΪ£º
¡¡ #tar -zxvf linux-2.4.18.tar.gz
¡¡¡¡Èç¹ûÄãËùÏÂÔØµÄÊÇ.bz2Îļþ£¬ÀýÈçlinux-2.4.0test8.tar.bz2£¬ÇëʹÓÃÏÂÃæµÄÃüÁî
¡¡¡¡#bzip2 -d linux-2.4.18.tar.bz2
¡¡¡¡#tar -xvf linux-2.4.18.tar
ÏÂÃæÎÒÃÇ¿ªÊ¼±àÒ룺
µÚÒ»²½£ºÔÚÖÕ¶ËϽøÈëÄÚºËËùÔÚĿ¼ "/arm2410";
µÚ¶þ²½£º¼üÈëmake menuconfig,½øÈëÄÚºËÅäÖò˵¥£¬Èç ......
Ò»¡¢BootLoaderµÄ¸ÅÄî
BootLoaderÊÇϵͳ¼ÓµçÆôÔËÐеĵÚÒ»¶ÎÈí¼þ´úÂ룮»ØÒäÒ»ÏÂPCµÄÌåϵ½á¹¹ÎÒÃÇ¿ÉÒÔÖªµÀ£¬PC»úÖеÄÒýµ¼¼ÓÔØ³ÌÐòÓÉBIOS£¨Æä±¾ÖʾÍÊÇÒ»¶Î¹Ì¼þ³ÌÐò£©ºÍλÓÚÓ²ÅÌMBRÖеÄÒýµ¼³ÌÐòÒ»Æð×é³É¡£BIOSÔÚÍê³ÉÓ²¼þ¼ì²âºÍ×ÊÔ´·ÖÅäºó£¬½«Ó²ÅÌMBRÖеÄÒýµ¼³ÌÐò¶Áµ½ÏµÍ³µÄRAMÖУ¬È»ºó½«¿ØÖÆÈ¨½»¸øÒýµ¼³ÌÐò¡£Òýµ¼³ÌÐòµÄÖ÷ÒªÔËÐÐÈÎÎñ¾ÍÊǽ«ÄÚºËÓ³Ïó´ÓÓ²ÅÌÉ϶Áµ½RAMÖÐ È»ºóÌø×ªµ½Äں˵ÄÈë¿ÚµãÈ¥ÔËÐУ¬Ò²¼´¿ªÊ¼Æô¶¯²Ù×÷ϵͳ¡£
¶øÔÚǶÈëʽϵͳÖУ¬Í¨³£²¢Ã»ÓÐÏñBIOSÄÇÑùµÄ¹Ì¼þ³ÌÐò£¨ÓеÄǶÈëʽϵͳҲ»áÄÚǶһ¶Î¶ÌСµÄÆô¶¯³ÌÐò£©£¬Òò´ËÕû¸öϵͳµÄ¼ÓÔØÆô¶¯ÈÎÎñ¾ÍÍêÈ«ÓÉBootLoaderÀ´Íê³É£®±ÈÈçÔÚÒ»¸ö»ùÓÚ ARM7TDMI coreµÄǶÈëʽϵͳÖУ¬ÏµÍ³ÔÚÉϵç»ò¸´Î»Ê±¶¼´ÓµØÖ· 0x00000000¿ªÊ¼Ö´ÐУ®¶øÔÚÕâ¸öµØÖ·´¦°²ÅŵÄͨ³£¾ÍÊÇϵͳµÄBootLoader³ÌÐò¡£
¼òµ¥µØËµBootLoader¾ÍÊÇÔÚ²Ù×÷ϵͳÄں˻òÓû§Ó¦ÓóÌÐòÔËÐÐ֮ǰÔËÐеÄÒ»¶ÎС³ÌÐò¡£Í¨¹ýÕâ¶ÎС³ÌÐò£¬ÎÒÃÇ¿ÉÒÔ³õʼ»¯Ó²¼þÉ豸¡¢½¨Á¢ÄÚ´æ¿Õ¼äµÄÓ³Éäͼ£¬´Ó¶ø½«ÏµÍ³µÄÈíÓ²¼þ»·¾³´øµ½Ò»¸öºÏÊʵÄ״̬£¬ÒÔ±ãΪ×îÖÕµ÷ÓòÙ×÷ϵͳÄں˻òÓû§Ó¦ÓóÌÐò×¼±¸ºÃÕýÈ·µÄ»·¾³¡£¶ÔÓÚÒ»¸öǶÈëʽϵͳÀ ......
http://www.mcublog.com/more.asp?name=sharkdn&id=8810
=======================================
ºÃЩʱºò£¬ÎÒÃÇÐèÒªÒ»¸öÖ»ÒªÒ»ÕÅÈíÅ̾ÍÄÜÆô¶¯Linux µÄϵͳ£¬±ÈÈç˵×ö·ÓÉÆ÷¡£µ«ÊÇÎÒÃǸÃÔõÑù×öÄØ£¿ Ò²¾ÍÊÇ˵ÎÒÃÇÒª°ÑKernelºÍFileSystem¶¼×öÔÚÒ»ÕÅ3.5'µÄÅÌÉÏ¡£ÎÒÃÇÏȰÑFileSystem ·Ö½â³ÉÈçϼ¸¸ö²¿·Ö°É¡£
¡¡¡¡1. /binĿ¼ÏµÄÎļþ
¡¡¡¡binĿ¼ͨ³£ÊÇ·ÅÖÃϵͳµÄһЩ»ù±¾ÃüÁîÎļþµÄĿ¼£¬Òª±£Ö¤ÄãµÄϵͳÄܹ»Õý³£Æô¶¯¶øÇÒÄܹ»Íê³É±ØÒªµÄ¹¦ÄÜ£¬ÄãÐèÒªÔÚ /binĿ¼Ï·ÅÖÃÈçÏÂÎļþ:
¡¡¡¡ksh--->shellÊDz»¿ÉÉٵġ£
¡¡¡¡more-->ÒªÖªµÀLinuxÏ¿ÉûÓÐtypeÃüÁîŶ¡£
¡¡¡¡dmesg->ËäÈ»ÄãºÜÊìϤÄãµÄϵͳӲ¼þ£¬µ«ÊÇÓÐËü»¹ÊÇ·½±ã¶àÁË¡£
¡¡¡¡ps---->¼ì²éϵͳ½ø³ÌÊǹÜÀíÔ±µÄÁ¼ºÃϰ¹ß¡£
¡¡¡¡login->×ܲ»ÖÁÓÚ²»ÒªÈ˼ҵǼ°É£¬ÔÙ˵ËüÒ²ÊǵײãϵͳµÄ¹¹³Éѽ¡£
¡¡¡¡sync-->¸üдÅÅ̵ÄBlock£¬ºÜÓкô¦°¡¡£
¡¡¡¡mount->³ý·ÇÄã²»ÒªÎļþϵͳ¾Í²»ÐèÒªËü¡£
¡¡¡¡umount->Ð¶ÔØÎļþϵͳµÄ¶«¶«¡£
¡¡¡¡kill-->ɱµôÄÇЩÎÞÓûòÍ£Ö¹ÏìÓ¦µÄ½ø³Ì¡£
¡¡¡¡setterm->ÐÞ¸ÄÖն˲ÎÊýµÄ¡£
¡¡¡¡hostname->ÏÔʾµ±Ç°»úÆ÷Ãû×Ö¡£
¡¡¡¡telnet->Ô¶³ÌµÇ¼£¬ÄãµÄLin ......
LinuxÖÐwaitÓ÷¨£º
ϵͳÖеĽ©Ê¬½ø³Ì¶¼ÒªÓÉwaitϵͳµ÷ÓÃÀ´»ØÊÕ¡£
º¯ÊýÔÐÍ£º
#include<sys/types.h>
#include<sys/wait.h>
pid_t wait(int *status);
½ø³ÌÒ»µ©µ÷ÓÃÁËwait¾ÍÁ¢¼´×èÈû×Ô¼º£¬ÓÉwait×Ô¶¯·ÖÎöÊÇ·ñµ±Ç°½ø³ÌµÄij¸ö×Ó½ø³ÌÒѾÍ˳ö£¬Èç¹ûÈÃËüÕÒµ½ÁËÕâÑùÒ»¸öÒѾ±ä³É½©Ê¬µÄ×Ó½ø³Ì£¬wait¾Í»áÊÕ¼¯Õâ¸ö×Ó½ø³ÌµÄÐÅÏ¢£¬²¢°ÑËü³¹µ×Ïú»Ùºó·µ»Ø£»Èç¹ûûÓÐÕÒµ½ÕâÑùÒ»¸ö×Ó½ø³Ì£¬wait¾Í»áÒ»Ö±×èÈûÔÚÕâÀֱµ½ÓÐÒ»¸ö³öÏÖΪֹ¡£
²ÎÊýstatusÓÃÀ´±£´æ±»ÊÕ¼¯½ø³ÌÍ˳öʱµÄһЩ״̬£¬ËüÊÇÒ»¸öÖ¸ÏòintÀàÐ͵ÄÖ¸Õë¡£µ«Èç¹ûÎÒÃǶÔÕâ¸ö×Ó½ø³ÌÊÇÈçºÎËÀµôºÁ²»ÔÚÒ⣬ֻÏë°ÑÕâ¸ö½©Ê¬½ø³ÌÏûÃðµô£¬£¨ÊÂʵÉϾø´ó¶àÊýÇé¿öÏ£¬ÎÒÃǶ¼»áÕâÑùÏ룩£¬ÎÒÃǾͿÉÒÔÉ趨Õâ¸ö²ÎÊýΪNULL£¬¾ÍÏñÏÂÃæÕâÑù£º
pid = wait(NULL);
Èç¹û³É¹¦£¬wait»á·µ»Ø±»ÊÕ¼¯µÄ×Ó½ø³ÌµÄ½ø³ÌID£¬Èç¹ûµ÷Óýø³ÌûÓÐ×Ó½ø³Ì£¬µ÷Óþͻáʧ°Ü£¬´Ëʱwait·µ»Ø-1£¬Í¬Ê±errno±»ÖÃΪECHILD¡£
Àý×Ó£º
/*wait.c*/
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
&n ......
MTD(memory technology deviceÄÚ´æ¼¼ÊõÉ豸)ÊÇÓÃÓÚ·ÃÎÊmemoryÉ豸£¨ROM¡¢flash£©µÄLinuxµÄ×Óϵͳ¡£MTDµÄÖ÷ҪĿµÄÊÇΪÁËʹеÄmemoryÉ豸µÄÇý¶¯¸ü¼Ó¼òµ¥£¬Îª´ËËüÔÚÓ²¼þºÍÉϲãÖ®¼äÌṩÁËÒ»¸ö³éÏóµÄ½Ó¿Ú¡£MTDµÄËùÓÐÔ´´úÂëÔÚ/drivers/mtd×ÓĿ¼Ï¡£ÎÒ½«CFI½Ó¿ÚµÄMTDÉ豸·ÖΪËIJ㣨´ÓÉ豸½ÚµãÖ±µ½µ×²ãÓ²¼þÇý¶¯£©£¬ÕâËIJã´ÓÉϵ½ÏÂÒÀ´ÎÊÇ£ºÉ豸½Úµã¡¢MTDÉ豸²ã¡¢MTDÔʼÉ豸²ãºÍÓ²¼þÇý¶¯²ã¡£
MTD×Ö·ûÇý¶¯³ÌÐòÔÊÐíÖ±½Ó·ÃÎÊflashÆ÷¼þ£¬Í¨³£ÓÃÀ´ÔÚflashÆÚ¼äÉÏ´´½¨Îļþϵͳ£¬Ò²¿ÉÒÔÓÃÀ´Ö±½Ó·ÃÎʲ»Æµ·±Ð޸ĵÄÊý¾Ý¡£
MTD¿éÉ豸Çý¶¯³ÌÐò¿ÉÒÔÈÃflashÆ÷¼þαװ³É¿éÉ豸£¬Êµ¼ÊÉÏËüͨ¹ý°ÑÕû¿éµÄerase block·Åµ½ramÀïÃæ½øÐзÃÎÊ£¬È»ºóÔÙ¸üе½flash£¬Óû§¿ÉÒÔÔÚÕâ¸ö¿éÉ豸ÉÏ´´½¨Í¨³£µÄÎļþϵͳ¡£
Ò»¡¢FlashÓ²¼þÇý¶¯²ã
Ó²¼þÇý¶¯²ã¸ºÔðÔÚinitʱÇý¶¯FlashÓ²¼þ£¬Linux MTDÉ豸µÄNOR¡¡FlashоƬÇý¶¯×ñÑCFI½Ó¿Ú±ê×¼£¬ÆäÇý¶¯³ÌÐòλÓÚdrivers/mtd/chips×ÓĿ¼Ï¡£NANDÐÍFlashµÄÇý¶¯³ÌÐòÔòλÓÚ/drivers/mtd/nand×ÓĿ¼ÏÂ
¶þ¡¢MTDÔʼÉ豸
ÔʼÉ豸²ãÓÐÁ½²¿·Ö×é³É£¬Ò»²¿·ÖÊÇMTDÔʼÉ豸µÄͨÓôúÂ룬ÁíÒ»²¿·ÖÊǸ÷¸öÌØ¶¨µÄFlashµÄÊý¾Ý£¬ÀýÈç·ÖÇø¡£
ÓÃÓÚÃèÊöMTDÔʼÉ豸µÄÊý¾Ý½á¹¹ÊÇmtd_info£¬ÕâÆäÖж ......
ÏµÍ³ÖØÆôºó·¢ÏÖ£¬ApacheÆô¶¯Ê§°Ü
±¨´íÈçÏ£º
# ./apachectl start
(98)Address already in use: make_sock: could not bind to address [::]:80
no listening sockets available, shutting down
Unable to open logs
²éÁËÏÂ80
#netstat -Inp|grep 80
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 17803/cupsd
tcp 0 0 :::5803 :::* LISTEN&nb ......