Linux根文件系统制作

时间:2021-09-11 23:43:30

1 开发环境

    宿主机:Ubuntu14.04(32bit)

    开发板:Mini2440

    Kernel:2.6.39.4

    BusyBox:1.24.2

2 创建目录

(1)创建根目录rootfs,这个目录就是要移植到Mini2440开发板的目录:

mkdir rootfs
(2)进入 rootfs并创建目录 bindevetcusrlibsbinprocusr/binusr/sbinusr/lib

cd rootfs
mkdir bin dev etc usr lib sbin proc
mkdir usr/bin usr/sbin usr/lib

    注:binsbin可不创建,在下面安装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映像制作

    详见《Mini2440 ramdisk根文件系统》。

参考资料

[1]根文件系统制作-et5

[2]使用BusyBox制作嵌入式Linux根文件系统

[3]cramfs格式根文件系统制作

[4]CRAMFS制作方法

[5]BusyBox制作嵌入式Linux Cramfs根文件系统详解

[6]yaffs2文件系统的制作 

[7]一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录

[8]linux yaffs2根文件系统制作过程 

[9]一种制作YAFFS2嵌入式文件系统的方法

[10]mkyaffs2image的用法 

[11]详解制作根文件系统

[12]linux系统移植和根文件系统制作 

[13]mini2440构建根文件系统