在 mkfs.ext4 之后 do_rootfs 上的 Yocto 自定义层 运行 Tune2fs

Yocto Custom Layer run Tune2fs on do_rootfs after mkfs.ext4

我在 Ubuntu 18.04 上将 Yocto 与 Meta-Tegra 的 Warrior 分支一起使用,以便尝试为 Linux 固件更新集成 RAUC 开源项目。

我了解到,如果要写入的 EXT4 文件系统具有 metadata_csum 属性,则 U-Boot 在写入 EXT4 分区(以更新 U-Boot 环境)时会出现问题。 Linux 如果启用该属性并且 U-Boot 完全写入,则无法挂载根文件系统。

这里有一些帖子:

我通过在 Ubuntu 和 运行 上安装来自 Yocto 的生成的 SDCARD 映像来证明是这种情况,并使用以下命令禁用 metadata_csum:

sudo tune2fs -O ^metadata_csum /dev/sdb1
tune2fs 1.44.1 (24-Mar-2018)
Disabling checksums could take some time.
Proceed anyway (or wait 5 seconds to proceed) ? (y,N) y

在 运行 该命令之后 - U-Boot 可以 read/write 随意从 U-Boot space 和 Linux 可以挂载根文件系统。

我想弄清楚如何在使用 Yocto 创建图像时在 Ubuntu 上使用 Tune2fs 禁用校验和。 Where/How 我可以添加这个以便图像在 Yocto 创建图像时禁用校验和吗?谢谢。

我简单地查看了 meta-tegra,我认为它使用了通过 image_class.bcclass 创建的 ext4 根文件系统映像。您可以将参数添加到 mkfs.ext4 thorugh EXTRA_IMAGECMD。应该可以在禁用 metadata_csum 的情况下创建文件系统,而不是稍后将其关闭。

尝试

EXTRA_IMAGECMD_append = " -O ^metadata_csum"

在你的local.conf