ʹÓÃ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ÄÚºËÄ£¿éµÄ¹ÜÀí
1¡¢lsmod ÁмÓÒÔ¹ÒÔØµÄÄÚºËÄ£¿é£»
lsmod ÊÇÁгöĿǰϵͳÖÐÒѼÓÔØµÄÄ£¿éµÄÃû³Æ¼°´óСµÈ£»ÁíÍâÎÒÃÇ»¹¿ÉÒԲ鿴 /proc/modules £¬ÎÒÃÇÒ»Ñù¿ÉÒÔÖªµÀϵͳÒѾ¼ÓÔØµÄÄ£¿é£»
´úÂë:
[root@localhost beinan]# lsmod
2¡¢modinfo ²é¿´Ä£¿éÐÅÏ¢£»
modinfo ¿ÉÒԲ鿴ģ¿éµ ......
List_Head
²Ù×÷ϵͳÄں˾³£ÐèҪά»¤Êý¾Ý½á¹¹¡£ÄÚºËÓбê×¼µÄÑ»·Á´±í¡¢Ë«ÏòÁ´±íµÄʵÏÖ¡£ÔÚ<Linux/list.h>ÎļþÖж¨ÒåÁËÒ»¸ölist_headÀàÐͼòµ¥½á¹¹£º
struct list_head {
struct list_head *next, *prev;
};
ͨÓÃÁ´±íµÄ³£ÓÃÓÃ;Êǽ«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í£¬»ò½«Ä³Ð©Á´±íÓëÒ»¸öÊý¾Ý½á¹ ......
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
......