一.創建文件系統的基本目錄: 可運行以下腳本自動創建: ~~~~ !/bin/sh echo " Create rootfs start " mkdir rootfs cd rootfs echo " Create root, dev .... " mkdir root dev etc boot t ...
一.創建文件系統的基本目錄:
可運行以下腳本自動創建:
#!/bin/sh
echo "------Create rootfs start--------"
mkdir rootfs
cd rootfs
echo "--------Create root, dev ....----------"
mkdir root dev etc boot tmp var sys proc lib mnt home usr
mkdir etc/init.d etc/rc.d etc/sysconfig
mkdir usr/sbin usr/bin usr/lib usr/modules
echo "make node in dev/console dev/null"
sudo mknod -m 600 dev/console c 5 1
sudo mknod -m 600 dev/null c 1 3
mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
mkdir var/lib var/lock var/run var/tmp
chmod 1777 tmp
chmod 1777 var/tmp
echo "-------Create done---------"
二.加入配置文件(inittab rcS ....)
三.編譯安裝Busybox(嵌入式開發中的瑞士軍刀), 步驟如下:
1) make menuconfig
2) 進入busybox setting->build options,開啟build static binary靜態編譯
3) install options 選擇don't use /usr以免影響到主機的文件系統
4) busybox installation prefix 選擇rootfs
5) build compile 設置為arm-linux-
6) make
7) make install
四.掛載文件系統(NFS方式):
1.配置好主機NFS伺服器:
修改配置文件/etc/exports為:xx/x/x(rootfs的地址) *(rw,sync,no_root_squash)
2.配置bootloader的啟動參數:
console=ttySAC0,115200 init=/sbin/init root=/dev/nfs rw
nfsroot=(開發板的IP):(rootfs的地址) ip=(PC的IP):(開發板的IP):(網關):255.255.255.0::eth0:off
五.掛載文件系統(Jffs2方式)
編譯安裝mtd-util工具:
安裝成功後,在mtd文件夾中找到mkfs.jffs2工具並使用以下命令(我當初用的這個命令,具體參數自行修改)生成jffs2文件.
mkjffs2 -n -s 2048 -e 128KiB -d rootfs -o rootfs.jffs2 --pad=0x14a0000
-r, -d, --root=DIR 指定要做成image的源文件夾
-s, --pagesize=SIZE 節點頁大小(預設: 4KiB)
-e, --eraseblock=SIZE 設定擦除塊的大小為(預設: 64KiB)
-p, --pad[=SIZE] 用16進位表示所要輸出文件的大小
OK,到這裡一份熱騰騰的系統映像就製作好了,然後設置Linux支持Jffs2,再寫入NandFlash文件系統分區.搞定(如果遇到問題可以與我交流 ^_^).