構文
boot_config { s_hwrot } 説明
非対称ハードウェアの信頼のルート (S-HWRoT) ブート モード。Bootgen で S-HWRoT ブート モードのデザイン ルー ルがチェックされます。プロダクション PDI でのみ有効です。
構文
[split] mode = <mode-options>, fmt=<format>
説明
モードに基づいてイメージを分割します。スレーブ ブート (slaveboot) モードでは次のように分割されます。
• ブート ヘッダー + ブートローダー
• イメージ ヘッダーおよびパーティション ヘッダー
• 残りのパーティション
通常 (normal) モードでは次のように分割されます。
• ブートヘッダー + イメージヘッダー + パーティションヘッダー + ブートローダー
• Partition1
• パーティション 2、以下同様
スレーブ ブート モードは Zynq UltraScale+ MPSoC でのみサポートされ、通常モードは Zynq-7000 および Zynq UltraScale+ MPSoC の両方でサポートされます。分割 (split) モードでは、出力フォーマットも bin または mcs に設定 できます。
オプション
引数で使用可能なオプションは次のとおりです。
• slaveboot
• normal
• bin
• mcs
例 all:{
[split]mode=slaveboot,fmt=bin
[bootloader,destination_cpu=a53-0]fsbl.elf [destination_device=pl]system.bit
[destination_cpu=r5-1]app.elf }
注記: オプションの split の normal モードは、コマンド ライン オプションの split と同じです。このコマンド ライン オプションは廃止予定です。
構文
• Zynq デバイスおよび Zynq UltraScale+ MPSoC の場合:
[spkfile] <key filename>
• Versal™ ACAP の場合:
spkfile = <filename>
説明
セカンダリ公開キー (SPK) は、ブート イメージ内のパーティションを認証するために使用されます。詳細は、認証の 使用 を参照してください。
引数
指定するファイルの名前。
例
• Zynq デバイスおよび Zynq UltraScale+ MPSoC の場合:
all:{
[pskfile] primarykey.pem [spkfile] secondarykey.pub [sskfile] secondarykey.pem
[bootloader, authentication=rsa]fsbl.elf [authentication=rsa] hello.elf
}
• Versal™ ACAP の場合:
all:
{ boot_config {bh_auth_enable}
pskfile=primary0.pem,
image { name = pmc_ss, id = 0x1c000001 { type=bootloader, authentication=rsa, file=plm.elf, spkfile=secondary0.pub,
sskfile=secondary0.pem }
{ type = pmcdata, load = 0xf2000000, file=pmc_cdo.bin } { type=cdo, authentication=rsa, file=fpd_cdo.bin}
spkfile=secondary1.pub, sskfile = secondary1.pem } } }
注記: 秘密キー ファイルには、キーの公開キー コンポーネントが含まれます。秘密キー (SSK) が指定されている場合 は、公開キー (SPK) を指定する必要はありません。
構文
Zynq および Zynq UltraScale+ MPSoC デバイスの場合:
[spksignature] <Signature file>
Versal ACAP の場合:
spksignature = <signature file>
説明
SPK 署名を認証証明にインポートします。これは、秘密キー PSK を共有しない場合に使用できます。署名を作成して Bootgen に供給できます。
引数
指定するファイルの名前。
例
Zynq および Zynq UltraScale+ MPSoC デバイスの場合:
all:{
[ppkfile] ppk.txt [spkfile] spk.txt
[headersignature]headers.sha256.sig [spksignature] spk.txt.sha256.sig
[bootloader, authentication=rsa] fsbl.elf }
Versal ACAP の場合: stage7c:
{ image {
id = 0x1c000000, name = fpd { type = bootimage, authentication=rsa, ppkfile = PSK3.pub, spkfile = SSK3.pub,
spksignature = SSK3.pub.sha384.sig, presign = fpd_data.cdo.0.sha384.sig, file = fpd_e.bin
} } }
構文
[spk_select = <options>]
または
[auth_params] spk_select = <options>
説明
オプションは次のとおりです。
• spk-efuse: パーティションに spk_id eFUSE が使用されていることを示します。これがデフォルト値です。
• user-efuse: パーティションにユーザー eFUSE が使用されていることを示します。
CSU ROM によってロードされるパーティションは 、常に spk_efuse を使用します。
注記: spk_id eFUSE は、どのキーが有効であるかを指定します。したがって、ROM は spk_id eFUSE のフィール ド全体を SPK ID と照合してビットが一致することを確認します。
ユーザー eFUSE は、どのキー ID が有効でない (取り消された) かを指定します。したがって、ファームウェア (ROM 以外) は、SPK ID を表すそのユーザー eFUSE がプログラムされているかどうかをチェックします。spk_select = user-efuseの場合、そのパーティションにユーザー eFUSE が使用されることを意味します。
例
the_ROM_image:
{ [auth_params]ppk_select = 0 [pskfile]psk.pem
[sskfile]ssk1.pem [
bootloader,
authentication = rsa, spk_select = spk-efuse, spk_id = 0x5,
sskfile = ssk2.pem ] zynqmp_fsbl.elf [
destination_cpu =a53-0, authentication = rsa, spk_select = user-efuse, spk_id = 0xF,
sskfile = ssk3.pem ] application1.elf [
destination_cpu =a53-0, authentication = rsa,
] application2.elf }