制作根文件系统的EXT2镜像文件

来源:互联网 发布:sql 单个join on用法 编辑:程序博客网 时间:2024/06/05 15:52

本文参考了 [loop设备及losetup命令介绍] (http://blog.csdn.net/ustc_dylan/article/details/6878252) 以及[制作ext2根文件系统(http://blog.csdn.net/zhengmeifu/article/details/24174513)

TIP:在制作EXT2之前首先**检验该根文件系统是否可用.

制作步骤:
1:在根文件系统所在的文件夹目录(同级水平下)新建目录:
sunyi@mint /exports $ sudo mkdir ext2_rfs
(后面文件系统就挂载在这里).

2: 创建空的磁盘镜像文件,这里创建一个10**M的软盘(注意查看根文件系统的大小,如果新建的空间太小容易导致出现 **No space left on device ,并且根文件系统所在的文件夹名称则为:rfs

dd if=/dev/zero of=rfs.ext2 bs=1024 count=10240

3:使用 losetup将磁盘镜像文件虚拟成快设备

losetup  /dev/loop1 rfs.ext2

4:建立ext2文件系统

mke2fs -m 0 /dev/loop1 10240

5:挂载块设备

mount -t ext2 /dev/loop1 ./ext2_rfs/

6:将根文件夹(rfs)下所有内容拷贝到ext2_rfs下:

sudo cp ../rfs/* ./ -rf

若出现No space left on device,则两种可能,1:(http://www.linuxidc.com/Linux/2016-06/132330.htm)
2:可能在dd if=/dev/zero of=rfs.ext2 bs=1024 count=10240时分配的10M内存过小,需要加大数据,如count=10240*/

7:解除映射关系

umount /dev/loop1losetup -d /dev/loop1

8:完成后得到的rootfs.ext2就是我们做好的rootfs镜像。拿去烧录即可,在烧录时需要针对不同的开发板使用不同的bootargs,示例:
set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext2

原创粉丝点击