嵌入式根文件系統(tǒng)的移植和制作詳解
4.添加必要的庫文件,由于之前沒有選擇靜態(tài)編譯busybox,這里要拷貝相應(yīng)的庫文件
cd lib
cp –arf …/arm-linux/lib/* .
5.根據(jù)自己需要添加應(yīng)用程序
這里我們編寫一個簡單的應(yīng)用程序打印一句問候語,程序代碼如下:
#include
void main()
{
printf(“Hello Worldn”);
}
注意編譯時要使用arm-linux-gcc,由于之前我們把編譯器的庫文件全部進(jìn)行拷貝,可以直接動態(tài)編譯。生成的可執(zhí)行文件hello放入tmp文件夾。使用的命令:
rm-linux-gcc hello.c –o hello
cp –arf …/_install/tmp/
6.打包
mkcramfs _install rootfs
四.燒寫過程
我們采用的燒寫方法和燒寫內(nèi)核的方法一樣內(nèi)核的燒,我們采用tftp方式,用網(wǎng)線將目標(biāo)板和pc機(jī)連接起來,配置好目標(biāo)板的網(wǎng)絡(luò)參數(shù),主要是serverip、ipaddr。
首先將rootfs下載到內(nèi)存中:#tftp 30008000 rootfs
按照之前內(nèi)核的nandflash分區(qū)進(jìn)行燒寫,將內(nèi)存中的文件系統(tǒng)燒寫到flash中:
#nand erase 500000 3b00000
#nand write 30008000 500000 3b00000
重啟uboot使其加載文件系統(tǒng)。
可以看到內(nèi)核啟動,不在出現(xiàn)panic,這時會提示回車,回車后進(jìn)入命令行,我們可以使用一些linux的常用命令,如:ls、cd、vi等。
如下圖所示:
注意:我們這里使用的是PUTTY串口顯示軟件,如果用之前的DNW查看串口信息,會出現(xiàn)下面的錯誤:
可以看到第一個目錄 [1;34mbin [0m
會發(fā)現(xiàn)出現(xiàn)的信息除了bin目錄外還有其他的內(nèi)容,這并不是文件系統(tǒng)的問題只是DNW這款軟件并不支持這些表示色彩的附加信息,換成PUTTY可以正常顯示了。
我們可以運(yùn)行一下我們自己的應(yīng)用程序hello:./hello
可以看到打印信息Hello World如下圖所示:
linux相關(guān)文章:linux教程
評論