嵌入式linux如何创建rootfs根文件系统的镜像文件

1,建立目录,名称为rootfs

内含目标linux系统可见的根目录,比如/mnt,/dev,/proc,/mnt等等,注意sbin和bin目录内容用busybox来填充

hemin@ubuntu1:~/work/mkrootfs/rootfs$ tree -L 1
.
├── bin
├── dev
├── etc
├── home
├── lib
├── linuxrc -> bin/busybox
├── mnt
├── pro
├── root
├── sbin
├── sys
├── tmp
├── usr
└── var

2,busybox瑞士军刀编译拷贝

busybox是一个集成了一百多个最常用linux命令和工具的软件,我的理解就是用来生成linux下的常用命令的小程序。把编译后的busybox程序放到我们的要做的系统中后,我们就能用一些linux下的常用命令了。

#make //编译busybox

#make install //安装busybox

编译好后在busybox目录下生成子目录_install,里面的内容:

bin

linuxrc -> bin/busybox

sbin

拷贝到rootfs目录中去

3,创建空白文件系统 rootfs.ext2  ,

文件系统格式化为ext2,文件大小为 8M。

dd if=/dev/zero of=rootfs.ext2 bs=512 count=4096

mke2fs -F rootfs.ext2 -L "ramdisk" -b 512 -m 0

chmod 777 rootfs.ext2

4,通过挂载对镜像进行内容拷贝

mkdir ramdisk

mount -o loop -t ext2 rootfs.ext2 ramdisk/

cp -R rootfs/*  ramdisk  

这样镜像的内容就是rootfs的内容了,将其卸载就可以生成完整的镜像文件

umount ramdisk/

5,最终得到的rootfs.ext2就是我们所需要的根文件系统镜像

 

 

你可能感兴趣的:(linux,freeRTOS,linux)