構建根檔案系統
read INSTALL rirst.
總結:應用程式所需要的檔案
1./dev/console /dev/null
2.配置檔案/etc/inittab
3.配置檔案裡面指定的應用程式
4.庫檔案
5.init本身,即busybox
以上就是最小根檔案系統所需要的項
編譯busybox
先閱讀install檔案可知道如何編譯它
make menuconfig
make
make install(這裡安裝要注意)
安裝到我們指定的某個檔案裡面
使用make CONFIG_PREFIX=/path/from/root install
編譯需要在makefile裡面加上cross_compiler裡面加上arm-linux-
一、建立console
現在上面編譯後busybox目錄是work/FL_fs/first_fs
在此目錄下:ls /dev/console /dev/null -l
crw------- 1 root root 5, 1 2015-01-05 20:57 /dev/console
crw-rw-rw- 1 root root 1, 3 2015-01-05 20:30 /dev/null
那麼根據它來建立console null等裝置
#mkdir dev
#cd dev
#mknod console c 5 1
#mknod null c 1 3
#ls -l
顯示:
crw-r--r-- 1 root root 5, 1 2015-05-06 20:39 console
crw-r--r-- 1 root root 1, 3 2015-05-06 20:40 null
表示建立成功
二、配置項
#cd work/FL_fs/first_fs
#mkdir etc
#vim etc/inittab
輸入:
console::askfirst:-/bin/sh
三、安裝c庫
#cd lib
#cp /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib *.so* /work/FL_fs/first_fs/lib -d
end
最小根檔案系統已經完成。
此時需要製作映象檔案以燒寫到硬體。
yaffs2和jffs檔案系統
1.製作yaffs2
#cd work/system
yaffs_source_util_large_smmall_page_nand.tar.bz2
#tar xjf yaffs_source_util_large_small_page_nand.tar.bz2
#cd Developement_util_ok
#cd yaffs2
#cd utils
#make
#cp mkyaffs2image /usr/local/bin
#chmod +x /usr/local/bin/mkyaffs2image
#cd /work/FL_fs
#mkyaffs2image first_fs first_fs.yaffs2
此後燒寫到開發板裡面。
可以啟動,並能使用ls,cd等命令。
如何改進?
#cd ../first_fs
#mkdir proc
單板上有虛擬系統
#mkdir proc
#mount -t proc none /proc
#ps
可以看到哪些程式及其內容
PID TTY TIME CMD
383 pts/2 00:00:00 ps
30564 pts/2 00:00:00 su
30573 pts/2 00:00:00 bash
383 程序號
#cd 383
如果不想 手動掛載 #mount -t proc none /proc
也可以寫到配置檔案裡面
#vim inittab
++ ::sysinit:/etc/init.d/rcS 需要指令碼
#mkdir etc/init.d
#vim rcS
##mount -t proc none /proc
#chmod +x /etc/init.d/rcS
就可以了
上面#mount -t proc none /proc
也可以使用#mount -a
#mount -a是什麼意思?
讀出/etc/fstab內容來掛載
怎麼使用呢?
#mount -a會依賴fstab檔案
fstab檔案內容有哪些呢?
#device mount-point type options dump fsck
proc /proc proc defaults 0 0
那麼,在/etc/fstab裡面輸入:
proc /proc default 0 0
然後在指令碼rcS裡面使用#mount -a
然後再製作yaffs映象檔案就和第一種方法是一樣的。
可以使用#cat /proc/mounts檢視掛載了哪些檔案系統
繼續
上面的dev是手工建立
那麼怎麼自動建立dev下面的裝置節點呢
方法:使用mdev
怎麼使用mdev? 在/
可以檢視mdev.txt
[1] mount -t sysfs sysfs /sys
[2] echo /bin/mdev > /proc/sys/kernel/hotplug
[3] mdev -s
[4] mount -t tmpfs mdev /dev
[5] mkdir /dev/pts
[6] mount -t devpts devpts /dev/pts
這6步就可以了。
所以:
1、#cd ../first_fs
#mkdir sys
[1] mount -t sysfs sysfs /sys
[4] mount -t tmpfs mdev /dev
應該怎麼做?
#vim /etc/fstab
#device mount-point type options dump fsck
proc /proc proc defaults 0 0
sysfs /sys sysfs default 0 0
tmpfs /dev tmpfs default 0 0
[2] echo /bin/mdev > /proc/sys/kernel/hotplug
[3] mdev -s
[5] mkdir /dev/pts
[6] mount -t devpts devpts /dev/pts
怎麼做呢?
#cd /etc/init.d/rcS
mount -a
mkdir /dev/pts/
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s