建立最小根檔案系統
開發板 : JZ2440
Linux核心 : Linux-2.6.22.6
Busybox1.29.3
最小根檔案系統所需的部分:
1./dev/console /dev/null :建立根檔案系統所必備的,指出了所需要的標準輸入,標準輸出,標準錯誤裝置終端。
2.init 程式: 當busybox安裝好時,init程式檔案已有。
3./etc/inittab:
4.配置檔案指定的應用程式;
5.c庫
一、編譯安裝busybox:生成init
make menuconfig :建立一個.config的檔案
make CROSS_COMPILE := arm-linux-
make CONFIG_PREFIX=/path install :將busybox安裝到指定的檔案中;
(不要直接make,避免對其他檔案造成損壞,新建目錄/work/nfs_root/first_fs,安裝於此)
安裝完成後有 bin linuxrc->bin/busybox sbin usr 目錄
二、建立/dev/console /dev/null
檢視裝置檔案中兩個檔案的相關資訊,並以此建立
crw
c表示字元裝置檔案,b表示塊裝置檔案,l表示符號連結檔案,r表示可讀許可權,w表示可寫許可權。
5, 1 與1, 3表示主從裝置
sudo mknod console c 5 1
sudo mknod null c 1 3
三、init程式已在busybox中建成
四、建立/etc/inittab
若不建立,則使用預設配置項
/etc/inittab檔案中的每一個條目用來定義一個子程序,並確定啟動方法
此處只新增console::askfirst:-bin/sh
五、配置檔案指定的應用程式;
.現只做最小根檔案系統,所以沒有指定的使用者程式
六、C庫
glibc庫所在的位置:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
進入目錄看到主要的分類
此處只需要用到動態庫檔案.so
建立lib目錄,並複製庫檔案
cp *.so* /work/nfs_root/first_fs/lib/ -d
(-d:當複製符號連線時,把目標檔案或目錄也建立為符號連線,並指向與原始檔或目錄連線的原始檔案或目錄;)
最小根檔案系統
如何將根檔案系統燒寫到儲存裝置上去?
製作yaffs檔案系統映像檔案,見下節