我想使用 linux 4.10 及更高版本支持的加密 UBIFS。我使用 linux 4.18.4 进行测试。我做的一切都很好,当我使用 fscryptctl 设置加密策略时,我得到了这个错误:
fscryptctl set_policy 6de1ee71051bd470 /var/ubifs/
UBIFS 错误 (ubi0:0 pid 1400): ubifs_enable_encryption: 加密需要 on-flash 格式版本 5。
我找到了在内核中打印错误消息的地方,我尝试打印 UBIFS 版本的当前版本,我得到的版本是 4。
int ubifs_enable_encryption(struct ubifs_info *c)
{
......
if (c->fmt_version < 5) {
ubifs_err(c, "on-flash format version 5 is needed for encryption, current is version %d.", c->fmt_version);
return -EINVAL;
}
......
return err;
}
修改代码后,我收到以下错误消息:
UBIFS 错误(ubi0:0 pid 1400):ubifs_enable_encryption:加密需要 on-flash 格式版本 5,当前是版本 4。
所以,这意味着内核需要版本 5 进行加密,但我使用版本 4。而且我需要一个工具来制作带有版本的 UBIFS。
目前,我使用从http://www.linux-mtd.infradead.org/下载的 mtd-utils-2.0.2来构建 ubifs 映像。它使 UBIFS 具有版本 4。
我已经通过谷歌搜索了许多有关 UBIFS 版本的信息,但一无所获。
有谁知道如何使用版本 5 创建 UBIFS?