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

标签 linux embedded-linux yocto u-boot ext4

我在 Ubuntu 18.04 上使用 Yocto 和 Meta-Tegra 的 Warrior Branch,以便尝试集成用于 Linux 固件更新的 RAUC 开源项目。

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

以下是一些相关帖子:

我通过在 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 可以从 U-Boot 空间随意读取/写入,并且 Linux 可以挂载根文件系统。

我正在尝试弄清楚如何在使用 Yocto 创建镜像时在 Ubuntu 上禁用 Tune2fs 的校验和。在哪里/如何添加它,以便图像在 Yocto 创建图像时禁用校验和?

最佳答案

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

尝试

EXTRA_IMAGECMD_append = " -O ^metadata_csum"

在你的 local.conf 中

关于linux - Yocto 自定义层在 mkfs.ext4 之后在 do_rootfs 上运行 Tune2fs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57255930/

相关文章:

c++ - 如何以编程方式在 KDE 中获取键盘重复设置?

多个进程的Linux内核逻辑地址

linux - 选择哪个 yocto 发布标签

yocto 使用主机 perl 安装打开嵌入式配方

linux - 基于 Allwinner H3 的 linux 板上的 GadgetFS

linux - 查找文件并仅打印其父目录

linux - USB调制解调器的交叉编译驱动程序

c - 访问 max7219 LED 矩阵的 spidev 用户界面

yocto - 使用 bitbake SRC_URI 文件 ://fetcher 从解压的源树中剥离基本路径

regex - grep Regex 在文件中查找特定单词