制作嵌入式Linux根文件系統
操作系統:fedora 17 (linux-3.3.4)
開發板:友善之臂Tiny6410
gcc & g++ : 4.7.2
arm-linux-gcc & arm-linux-g++ : 4.5.1
busybox-1.20.2
1.新建目錄rootfs
# mkdir rootfs
# cd rootfs
www.2cto.com
2.編譯安裝Busybox
解壓busybox源碼包
# tar jxvf busybox-1.20.2.tar.bz2
配置編譯選項
# cd busybox-1.20.2
# make menuconfig
在Busybox Settings -> Build Options -> Cross Compiler prefix 設置編譯器前綴為 arm-linux-
編譯並安裝,默認安裝在_install目錄
# make && make install
# cp _install/* /home/sunke/work/rootfs -r
這樣就生成了bin sbin usr linuxrc ,進入usr目錄新建額外的幾個目錄
# cd usr
# mkdir lib local share
3.新建並填充lib目錄
# mkdir lib
# cd lib
從交叉編譯器的安裝路徑拷貝出對應的動態庫
# cp -d /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/*.so* ./
額外再建一個modules目錄
# mkdir modules
4.新建並填充etc目錄
# mkdir etc
# cd etc
etc目錄較復雜,但內容固定,可直接拷貝出友善之臂的etc目錄,本手冊直接利用了國嵌提供的etc目錄
# tar zxvf etc.tar.gz
# cp etc/* /home/sunke/work/rootfs -r
5.新建並填充dev目錄
# mkdir dev
# cd dev
手動創建兩個設備,其他設備由mdev自動創建
# mknod -m 666 console c 5 1
# mknod -m 666 null c 1 3
6.新建其他目錄
# mkdir proc sys mnt mnt/nfs tmp var home root
7.將rootfs打包成ubi鏡像
需將友善之臂提供的工具解壓到/usr/sbin
mkubimage-mlc2 rootfs rootfs-201212262052.ubi
8.通過USB或SD卡下載到開發板上,啟動成功。
PS:可以在/etc/init.d/ 添加啟動項(配置網絡、設置環境變量、自啟動程序等)
PS:配置網絡的命令如下
ifconfig eth0 10.10.206.130 netmask 255.255.255.0
route add default gw 10.10.206.254