命令行下制作文件系统镜像

作为一个嵌入式linux开发人员,系统镜像的制作是基础的必不可少的操作;在命令行下制作一个特定格式(ext2、ext3wwwww、ext4、etc..)的系统镜像,这也就意味着可以通过脚本将这些过程进行自动化。

首先了解几个命令:mke2fs、mkfs.ext2、mkfs.ext3、mkfs.ext4

这几个命令都是用来制作系统镜像,唯一的区别是mke2fs可以指定制作的文件系统格式,而mkfs.ext2/3/4则已经固定了文件系统的格式.

mke2fs命令参数与mkfs.ext2/3/4基本完全相同,下面列出几个常用的参数:

-t fs-type
指定文件系统类型(ext2, ext3, ext4)

-b block-size
指定每个块的大小,可用的block-size值为 1024, 2048 ,4096。块即文件系统分配物理空间的最小单位:尝试创建一个a.txt文件,即使文件内容为空,它仍然占据4K或者8K bytes的物理空间。

-L  new-volume-label
为当前制作的镜像设置分区标号,最大长度16个字节。可以类比windows下的盘符,例如 本地磁盘C:

-d root-directory
复制root-directory目录下的内容到你即将生成的镜像中,这个命令就可以用来制作根文件系统所在的分区

-F
强制生成镜像

mke2fs命令的基本格式是:mke2fs [-t fs-type] [-b block-size] [-L  new-volume-label] [-d root-directory] outimage block-num

例如: mke2fs -t ext4 -L pt1 -b 1024 image 4096 -F

回车就会生成一个名为image的大小为4M的镜像,大小4M的原因是:每个块1024个bytes,一共4096块,也就是4096 Kbytes=4M

对镜像进行挂载:

sudo mount image test
将image挂载到test目录下

cd test
进入image分区
touch 1.txt

sudo umount test

此时1.txt已经被写入了image

再次挂载即可看到你刚才创建的1.txt

你可能感兴趣的:(linux,嵌入式)