linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)

一、首先编译并安装BusyBox

这里使用的交叉编译器还是3.4.5.

注意:编译内核、编译BusyBox以及编译文件系统中的所有应用程序的交叉编译器要使用同一个版本。

1、获取BusyBox源码

下载地址:http://www.busybox.net/downloads/

这里下载 busybox-1.13.0.tar.bz2

2、修改并配置BusyBox

解压BusyBox,进入到其顶层目录,修改顶层Makefile:

将164行修改为:

CROSS_COMPILE ?= arm-linux-

将189行修改为:

ARCH ?= arm

3、执行make menuconfig,进入配置单:

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第1张图片

需要注意的配置选项如下:

Busybox Settings—>General Configuration:

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第2张图片

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第3张图片

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第4张图片

Busybox Settings—>Build Options:

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第5张图片

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第6张图片

Busybox Settings—>Installation Options:

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第7张图片

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第8张图片

Busybox Settings—>Busybox Library Tuning:

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第9张图片

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第10张图片

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第11张图片

Linux Module Utilities—>

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第12张图片

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第13张图片

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第14张图片

保存配置并推出配置单。

4、执行命令make;make install编译安装Busybox。

编译安装结束后,会在顶层目录下生成一个名为_install的目录,该目录内容如下:

image

二、构建根文件系统

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目录。

image

4、添加内容:

在dev目录下:

image

在etc目录下:

这里要添加的内容比较多,所以就直接复制了一个天嵌做好的文件系统进行适当修改。

5、使用mkyaffs2image软件制作跟文件系统:

mkyaffs2image root_2.6.30.4/ root.bin

将root.bin烧写到开发板,启动如下:

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)_第15张图片

你可能感兴趣的:(linux)