1 开发环境
宿主机:Ubuntu14.04(32bit)
开发板:Mini2440
Kernel:2.6.39.4
BusyBox:1.24.2
2 创建目录
(1)创建根目录rootfs,这个目录就是要移植到Mini2440开发板的目录:
mkdir rootfs(2)进入 rootfs并创建目录 bin、 dev、 etc、 usr、 lib、 sbin、 proc、 usr/bin、 usr/sbin、 usr/lib :
cd rootfs
mkdir bin dev etc usr lib sbin proc
mkdir usr/bin usr/sbin usr/lib
注:bin和sbin可不创建,在下面安装BusyBox时会自动创建。
3 交叉编译并安装BusyBox
下载BusyBox并解压,然后对其进行配置和交叉编译,详见《Ubuntu14.04交叉编译BusyBox》。
4 构建etc目录
根据参考资料[2]的提示,可以参考BusyBox 源码中的 examples/bootfloppy/etc目录创建嵌入式Linux系统的etc目录。或者直接下载这个预先制作好的etc.tar.gz。
5 构建lib目录
该目录中的内容不是必须的,制作ramdisk根文件系统时(详见《Mini2440 ramdisk根文件系统》),为了减小体积,该目录为空即可。
5.1 安装内核模块
编译好Linux内核之后,执行如下命令将内核模块安装到rootfs/lib中:
make modules_install ARCH=arm INSTALL_MOD_PATH=/home/liyihai/mini2440/rootfs完成之后,将会在 rootfs/lib目录中生成一个 modules目录,里面包含了特定版本内核的模块内容。
5.2 安装编译库
将交叉编译工具中的库文件复制到该rootfs/lib目录即可。
6 制作映像文件
根据需要,可知将上述内容打包成不同类型的映像文件,例如YAFFS2,JFFS2等。
6.1 YAFFS2映像制作
下载mkyaffs2image工具,然后:
./mkyaffs2imge mini2440/rootfs mini2440_rootfs.img
6.2 RamDisk映像制作
参考资料
[1]根文件系统制作-et5
[4]CRAMFS制作方法
[5]BusyBox制作嵌入式Linux Cramfs根文件系统详解
[7]一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录
[10]mkyaffs2image的用法
[11]详解制作根文件系统
[13]mini2440构建根文件系统