如何使用版本5创建ubif?

时间:2018-09-12 10:00:27

标签: linux ubifs

我想使用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吗?

1 个答案:

答案 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