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 イメージを構築しています。そして、バージョン 4 で UBIFS を作成します。
Google で UBIFS バージョンに関する多くの情報を検索しましたが、何も得られません。
バージョン 5 で UBIFS を作成する方法を知っている人はいますか?