ʹÓÃBusyBoxÖÆ×÷linux¸ùÎļþϵͳ
ʹÓÃBusyBoxÖÆ×÷linux¸ùÎļþϵͳ£¨CramFS+mdev£©
²Ù×÷ϵͳ£ºUbuntu9.04
Äں˰汾£ºlinux-2.6.24.7
¿ª·¢°å£º²©´´arm2410s
½»²æ±àÒ빤¾ß£ºarm-linux-gcc-4.1.1
BusyBox£ºbusybox-1.11.1
CramFS£ºCramFS-1.1
×¢Ò⣺ÓÉÓÚÒªÖÆ×÷µÄ¸ùÎļþϵͳʹÓÃÁËmdev(BusyBox¼ò»¯°æµÄudev£©£¬Òò´Ë£¬ÐèÒªÄÚºËÖ§³Ösysfs¡¢procfsºÍramfs£¨tmpfs£©ÎļþϵͳÒÔ¼°hotplug£¨uevent£©Ê¼þ»úÖÆ¡£
dzÀ¶É«ÎªÃüÁéÙºìɫΪ´úÂëºÍ½Å²½
1¡¢×¼±¸¸ùÎļþϵͳ
ʹÓÃshell½Å±¾create_rootfs.sh£¬½¨Á¢¸ùÎļþϵͳµÄĿ¼¿ò¼Ü
lingd@ubuntu:~/arm2410s$ vi create_rootfs.sh
create_rootfs.shÄÚÈÝÈçÏ£º
#!/bin/sh
echo "------Create rootfs directons......"
mkdir rootfs
cd rootfs
echo "--------Create root,dev......"
mkdir root dev etc bin sbin mnt sys proc lib home tmp var usr
mkdir usr/sbin usr/bin usr/lib usr/modules
mkdir mnt/usb mnt/nfs mnt/etc mnt/etc/init.d
mkdir lib/modules
chmod 1777 tmp
cd ..
echo "-------make direction done---------"
Ϊcreate_rootfs.shÌí¼ÓÖ´ÐÐȨÏÞ
lingd@ubuntu:~/arm2410s$ chmod a+x create_rootfs.sh
Ö´ÐÐcreate_rootfs.sh£¬½¨Á¢¸ùÎļþϵͳµÄĿ¼¿ò¼Ü
lingd@ubuntu:~/arm2410s$ ./create_rootfs.sh
lingd@ubuntu:~/arm2410s$ cd rootfs
lingd@ubuntu:~/arm2410s/rootfs$ ls
bin dev etc home lib mnt proc root sbin sys tmp usr var
2¡¢´´½¨É豸Îļþ
mdev ÊÇͨ¹ý init ½ø³ÌÀ´Æô¶¯µÄ£¬ÔÚʹÓà mdev ¹¹Ôì /dev Ŀ¼֮ǰ£¬init ÖÁÉÙÒªÓõ½É豸Îļþ/dev/console¡¢ /dev/null £¬ËùÒÔÐèÒªÊÂÏȽ¨Á¢ÕâÁ½¸öÉ豸Îļþ:
lingd@ubuntu:~/arm2410s/rootfs$ cd dev
lingd@ubuntu:~/arm2410s/rootfs/dev$ sudo mknod -m 660 console c 204 64
[sudo] password for lingd:
lingd@ubuntu:~/arm2410s/rootfs/dev$ sudo mknod -m 660 null c 1 3
lingd@ubuntu:~/arm2410s/rootfs/dev$ ls -l
total 0
crw-rw---- 1 root root 5, 1 2010-04-02 15:49 console
crw-rw---- 1 root root 1, 3 2010-04-02 15:50 null
×¢Ò⣺±¾À´consoleµÄÖ÷´ÎÉ豸ºÅӦΪ5ºÍ1.µ«ÊÇÒòΪinitÔÚÖ´ÐÐÍê/etc/init.d/rcS½Å±¾ºó£¬¾Í»áÔÚÒ»¸ö¿ØÖÆÌ¨ÉÏ£¬°´ÕÕini
Ïà¹ØÎĵµ£º
ÔÚLinuxÏ¿´µçÊÓ
ʱ¼ä£º2009-12-09 13:37:00 À´Ô´£ºÍøÂç ×÷ÕߣºÐ¡Â¬
¡¡¡¡³¤ÆÚÒÔÀ´£¬ÔÚLinux²Ù×÷ϵͳÏÂʹÓõçÊÓ¿¨ÊÇÒ»¼þ±È½ÏÂé·³µÄÊ£¬ÕâÊÇÒòΪ¸÷¼ÒµçÊÓ¿¨Éú²ú³§É̶¼Ã»ÓÐÌṩ¹Ù·½µÄLinuxÇý¶¯£¬Ö»ÓÐWindowsϵÄWDMÇý¶¯¡£
¡¡¡¡LinuxϵĵçÊÓ¿¨Çý¶¯£¬Ò»Ö±ÓÉlinux.bytesex.orgµÄLinux°®ºÃÕ߸ºÔ𿪷¢¡£¸ÃÇý¶¯ÓÐÁ½ ......
¹þÏ£±í£¨Hashtable£©ÓÖ³ÆÎª“É¢ÖÔ£¬HashtableÊÇ»á¸ù¾ÝË÷Òý¼üµÄ¹þÏ£³ÌÐò´úÂë×éÖ¯³ÉµÄË÷Òý¼ü£¨Key£©ºÍÖµ£¨Value£©Åä¶ÔµÄ¼¯ºÏ¡£Hashtable ¶ÔÏóÊÇÓɰüº¬¼¯ºÏÖÐÔªËØµÄ¹þϣͰ£¨Bucket£©Ëù×é³ÉµÄ¡£¶øBucketÊÇHashtableÄÚÔªËØµÄÐéÄâ×ÓȺ×飬¿ÉÒÔÈô󲿷ּ¯ºÏÖеÄËÑѰºÍ»ñÈ¡¹¤×÷¸üÈÝÒס¢¸ü¿ìËÙ¡£
¹þÏ£º¯ ......
List_Head
²Ù×÷ϵͳÄں˾³£ÐèҪά»¤Êý¾Ý½á¹¹¡£ÄÚºËÓбê×¼µÄÑ»·Á´±í¡¢Ë«ÏòÁ´±íµÄʵÏÖ¡£ÔÚ<Linux/list.h>ÎļþÖж¨ÒåÁËÒ»¸ölist_headÀàÐͼòµ¥½á¹¹£º
struct list_head {
struct list_head *next, *prev;
};
ͨÓÃÁ´±íµÄ³£ÓÃÓÃ;Êǽ«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í£¬»ò½«Ä³Ð©Á´±íÓëÒ»¸öÊý¾Ý½á¹ ......
ÔÚLinux 2.6ÄÚºËÖУ¬devfs±»ÈÏΪÊǹýʱµÄ·½·¨£¬²¢×îÖÕ±»Åׯú£¬udevÈ¡´úÁËËü¡£DevfsµÄÒ»¸öºÜÖØÒªµÄÌØµã¾ÍÊÇ¿ÉÒÔ¶¯Ì¬´´½¨É豸½áµã¡£ÄÇÎÒÃÇÏÖÔÚÈçºÎͨ¹ýudevºÍsysÎļþϵͳ¶¯Ì¬´´½¨É豸½áµãÄØ£¿
ÓÃudevÔÚ/dev/϶¯Ì¬Éú³ÉÉ豸Îļþ£¬ÕâÑùÓû§¾Í²»ÓÃÊÖ¹¤µ÷ÓÃmknodÁË¡£
ÀûÓõÄkernel API£º
&nb ......
Linux°²×°JDK²½Öè1. ÏÈ´ÓÍøÉÏÏÂÔØjdk(jdk-1_5_0_02-linux-i586.rpm)
£¬ÍƼöSUNµÄ¹Ù·½ÍøÕ¾www.sun.com£¬ÏÂÔØºó·ÅÔÚ/homeĿ¼ÖУ¬µ±È»ÆäËüµØ·½Ò²ÐС£
½øÈ밲װĿ¼
#cd /home
#cp
jdk-1_5_0_02-linux-i586.rpm /usr/local
#cd /usr/local
¸øËùÓÐÓû§Ìí¼Ó¿ÉÖ´ÐеÄ
ȨÏÞ
#chmod +x jdk-1_5_0_02-linux-i586.rpm.bin
......