嵌入式根文件系統的移植和制作詳解
4.添加必要的庫文件,由于之前沒有選擇靜態編譯busybox,這里要拷貝相應的庫文件
cd lib
cp –arf …/arm-linux/lib/* .
5.根據自己需要添加應用程序
這里我們編寫一個簡單的應用程序打印一句問候語,程序代碼如下:
#include
void main()
{
printf(“Hello Worldn”);
}
注意編譯時要使用arm-linux-gcc,由于之前我們把編譯器的庫文件全部進行拷貝,可以直接動態編譯。生成的可執行文件hello放入tmp文件夾。使用的命令:
rm-linux-gcc hello.c –o hello
cp –arf …/_install/tmp/
6.打包
mkcramfs _install rootfs
四.燒寫過程
我們采用的燒寫方法和燒寫內核的方法一樣內核的燒,我們采用tftp方式,用網線將目標板和pc機連接起來,配置好目標板的網絡參數,主要是serverip、ipaddr。
首先將rootfs下載到內存中:#tftp 30008000 rootfs
按照之前內核的nandflash分區進行燒寫,將內存中的文件系統燒寫到flash中:
#nand erase 500000 3b00000
#nand write 30008000 500000 3b00000
重啟uboot使其加載文件系統。
可以看到內核啟動,不在出現panic,這時會提示回車,回車后進入命令行,我們可以使用一些linux的常用命令,如:ls、cd、vi等。
如下圖所示:

注意:我們這里使用的是PUTTY串口顯示軟件,如果用之前的DNW查看串口信息,會出現下面的錯誤:

可以看到第一個目錄 [1;34mbin [0m
會發現出現的信息除了bin目錄外還有其他的內容,這并不是文件系統的問題只是DNW這款軟件并不支持這些表示色彩的附加信息,換成PUTTY可以正常顯示了。
我們可以運行一下我們自己的應用程序hello:./hello
可以看到打印信息Hello World如下圖所示:

linux相關文章:linux教程
評論