Yocto如何修改rootfs文件系统类型构建带squashfs根的vdi镜像
Yocto构建带squashfs根文件系统的.wic.vdi镜像方案
可以实现,按以下步骤配置即可:
- 第一步:添加squashfs到构建的文件系统类型列表
在conf/local.conf或者自定义发行版配置文件中添加如下配置:IMAGE_FSTYPES += "squashfs wic.vdi" WIC_ROOTFS_TYPE = "squashfs"WIC_ROOTFS_TYPE变量会指定WIC工具构建镜像时使用的根文件系统类型,优先级高于WKS文件中的默认配置。 - 第二步:校验/调整WKS启动配置文件
如果你使用的是自定义WKS文件,确认根分区配置行的--fstype参数要么设置为squashfs,要么使用${WIC_ROOTFS_TYPE}变量占位;如果使用Yocto官方提供的通用WKS文件,大部分已经默认使用变量占位,无需额外修改。
示例WKS根分区配置:part / --source rootfs --fstype=${WIC_ROOTFS_TYPE} --align 1024 --size 4096 - 第三步:确认内核squashfs支持
确保内核配置开启了squashfs文件系统支持,对应配置项为CONFIG_SQUASHFS=y,如果需要支持压缩格式还需开启对应的压缩配置(如CONFIG_SQUASHFS_XZ=y等),避免系统启动时无法挂载根分区。 - 第四步:重新构建镜像
执行构建命令:bitbake <你的镜像名称>
构建完成后输出的.rootfs.wic.vdi镜像默认就会使用squashfs作为根文件系统。
如果配置后未生效,可检查是否有其他层的配置覆盖了WIC_ROOTFS_TYPE变量,或者WKS文件写死了ext4类型。
内容的提问来源于stack exchange,提问作者EatTheGiant
相关产品推荐
相关产品推荐

