概要

Bootgen は、バイナリ ファイルを統合してデバイス ブート イメージを生成するザイリンクス ツールです。このツールは、ザイリンクス デバイスで使用するブート イメージの作成時に入力される複数のプロパティ、属性、およびパラメーターを定義します。

ザイリンクス デバイスのセキュア ブート機能には、公開キーおよび秘密キーの暗号化アルゴリズムを使用します。Bootgen は各パーティションに対して特定のデスティネーション メモリ アドレスを割り当て、アライメント要件を与えます。また、暗号化の使用および認証の使用で説明するように、暗号化と認証もサポートしています。より高度な認証フローとキー管理オプションについては、HSM モードの使用で説明しています。HSM モードでは、Bootgen は、秘密キーを使用してオフラインで署名可能な中間ハッシュ ファイルを出力し、ブート イメージに含まれる認証証明に署名できます。このプログラムがパーティション リストにヘッダー ブロックを加えることでブート イメージを構築します。各パーティションは、Bootgen によってオプションで暗号化したり、認証したりできます。出力は、システムのブート フラッシュ メモリへ直接プログラムできるシングル ファイルです。認証や暗号化をサポートするさまざまな入力ファイルも、このツールで生成できます。詳細は、BIF 構文およびサポートされるファイルの種類 を参照してください。

Bootgen には GUI インターフェイスとコマンド ライン オプションの両方があります。Bootgen はソフトウェア開発ツール キットである Vitis™ 統合開発環境 (IDE) に統合されており、基本的なブート イメージの生成には GUI を使用しますが、オプションの大部分はコマンド ライン駆動型です。コマンド ライン オプションはスクリプトで記述できます。Bootgen ツールは、ブート イメージ フォーマット (BIF) のコンフィギュレーション ファイル (*.bif) で駆動されます。ブート イメージのビヘイビアーを定義するコマンドおよび属性がサポートされているだけでなく、Bootgen での作業に役立つユーティリティもあります。Bootgen コードは、GitHub から入手できます。

Bootgen のインストール

ブート イメージを簡単に作成するには Bootgen を GUI モードで使用し、より複雑なブート イメージを作成する場合はコマンド ライン モードで使用します。コマンド ライン モードのコマンドもスクリプトで記述できます。Bootgen は、Vivado Design Suite インストーラーからインストールするか、スタンドアロンでインストールできます。VitisVivado® Design Suite をインストールすると使用できるようになります。または、個別にダウンロードしてインストールします。可能なすべてのインストール オプションの詳細は、『Vivado Design Suite ユーザー ガイド: リリース ノート、インストール、およびライセンス』 (UG973) を参照してください。

Vivado から Bootgen をインストールするには、ザイリンクス ダウンロード サイトに移動し、Vivado 自己解凍型インストーラーを選択します。Vivado をインストールする際に Vitis をインストールするオプションを選択します。Bootgen は Vitis と共に含まれます。また、Vitis インストーラーから Bootgen をインストールすることもできます。Vitis 自己解凍型インストーラーは、ザイリンクス ダウンロード サイトにあります。Vitis と Bootgen をインストールしたら、Vitis GUI または XSCT からこのツールを呼び出して使用できます。SDK GUI オプションには、短時間での開発および試行を可能にする最も一般的なアクションが含まれています。

コマンド ライン オプションには、ブート イメージを実装するためのさらに多くのオプションが用意されています。GUI およびコマンド ライン オプションの詳細は、Bootgen インターフェイスの使用 を参照してください。

Vitis に関する詳細は、Vitis ヘルプを参照してください。

ブート時のセキュリティ

最新の認証方法によるセキュア ブートは、ザイリンクス デバイス上で認証されていないコードまたは変更されたコードが実行されないようにし、さまざまな暗号化テクニックがロードされるためイメージにアクセスできるのは承認されたプログラムのみとなります。

デバイス固有のハードウェア セキュリティ機能の詳細は、次の資料を参照してください。

  • 『Zynq-7000 SoC テクニカル リファレンス マニュアル』 (UG585: 英語版日本語版)
  • 『Zynq UltraScale+ デバイス テクニカル リファレンス マニュアル』 (UG1085: 英語版日本語版)

Bootgen を使用する場合のコンテンツの暗号化および認証の詳細は、暗号化の使用および認証の使用を参照してください。

Bootgen ハードウェア セキュリティ モニター (HSM) モードでは、BIF 属性は RSA 秘密キーではなく公開キーを使用するため、キー処理のセキュリティが向上します。HSM はセキュア キー/署名生成デバイスであり、秘密キーを生成し、秘密キーを使用してパーティションの暗号化を実行し、RSA キーの公開部分を Bootgen に提供します。秘密キーが HSM の外部に出ることはありません。Bootgen HSM モードでの場合は、BIF は HSM によって生成された公開キーと署名を使用します。詳細は、HSM モードの使用を参照してください。