Petalinuxがインストールできたので、meta-adi-xilinxの手順に従って
Petalinuxのプロジェクトをビルドしてみます。
https://github.com/analogdevicesinc/meta-adi/tree/2021_R1/meta-adi-xilinx
まず初めに、ターゲットであるZedBoard+AD-FMCOMMS3のHDLを
ビルドしておきます。hdlのブランチは、hdl_2021_r1になります。
mkdir adi
cd adi
git clone https://github.com/analogdevicesinc/hdl.git
cd hdl
git checkout hdl_2021_r1
git status
cd projects/fmcomms2/zed
make
ビルドが完了すると、fmcomms2_zed.sdkフォルダの中に、
system_top.xsaが出力されています。
xsaの準備ができたら、Petalinuxのプロジェクトを作成します。
cd /home/lunacube/petalinux
source /home/lunacube/petalinux/2021.1/settings.sh
petalinux-create -t project --template zynq --name fmcomms2_zed
meta-adiのブランチは、2021_R1になります。
git clone https://github.com/analogdevicesinc/meta-adi.git
cd meta-adi
git checkout 2021_R1
git status
Petalinuxのプロジェクトフォルダに移動し、xsaファイルをコピーしておきます。
cd /home/lunacube/petalinux/fmcomms2_zed
cp /home/lunacube/adi/hdl/projects/fmcomms2/zed/fmcomms2_zed/system_top.xsa ./
次のコマンドを実行すると、Petalinuxのconfiguration menuが表示されます。
petalinux-config --get-hw-description=./system_top.xsa
ここで、Yocto Settings -> User layersに進み、クローンしたmeta-adi-coreと
meta-adi-xilinxのレイヤを追加します。[追記]さらに、Yocto Settingsで、
Enable Network sstate feedsのオプションをdisableします。
設定が完了したら、Saveしてconfiguration menuを終了します。
続いて、device treeを指定します。一覧から、fmcomms2_zedのHDLには、
zynq-zed-adv7511-ad9361-fmcomms2-3を選択します。
echo "KERNEL_DTB=\"zynq-zed-adv7511-ad9361-fmcomms2-3\"" >> project-spec/meta-user/conf/petalinuxbsp.conf
こでれビルドの準備ができました。buildフォルダに移動し、ビルドします。
cd build
petalinux-build
P.S. 順調にビルドできるかと思いきや、"No suitable staging package found"のエラーが多発。
ビルドが通るのであれば、無視していいようだけれど、どうなの?
https://support.xilinx.com/s/article/000033124?language=en_US
P.P.S. 解決しました。
https://blog.goo.ne.jp/osqzss/e/e3a8d4dae0928d71415ad3e66a68dcc8
Petalinuxのプロジェクトをビルドしてみます。
https://github.com/analogdevicesinc/meta-adi/tree/2021_R1/meta-adi-xilinx
まず初めに、ターゲットであるZedBoard+AD-FMCOMMS3のHDLを
ビルドしておきます。hdlのブランチは、hdl_2021_r1になります。
mkdir adi
cd adi
git clone https://github.com/analogdevicesinc/hdl.git
cd hdl
git checkout hdl_2021_r1
git status
cd projects/fmcomms2/zed
make
ビルドが完了すると、fmcomms2_zed.sdkフォルダの中に、
system_top.xsaが出力されています。
xsaの準備ができたら、Petalinuxのプロジェクトを作成します。
cd /home/lunacube/petalinux
source /home/lunacube/petalinux/2021.1/settings.sh
petalinux-create -t project --template zynq --name fmcomms2_zed
meta-adiのブランチは、2021_R1になります。
git clone https://github.com/analogdevicesinc/meta-adi.git
cd meta-adi
git checkout 2021_R1
git status
Petalinuxのプロジェクトフォルダに移動し、xsaファイルをコピーしておきます。
cd /home/lunacube/petalinux/fmcomms2_zed
cp /home/lunacube/adi/hdl/projects/fmcomms2/zed/fmcomms2_zed/system_top.xsa ./
次のコマンドを実行すると、Petalinuxのconfiguration menuが表示されます。
petalinux-config --get-hw-description=./system_top.xsa
ここで、Yocto Settings -> User layersに進み、クローンしたmeta-adi-coreと
meta-adi-xilinxのレイヤを追加します。[追記]さらに、Yocto Settingsで、
Enable Network sstate feedsのオプションをdisableします。
設定が完了したら、Saveしてconfiguration menuを終了します。
続いて、device treeを指定します。一覧から、fmcomms2_zedのHDLには、
zynq-zed-adv7511-ad9361-fmcomms2-3を選択します。
echo "KERNEL_DTB=\"zynq-zed-adv7511-ad9361-fmcomms2-3\"" >> project-spec/meta-user/conf/petalinuxbsp.conf
こでれビルドの準備ができました。buildフォルダに移動し、ビルドします。
cd build
petalinux-build
P.S. 順調にビルドできるかと思いきや、"No suitable staging package found"のエラーが多発。
ビルドが通るのであれば、無視していいようだけれど、どうなの?
https://support.xilinx.com/s/article/000033124?language=en_US
P.P.S. 解決しました。
https://blog.goo.ne.jp/osqzss/e/e3a8d4dae0928d71415ad3e66a68dcc8