|
|
| 196行目: |
196行目: |
| sudo make distclean -j $(nproc) # .configファイル等の設定ファイルを全て削除する | | sudo make distclean -j $(nproc) # .configファイル等の設定ファイルを全て削除する |
| <br><br> | | <br><br> |
|
| |
| == F2FSモジュールの署名 (セキュアブートが有効の場合) ==
| |
| セキュアブートが有効の場合、F2FSモジュールの署名を登録する必要がある。<br>
| |
| <br>
| |
| まず、F2FSモジュールの署名に必要な設定ファイルを作成する。<br>
| |
| mkdir -p ~/MOK/F2FS && cd ~/MOK/F2FS
| |
| vi F2FS.config
| |
| <br>
| |
| # ~/MOK/F2FS/F2FS.configファイル
| |
|
| |
| [ req ]
| |
| default_bits = 4096
| |
| distinguished_name = req_distinguished_name
| |
| prompt = no
| |
| string_mask = utf8only
| |
| x509_extensions = myexts
| |
|
| |
| [ req_distinguished_name ]
| |
| O = SUSE Linux Products GmbH (User Add F2FS) # 任意の名前
| |
| CN = SUSE Linux Enterprise Secure Boot (User Add F2FS) # 任意の名前
| |
| emailAddress = suse@localhost # 任意のメールアドレス
| |
|
| |
| [ myexts ]
| |
| basicConstraints=critical,CA:FALSE
| |
| keyUsage=digitalSignature
| |
| subjectKeyIdentifier=hash
| |
| authorityKeyIdentifier=keyid
| |
| <br>
| |
| キーペアを作成する。<br>
| |
| openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 -batch -config ./F2FS.config \
| |
| -outform DER -out ./F2FS.der -keyout ./F2FS.priv \
| |
| -addext "extendedKeyUsage=codeSigning"
| |
| <br>
| |
| 次に、MOK(Module owned Key)にキーをインポートする。<br>
| |
| <code>--root-pw</code>オプションを付加することにより、再起動時のF2FSモジュールの署名において、rootパスワードが必要となる。<br>
| |
| sudo mokutil --import ./F2FS.der --root-pw
| |
| <br>
| |
| PCを再起動して、上記のキーの署名する。<br>
| |
| sudo systemctl reboot
| |
| <br>
| |
| F2FSモジュール(f2fs.ko)を署名する。<br>
| |
| sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./F2FS.priv ./F2FS.der /lib/modules/$(uname -r)/kernel/fs/f2fs/f2fs.ko
| |
| <br>
| |
| 必要であれば、F2FSモジュールをXZ形式またはZstandard形式に圧縮する。(任意)<br>
| |
| # XZ形式の場合
| |
| cd /lib/modules/$(uname -r)/kernel/fs/f2fs/
| |
| xz -f f2fs.ko
| |
|
| |
| # Zstandard形式の場合
| |
| cd /lib/modules/$(uname -r)/kernel/fs/f2fs/
| |
| zstd --rm f2fs.ko
| |
| <br>
| |
| F2FSモジュールを読み込む。<br>
| |
| sudo depmod -a $(uname -r) # モジュール依存リストを更新する
| |
| sudo modprobe -v f2fs # F2FSモジュールをロードする
| |
| <br>
| |
| F2FSモジュールが正常に読み込まれているかどうかを確認する。<br>
| |
| lsmod | grep f2fs # 正常に読み込まれたかどうかを確認する
| |
| <br>
| |
| F2FSモジュールが正しく署名されているかどうかを確認する。<br>
| |
| 正常に読み込まれている場合は、<u>"F2FS.der is already enrolled"</u>と表示される。<br>
| |
| cd <F2FSモジュールの署名ファイルが存在するディレクトリ>
| |
| sudo mokutil --test-key ./F2FS.der
| |
| <br>
| |
| 上記の署名は、カーネルがアップデートされた場合、再度、署名が必要となることに注意する。<br>
| |
| <br>
| |
| 作成したキーは信頼されるため、キーを適切に保存する必要がある。<br>
| |
| このキーで署名されたものはシステムから信頼されるため、セキュリティリスクとなる可能性があることに注意する。<br>
| |
| <br>
| |
|
| |
|
| == F2FS Toolのインストール == | | == F2FS Toolのインストール == |