制作ext2根文件系统

Posted zhengmeifu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了制作ext2根文件系统相关的知识,希望对你有一定的参考价值。

2.构建文件系统(部分需要root权限)

 2.1.mkdir rootfs (后面文件系统就挂载在这里)

2.2.dd if=/dev/zero of=rootfs.ext2 bs=1k count=512000(制作500MB大小的根文件系统,实际文件系统空间不能超出这个范围)

2.3.losetup  /dev/loop0 rootfs.ext2 (如果loop0已被使用,可以使用loop1等。)

2.4.mke2fs -m 0 /dev/loop0 512000

2.5.mount -t ext2 /dev/loop0 ./rootfs/

接下来进入rootfs/目录,可以看到里面已经有了一个lost+found目录.在rootfs/目录中添加相关的文件和目录,完成根文件系统的构建.

以下步骤为把根文件系统拷贝到./rootfs文件夹下,若已经制作好,可以直接跳到2.11步骤。

2.6.cp –avrf (busybox目录)/_install/* rootfs

2.7.cp –avrf (busybox目录)/example/bootfloppy/etc rootfs

etc里面的是启动init相关的设置,这里以最简单来设置,同时修改ect下inttab,保留前2行,如下

::sysinit:/etc/init.d/rcS

::respawn:-/bin/sh

2.8.建立剩下需要的文件夹mkdir lib dev proc

2.9.复制lib库,这个要简单的话直接复制板子提供的文件系统里的lib即可,我就是直接复制的.如果没有,则需要拷贝交叉编译器中的uclibc库,进入交叉编译器的lib目录,然后拷贝必要的库.

2.10.创建dev库,在busybox目录/example/bootfloppy下有一个mkdevs.sh,

sh mkdevs.sh rootfs/dev/

可以用它来快捷建立需要的设备.也可以根据需要来使用mknod建立.

至此,最基本的基于ext2的根文件系统制作完成~

2.11打包压缩

umount /dev/loop0

losetup -d /dev/loop0

gzip -v9 rootfs.ext2 

最后制作出来的rootfs.ext2.gz就是需要的了.

亲亲台宝: http://qinqintaibao.taobao.com

以上是关于制作ext2根文件系统的主要内容,如果未能解决你的问题,请参考以下文章

文件系统类型

深入理解Linux文件系统之ext2路径名查找

linux 文件系统 内核编译

Linux文件系统--基于EXT2

根文件系统制作

[架构之路-30]:目标系统 - 系统软件 - Linux OS根文件系统rootfs的概念组成制作以及用busybox制作根文件系统