PetaLinux には、カーネル ソースと U-Boot ソースが含まれます。ただし、PetaLinux で独自のカーネルと U-Boot をビルドすることもできます。
PetaLinux はカーネル、U-Boot、TF-A、PLM、および PSM-FIRMWARE のローカル ソースをサポートしています。
外部ソースの場合、ディレクトリ <plnx-proj-root>/components/ext_sources/ を作成します。
- カーネル ソース ディレクトリを次のディレクトリにコピーします。
<plnx-proj-root>/components/ext_sources/<MY-KERNEL>
- U-Boot ソース ディレクトリを次のディレクトリにコピーします。
<plnx-proj-root>/components/ext_sources/<MY-U-BOOT>
-
petalinux-config
を実行し、[Linux Components Selection] を選択します。- カーネルの場合、linux-kernel () ---> に続いて ext-local-src を選択します。
( ) linux-xlnx
( ) remote
(X) ext-local-src
- U-Boot の場合、u-boot ()
---> を選択後、ext-local-src を選択します。
( ) u-boot-xlnx
( ) remote
(X) ext-local-src
- カーネルの場合、linux-kernel () ---> に続いて ext-local-src を選択します。
- 外部ソース パスを追加します。
- カーネルの場合、External
linux-kernel local source settings ---> を選択し、次のパスを入力します。
${PROOT}/components/ext_sources/<MY-KERNEL>
- U-Boot の場合、External
u-boot local source settings ---> を選択し、次のパスを入力します。
${PROOT}/components/ext_sources/<MY-U-BOOT>
${PROOT} は、<plnx-proj-root>/ ディレクトリをポイントする PetaLinux 変数です。ソースの絶対パスを指定することもできます。ソースはプロジェクト外部にも配置できます。
注記:ext-local-src
の設定後、petalinux-config
でソースを linux-xlnx/u-boot-xlnx に変更しようとすると、次の警告が表示されます。WARNING: Workspace already setup to use from <ext-local-src path>, Use 'petalinux-devtool reset linux-xlnx' To remove this (or) Use this for your development.
注記: プロジェクトで外部ソースを使用して BSP を作成する場合、ユーザーの責任でソースをプロジェクトにコピーしてパッケージする必要があります。詳細は、BSP のパッケージ を参照してください。 - カーネルの場合、External
linux-kernel local source settings ---> を選択し、次のパスを入力します。
重要: 外部ソースを components/ ディレクトリに配置する必要はありません。プロジェクト外のどの場所でも指定できます。ただし、BSP をパッケージする際は、外部ソースを components/ にコピーして、相対パスを設定する必要があります。
注記: 外部ソースが Git リポジトリである場合は、そのチェックアウト ステータスがこのプロジェクトをビルドするのに適したものである必要があります。