Yocto - 如何更改 rootfs 文件系统类型
Yocto - How do I change the rootfs file system type
我正在尝试使用 squashfs rootfs 构建 vdi 映像,但找不到将当前 ext4 fs 更改为 squash 的位置。我找到的最接近的解决方案在这里:How do I change the rootfs file system type used for the sdcard image in yocto?
但我不觉得这回答了我的问题。我能够构建 .rootfs.squashfs 和 .rootfs.wic.vdi。是否可以使用 bitbake 使用 squashfs root 构建 .rootfs.wic.vdi?
寻找wic
命令的配置文件:如果你在yocto树中搜索或查看日志(使用bitbake -D ...
获取更多日志),你可能会找到一个文件名称后缀 .wks
。这是传递给 wic
.
的指令文件
在yocto环境下,可以在命令行使用wic
。例如,要获取手册概览:
$ wic help overview
NAME
wic overview - General overview of wic
DESCRIPTION
The 'wic' command generates partitioned images from existing
OpenEmbedded build artifacts. Image generation is driven by
partitioning commands contained in an 'Openembedded kickstart'
[...]
--source
选项触发一个插件。该手册可能不是最新的,您可能需要查看插件的源代码(wic
写在 python 中),它位于如下位置:.. .poky/scripts/lib/wic。您将在 partition.py 中看到管理“rootfs”插件的代码。您将看到仅支持一组减少的文件系统类型。希望 squashfs 是其中的一部分。这是管理它的代码片段:
def prepare_rootfs_squashfs(self, rootfs, oe_builddir, rootfs_dir,
native_sysroot, pseudo):
"""
Prepare content for a squashfs rootfs partition.
"""
extraopts = self.mkfs_extraopts or '-noappend'
squashfs_cmd = "mksquashfs %s %s %s" % \
(rootfs_dir, rootfs, extraopts)
exec_native_cmd(squashfs_cmd, native_sysroot, pseudo=pseudo)
以上说明wic
调用mksquashfs工具构建文件系统
howto 的示例。
我正在尝试使用 squashfs rootfs 构建 vdi 映像,但找不到将当前 ext4 fs 更改为 squash 的位置。我找到的最接近的解决方案在这里:How do I change the rootfs file system type used for the sdcard image in yocto? 但我不觉得这回答了我的问题。我能够构建 .rootfs.squashfs 和 .rootfs.wic.vdi。是否可以使用 bitbake 使用 squashfs root 构建 .rootfs.wic.vdi?
寻找wic
命令的配置文件:如果你在yocto树中搜索或查看日志(使用bitbake -D ...
获取更多日志),你可能会找到一个文件名称后缀 .wks
。这是传递给 wic
.
在yocto环境下,可以在命令行使用wic
。例如,要获取手册概览:
$ wic help overview
NAME
wic overview - General overview of wic
DESCRIPTION
The 'wic' command generates partitioned images from existing
OpenEmbedded build artifacts. Image generation is driven by
partitioning commands contained in an 'Openembedded kickstart'
[...]
--source
选项触发一个插件。该手册可能不是最新的,您可能需要查看插件的源代码(wic
写在 python 中),它位于如下位置:.. .poky/scripts/lib/wic。您将在 partition.py 中看到管理“rootfs”插件的代码。您将看到仅支持一组减少的文件系统类型。希望 squashfs 是其中的一部分。这是管理它的代码片段:
def prepare_rootfs_squashfs(self, rootfs, oe_builddir, rootfs_dir,
native_sysroot, pseudo):
"""
Prepare content for a squashfs rootfs partition.
"""
extraopts = self.mkfs_extraopts or '-noappend'
squashfs_cmd = "mksquashfs %s %s %s" % \
(rootfs_dir, rootfs, extraopts)
exec_native_cmd(squashfs_cmd, native_sysroot, pseudo=pseudo)
以上说明wic
调用mksquashfs工具构建文件系统
howto 的示例。