我想使用linux 4.10及更高版本中支持的加密UBIFS。 我使用linux 4.18.4进行测试。 我做的一切正常,当我使用fscryptctl设置加密策略时,出现此错误:
fscryptctl set_policy 6de1ee71051bd470 /var/ubifs/
UBIFS错误(ubi0:0 pid 1400):ubifs_enable_encryption:闪存上 需要使用格式版本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:闪存上 加密需要格式版本5,当前版本是版本4。
因此,这意味着内核需要版本5进行加密,但是我使用版本4。 而且我需要一个工具来制作带有版本的UBIFS。
当前,我使用从http://www.linux-mtd.infradead.org/下载的mtd-utils-2.0.2来构建ubifs映像。并且它使UBIFS具有版本4。
我通过Google搜索了许多有关UBIFS版本的信息,但一无所获。
有人知道如何用版本5创建UBIFS吗?
答案 0 :(得分:1)
好像它已添加到mtd utils 2.1
从2.0.2
更改为`2.1.0:
Features:
- mkfs.ubifs: Implement support for file system encryption
- mkfs.ubifs: Implement selinux labelling support
- ubinize: add support for skipping CRC check of a static volume when opening
- ubimkvol: add support for skipping CRC check of a static volume when opening
- Add lsmtd program