「インストール - ZFS」の版間の差分

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


案内メニュー