AWSのRedHat Linux環境でSecure Bootを設定する際に直面した問題を解決するための手順を解説します。特に、手順9に記載されたUEFI変数をESL形式に変換する作業で発生するエラーや、その対処方法について詳しく説明します。
問題の概要
AWS上のRedHat LinuxでSecure Bootを設定するために、手順9で指定されたコマンドを実行した際、`authfiles.py`が指定されたパスに存在しないという問題が発生しました。さらに、指定されたコマンド`for f in PK KEK db dbx; do tail -c +41 $f.auth > $f.esl; done`を実行すると、`.auth`ファイルが見つからないというエラーが発生しました。
原因と対処法
まず、`authfiles.py`が指定されたパスに存在しない場合、実際には`/usr/lib/python3.9/site-packages/virt/firmware/varstore`に同じファイルがあることが確認されました。この場合、ファイルパスを変更して実行することでエラーなく終了しましたが、次のコマンド実行時に`*.auth`ファイルが存在しないためにエラーが発生しています。
手順9のコマンドについて
手順9で実行する`python3 /usr/share/doc/python3-virt-firmware/experimental/authfiles.py –input VARS –outdir .`コマンドが失敗する原因として、まず`.auth`ファイルが生成されていないことが考えられます。これに対処するためには、`authfiles.py`スクリプトを正しく実行し、`*.auth`ファイルを生成する必要があります。このスクリプトが動作しない場合、ファイル生成に必要な環境や設定が不足している可能性があります。
まとめ
AWS上でRedHat LinuxのSecure Boot設定を行う際に`authfiles.py`が見つからない問題が発生しましたが、実際にはファイルパスを変更することで解決しました。しかし、`*.auth`ファイルが生成されていない場合、設定を見直して再度試行する必要があります。この問題が発生した場合は、適切なファイルパスの確認やスクリプトの動作確認を行ってください。


コメント