linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)
一、首先编译并安装BusyBox
这里使用的交叉编译器还是3.4.5.
注意:编译内核、编译BusyBox以及编译文件系统中的所有应用程序的交叉编译器要使用同一个版本。
1、获取BusyBox源码
下载地址:http://www.busybox.net/downloads/
2、修改并配置BusyBox
解压BusyBox,进入到其顶层目录,修改顶层Makefile:
将164行修改为:
CROSS_COMPILE ?= arm-linux-
将189行修改为:
ARCH ?= arm
3、执行make menuconfig,进入配置单:
需要注意的配置选项如下:
Busybox Settings—>General Configuration:
Busybox Settings—>Build Options:
Busybox Settings—>Installation Options:
Busybox Settings—>Busybox Library Tuning:
Linux Module Utilities—>
保存配置并推出配置单。
4、执行命令make;make install编译安装Busybox。
编译安装结束后,会在顶层目录下生成一个名为_install的目录,该目录内容如下:
二、构建根文件系统
1、选择一个合适的地方创建一个目录root_2.6.30.4。
2、复制Busybox中生成的_install目录下的bin、sbin、usr和linuxrc到root_2.6.30.4目录下。
3、在root_2.6.30.4目录下新建dev、etc、home、lib、mnt、opt、proc、root、sddisk、sys、tmp、udisk、var和web目录,同时在原有的usr目录下新建lib和share目录。
4、添加内容:
在dev目录下:
在etc目录下:
…
这里要添加的内容比较多,所以就直接复制了一个天嵌做好的文件系统进行适当修改。
5、使用mkyaffs2image软件制作跟文件系统:
mkyaffs2image root_2.6.30.4/ root.bin
将root.bin烧写到开发板,启动如下: