0

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

4

1 回答 1

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
于 2019-05-10T14:55:24.063 回答