rootfs中存放着整个linux系统相关的功能软件功能的文件,把根文件系统导出来,用于烧写到新的设备或用于PVE LXC CT模板
1.获取系统镜像
找到需要提取的系统镜像,拉取到本地(我需要提取iStorOS用于TVI3315A ARM开发板PVE LXC启动,就以R4S的系统镜像作为例子)
wget https://fw20.koolcenter.com/iStoreOS/r4s/istoreos-24.10.2-2025090517-r4s-squashfs.img.gz
可以发现下载的镜像是以.gz结尾的,需要使用gzip解压
gzip -d 镜像名称
ls能看到解压出来img镜像文件,接下来挂载镜像文件用于提取
2.挂载镜像文件
创建挂载目录,可以任何位置
mkdir /mnt/istoreos
加载NDB模块
modprobe nbd
挂载镜像
qemu-nbd -c /dev/nbd0 -f raw istoreos-24.10.2-2025090517-r4s-squashfs.img
查看挂载镜像的分区
lsblk -f /dev/nbd0
squashfs是我们需要提取打包的rootfs文件,我们需要挂载这分区到刚刚创建的文件夹进行打包
mount /dev/nbd0p2 /mnt/istoreos
进入刚挂载的文件夹,查看是否有文件
3.打包镜像
使用tar打包
tar -czvf /home/istoreosistoreos.rootfs.tar.gz .
等待打包完成,打包完成后会在home目录查看到文件
至此rootfs文件打包完成,上传到PVE CT模板就可以使用了,具体使用方法可以参考《PVE LXC容器部署iStoreos(OpenWRT)》
4.卸载挂载的系统镜像
umount /mnt/istoreos
qemu-nbd -d /dev/nbd0
rm -rf /mnt/istoreos