Yocto Project は初めてで、i.MX6QP/Q/DL SABRE Automotive に基づくカスタム ボード用のシンプルなコア イメージ最小イメージを構築しようとしています。現在、メタフリースケール レイヤーのみを使用しています。
ビルドして Linux カーネルの fitImage に含めるカスタム DTS ファイルがいくつかあります。
これは私がこれまでに行ったことです:
カスタム マシンでカスタム レイヤーを作成し、conf/machine.confファイルで、使用する DTB を指定しました。
KERNEL_DEVICETREE = " \ imx6qp-g25-protoc-1280x480.dtb \ ... "
- /yocto/poky/meta-custom/recipes-kernel/linux/にlinux-fslc-imx_%.bbappendファイルを作成しました。このファイルは、git diff を含む.patchファイルを参照します。.patch ファイルには、必要なarch/arm/boot/dts/Makefileの変更と DTS ファイルを含めました。
残念ながら、core-image-minimal をビルドしようとすると、DTB のビルドは次のメッセージで失敗します。
make[3]: * ターゲット 'arch/arm/boot/dts/imx6qp-g25-protoc-1280x480.dtb' を作成するルールはありません。止まる。arch/arm/Makefile:322: ターゲット 'imx6qp-g25-protoc-1280x480.dtb' のレシピが作成に失敗しました[2]:[imx6qp-g25-protoc-1280x480.dtb] エラー 2 Makefile:146: ターゲット 'sub-make' のレシピが作成に失敗しました[1]:[sub-make] エラー 2 Makefile:24: ターゲット '__sub-make' のレシピが作成に失敗しました: * [__sub-make] エラー 2 エラー: oe_runmake に失敗しました 警告: シェル コマンドからコード 1 を終了します。
実際、ソースフォルダーlinux-fslc-imx/4.1-2.0.x+gitAUTOINC+6c1ad49339-r0/build/source/arch/arm/boot/dtsを見て、パッチが適用されていることを確認しました。Makefileは正しく、DTSファイルは存在します。