petalinux-package には色々な引数があって、色々なことが出来る。
が、深掘りし始めると、何かよく分からない動きをする。
入れたつもりのないデバイスツリーとか入ってくる。(Linux起動には必要でしょ、ってことだろうが、FITイメージから起動する場合にはいらない。)
ここは、--bifオプションを使用し、*.bifファイルを指定したほうが、結局融通が効く。これをお勧めしたい。
また、*.bifでは、変な並び替えとか入らない。
その分、移動しようと思ったら、前後の入れ替えが必要になるが、ロード順まで制御できるということでもある。(FSBLはパッケージされた順にロードする。)
このせいか分からないが、動作がものすごく速い。
たぶん、余計なことをしない、言われた通りに動く、というものなんだと思われる。
何といっても、資料が豊富(笑
petalinux-packageの説明は、なんか怪しい。
bifは以下のドキュメント、Chapter 8、BIF Attribute Referenceが詳しい。
Bootgen User Guide (UG1283)
Example
*.bifによる記述
コマンドライン、ないしはshell
petalinux-package --boot \
--bif qspi.bif \
--force --format BIN -o ./images/linux/BOOT.BIN
the_ROM_image:
{
// bootloader, FSBL
[
bootloader,
destination_cpu=a53-0
] ./images/linux/zynqmp_fsbl.elf
// PMUFW
[
destination_cpu=pmu
] ./images/linux/pmufw.elf
// FPGA bitstream
[
destination_device=pl
] ./images/linux/system.bit
// TF-A (Trusted Firmware-A)
[
exception_level=el-3,
trustzone,
destination_cpu=a53-0
] ./images/linux/bl31.elf
// u-boot
[
exception_level=el-2,
destination_cpu=a53-0
] ./images/linux/u-boot.elf
}
petalinux-packageによる記述
コマンドライン、ないしはshell
petalinux-package --boot --force --format BIN \
--fsbl \
--pmufw \
--fpga \
--u-boot \