嵌入式根文件系统的移植和制作详解
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教程
评论