すべての PetaLinux rootfs ソフトウェア パッケージは、https://petalinux.xilinx.com/sswreleases/rel-v2020/feeds でホストされています。ボードにインターネット アクセスがあれば、ターゲットボード上で Linux を実行するときに、これらのソフトウェア パッケージを rootfs にインストールできます。
この機能を使用するには、rootfs でパッケージ マネージャー DNF をイネーブルにする必要があります。AMDが提供するビルド済み Linux コンポーネントの rootfs では、デフォルトで DNF パッケージ管理機能が提供されます。
パッケージ フィード URL を設定するには、次の手順に従います。
- パッケージ フィード リポジトリのディレクトリ https://petalinux.xilinx.com/sswreleases/rel-v2020/generic/rpm/repos/ にアクセスします。
- SoC デバイスとターゲット ボードに合った repo ファイルをダウンロードします。
# Example: ZCU102 uses ZU9EG devices wget http://petalinux.xilinx.com/sswreleases/rel-v2020/generic/rpm/repos/zynqmp-generic_eg.repo # Example: ZCU104 uses ZU7EV devices wget http://petalinux.xilinx.com/sswreleases/rel-v2020/generic/rpm/repos/zynqmp-generic_ev.repo
- ダウンロードした repo ファイルを /etc/yum.repos.d/ にコピーします。
- キャッシュをクリーンアップします。
dnf clean all
パッケージを管理するには、DNF パッケージ マネージャーを使用します。
- 使用可能なパッケージをリスト
-
dnf repoquery
コマンドを使用します。 - AMD リポジトリからパッケージをインストール
-
dnf install <pkg name>
コマンドを使用します。 - ローカル パッケージ ファイルからパッケージをインストール
-
dnf install <pkg file name>
コマンドを使用します。 - パッケージを sysroot にインストール
-
パッケージを実行中のボードの rootfs にインストールすると、ターゲットに最新のバイナリおよびおライブラリが含まれます。ホストでクロス コンパイルする必要がある場合は、これらのライブラリをホスト側の sysroot に追加する必要があります。
XRT に含まれる
sysroot_overlay
スクリプトを使用すると、RPM を抽出して sysroot をアップデートできます。このスクリプトは、RPM ライブラリを抽出し、sysroot にファイル アップデートを含めます。XRT に加え、このスクリプトではさまざまなソフトウェア パッケージのすべての RPM がサポートされます。
- sysroot_overlay.sh を取得
-
wget https://github.com/Xilinx/XRT/blob/master/src/runtime_src/tools/scripts/sysroots_overlay.sh
コマンドを使用します。
sysroot
コマンドの構文は次のとおりです。./sysroots_overlay.sh --sysroot --rpms-file
説明:
-
--sysroot
: オーバーレイされる sysroot を指定します。 -
--rpms-file
: オーバーレイされる RPM ファイル パスを含む RPM ファイルを指定します。
例
次の例は、アップデートされた XRT を共通 sysroot にインストールします。
./sysroots_overlay.sh -s sysroots/aarch64-xilinx-linux/ -r $PWD/rpm.txt
次の例は、rpm.txt ファイルの内容を示します。
./xrt-dev-202010.2.6.0-r0.aarch64.rpm
./xrt-202010.2.6.0-r0.aarch64.rpm
注記: このスクリプトは、ローカル RPM にのみ使用できます。RPM を共通 sysroot にインストールするには、RPM をホスト マシンにダウンロードする必要があります。