一、dd命令的使用
<i>使用dd命令创建镜像文件:
dd if=/dev/zero of=rootfs.img bs=1M count=4096
其中if参数是读取的文件,of参数是写入的文件,bs是每次读取的大小,count是读取的次数;
<ii>使用dd命令虚拟块设备文件创建:
dd if=/dev/zero of=rootfs.img bs=1M count=0 seek=4096
这里用了一个新的命令seek,表示略过4096个block不写,这时使用ls命令可以查看新生成的文件是4G,但是使用du查看文件占用空间实际只有0M;
生成rootfs.img文件系统镜像后,我们可以按照自己的实际需求对它进行分区,具体操作如下:
sudo fdisk rootfs.img (这里我们分了两个分区,文件系统类型是fat和ext4)
二、loseup命令的使用(设置循环设备)
使用下面指令将rootfs.img连接到/dev/loopxxx
sudo loseup --partscan --find --show rootfs.img
使用下面的指令显示所有的循环设备列表(注意loopxxx中的p1和p2是不同的文件系统)
lsblk --fs
loop0 ├─loop0p1 vfat MacData └─loop0p2 exfat SharedData
我们先进行挂载然后把自己制作的文件系统copy到挂载目录
sudo mount /dev/loop0p1 my_dir (一般我们会把Image、uboot、.dtb文件放到这里,文件系统放到第二个分区中)
cp Image uboot x.dtb mydir/
sudo umouny my_dir
sudo mount /dev/loop0p2 my_dir
cp rootfs/* my_dir
卸载设备
sudo umount my_dir
sudo loseup -d /dev/loop0
到这里我们的文件镜像制作完成。