rootfs

Ling Yu
下载官方提供的 qcow2 文件
Rocky Linux 提供最新版的 qcow2 文件下载地址:
制作 rootfs.tar.gz
以下所有的操作依赖的命令有:kpartx、qemu-img、losetup、fdisk、mount、umount,如果命令不存在,请自行安装之。 转换 qcow2 文件到 raw 文件
qemu-img convert -f qcow2 -O raw Rocky-8-GenericCloud-Base.latest.x86_64.qcow2 Rocky8.raw
使用 losetup 将 raw 文件虚拟成块设备
losetup /dev/loop1 Rocky8.raw
使用 kpartx 挂载虚拟文件系统
kpartx -a /dev/loop1
使用 fdisk 查看挂载的分区情况
fdisk -l /dev/loop1
返回如下信息
Disk /dev/loop1: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2cc9c27e
Device Boot Start End Sectors Size Id Type
/dev/loop1p1 * 2048 16386047 16384000 7.8G 83 Linux
此处的/dev/loop1p1就是等下要 mount 的块设备具体的名称。
挂载块设备到本机路径
mount /dev/mapper/loop1p1 /mnt
进入挂载点 /mnt,查看文件
cd /mnt
ls -la
打包压缩 /mnt 整个目录为 rootfs.tar.gz,保存到 /opt
tar zcf /opt/rootfs.tar.gz *
查看打包后的文件,确认文件存在,大小一般是在几百 MB
ll -h /opt/rootfs.tar.gz
后续
卸载挂载点
cd ~
umount /mnt
使用 kpartx 卸载虚拟文件系统
kpartx -d /dev/loop1
使用 losetup 卸载虚拟块设备
losetup -d /dev/loop1