Petalinux on WSL2 Ubuntu


開発環境

Host OS: Windows11 21H2(22000.556)
VM: WSL2 Ubuntu 20.04
Petalinux Ver: 2021.2
Board: Zynq Ultrascale+ zcu104

WSL 2のインストール


Windows Terminal(またはPowerShell)を管理者権限で実行し、次のコマンドを入力します.
wsl --install
Defaultを使用してUbuntuをインストールしますが、特定のLinuxプロファイルを選択してインストールすることもできます.Ubuntuの使用

Petalinux Installerのインストール


必要なファイルをダウンロード


https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html
上のリンクに移動して、2021.2版のPetalinux Tools-Installをダウンロードします.

また、使用に適したマザーボードのbspもインストールされます.zcu 104ボードが使用されるので、対応するBSPをダウンロードします.

Ubuntuへのファイル転送


ftpなどを使用して上のファイルをwsl 2に移動します.MobaXtermを使用してファイルを転送しました.

Installerの実行


petalinuxインストーラの実行権限を変更し、実行します.
chmod u+x petalinux-v2021.2-final-installer.run
mkdir Petalinux
./petalinux-v2021.2-final-installer.run -d ./Petalinux/
下図に示すように、gccがないためエラーが発生します.
ERROR: GCC is not installed - unable to continue.  Please install and retry
WARNING: Please install required packages.
gccをインストールして再実行します.
sudo apt-get install gcc
./petalinux-v2021.2-final-installer.run
必要なシステムツールを以下に示します.
ERROR: You are missing the following system tools required by PetaLinux:

 - netstat => net-tools로 설치
 - xterm
 - autoconf
 - libtool
 - texinfo
 - zlib1g-dev
 - gcc-multilib
 - build-essential
 - ncurses-dev
 - libncurses5-dev
上のツールはすべてインストールされています.
インストール中にzlib 1 g-dev:i 386はインストールされず、以下の手順で解決します.
sudo dpkg --add-architechture i386
sudo apt-get update
sudo apt-get install -y zlib1g:i386
上のdependencyをインストールすると、インストーラが正常に動作します.
ライセンスに同意すると、petalinux SDKがインストールされていることがわかります.


Petalinux Build


環境を設定します.shを取得し、petalinuxフォルダに移動してpetalinuxを構築します.
source settings.sh
cd Petalinux
petalinux-build
buildではなく、以下のエラーが発生しました.

この問題を解決するには、次のdependencyをインストールします.
sudo apt-get install libtinfo5
ビルド中に次のファイルをインポートできないエラーが発生しました.wgetがhttp://到リンクを起動すると、何らかの理由で(ファイアウォールかもしれない)ロードできないことに気づきました.したがってurlのhttpをhttpに変更する必要がある.petalinux-configを実行してurlを変更します.
petalinux-config
YOCTO_MACHINE_NAME >> Add pre-mirror url >> http를 https로 수정
YOCTO_MACHINE_NAME >> Network sstate feeds URL >> http를 https로 수정


構成を変更して保存し、clean buildを行います.
petalinux-build -x clean
petalinux-build

構築が完了すると、次のようにimage/linux/フォルダにファイルが作成されます.

以上のファイルのイメージ.ubにはLinuxカーネルが含まれています.
上のファイルを利用してBOOTBINファイルを生成します.
 petalinux-package --boot --fsbl ./zynqmp_fsbl.elf --fpga ./system.bit --u-boot --pmufw ./pmufw.elf --atf ./bl31.elf

SDCardにイメージを入力します.UBファイルとBOOT.BINファイルを移動してボード上で実行することで、Petalinuxを使用できます.

Ref


https://www.youtube.com/watch?v=k03r2Ud42jY
https://wiki.trenz-electronic.de/display/PD/Xilinx+Tools+and+Win10+WSL
http://petalinux.xilinx.com/sswreleases/rel-v2021/downloads/
https://wiki.trenz-electronic.de/display/PD/Petalinux+Troubleshoot
https://wiki.trenz-electronic.de/display/PD/PetaLinux