PetaLinux® U-bootを変更する方法

皆さん、こんにちは。
本ブログではPetaLinux® 2020.2を使用する際のU-bootのカスタマイズ方法について紹介したいと思います。
このブログは「FPGA設計ブログ一覧」の
5. プログラミング(FPGAへの書き込み)の
ひとつです。
目次
はじめに
PetaLinux® ツールは、AMD社のプロセッシング システム上でエンベデッド Linux ソリューションをカスタマイズ、ビルドおよびデプロイするために必要なものをすべて提供します。
設計生産性の加速を目的とするこのソリューションは、AMD社のハードウェア設計ツールと連動し、Versal®、Zynq® UltraScale+™ MPSoC、Zynq®-7000 SoC、および MicroBlaze™向けのLinuxシステム開発を容易にします。
背景
Vivado® ML EditionでXSAファイル(ハードウェア情報)を作成し、PetaLinux®ビルドするときに、デフォルトの設定ではU-bootは自動生成され変更ができません。
本ブログでは、PetaLinux®ビルド時にU-bootをカスタマイズする方法を紹介します。
手順
以下の図は、ubuntu18.04の画面キャプチャとなります。
1. 以下のコマンドを使用し、U-bootのソースファイルをローカルフォルダに保存
git clone https://github.com/Xilinx/u-boot-xlnx.git
cd u-boot-xlnx
git checkout -b xilinx-v2020.2
2. ローカルフォルダのソースコードを変更
(例)Kconfigファイルの1行目に#testを追加する
3. 以下のコマンドを使用し、U-bootの変更差分ファイル uboot.patch を生成
git diff > uboot.patch
uboot.patchをtextファイルとして表示すると、以下のように差分が生成されます。
uboot.patch の変更内容
(ubuntu18.04のKompareでuboot.patchを開いて変更内容表示すると、変更内容が分かりやすいです。)
4. 差分ファイル uboot.patch を以下のフォルダにコピー
/project-spec/meta-user/recipes-bsp/u-boot/files/uboot.patch
5. 以下のフォルダにある
u-boot-xlnx_%.bbappend にファイル SRC_URI += file://uboot.patch を追加
/project-spec/meta-user/recipes-bsp/u-boot/u-boot-xlnx_%.bbappend
6. 再ビルド
いかがでしたでしょうか。
以上の工程でカスタマイズしたU-bootが生成されました。
弊社ではFPGA設計や回路図設計、レイアウト設計、ソフトウェア設計、筐体設計などを受託開発しています。サービス内容をWEBサイトに掲載していますので、ぜひご覧ください。
FPGAの活用に際して設計検討などありましたら、お気軽にお問い合わせください。
最後までお付き合いいただきありがとうございました。