linux之根文件系統編譯、燒寫

先給自己打個廣告,本人的微信公衆號正式上線了,搜索:張笑生的地盤,主要關注嵌入式軟件開發,股票基金定投,足球等等,希望大家多多關注,有問題可以直接留言給我,一定盡心盡力回答大家的問題
在這裏插入圖片描述
一 what
二 why
三 how
(1)編譯busybox

tar xjf busybox-1.20.0.tar.bz2

設置交叉編譯工具鏈

make menuconfig
		Busybox Settings  --->
			Build Options  --->
				Cross Compiler prefix    arm-linux-
make

(2)安裝

make install CONFIG_PREFIX=/work/nfs_root/fs_mini_mdev_new

(3)查看當前的交叉編譯工具鏈,需要保證和編譯內核kernel時使用相同的交叉編譯工具鏈

echo $PATCH
cd /work/tools/usr/local/arm/4.3.2   //當前使用的toolchain

(4)製作lib和usr/lib

cd /work/nfs_root/fs_mini_mdev_new
//將當前編譯器中的lib下的所有so庫文件拷貝到跟文件系統lib下
mkdir lib
cp /work/tools/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*so* /work/nfs_root/fs_mini_mdev_new/lib -d
mkdir /work/nfs_root/fs_mini_mdev_new/usr/lib -p
//將當前編譯器中的usr/lib下的所有so庫文件拷貝到跟文件系統usr/lib下
cp /work/tools/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib/*so* /work/nfs_root/fs_mini_mdev_new/usr/lib -d

(5)製作etc目錄

//這裏取了一個討巧的辦法,直接從別的根文件系統拷貝了一份過來,實際上我們需要參照下圖,創建對應的文件或者目錄
cp first_fs/etc fs_mini_mdev_new -rf

在這裏插入圖片描述
(6)製作dev目錄

mkdir /work/nfs_root/fs_mini_mdev_new/dev
cd dev
sudo mknod console c 5 1
sudo mknod null c 1 3

(7)製作其他目錄

mkdir proc tmp mnt sys root

(8)製作映像文件

mkfs.jffs2 -n -s 2048 -e 128KiB -d fs_mini_mdev_new -o fs_mini_mdev_new.jffs2

(9)燒寫
在uboot下燒寫

set serverip 192.168.31.145
tftp 30000000 fs_mini_mdev_new.jffs2
nand erase.part rootfs
nand write.jffs2 30000000 0x00260000 3b8ba8
set bootargs console=ttySAC0,115200 root=/dev/mtdblock3 rootfstype=jffs2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章