ZYBO-Z7-20でUbuntu 16.04 LTSを動かす(1) : PetaLinux 2018.2とDevice Tree Compilerのインストール
ZYBO-Z7でUbuntu 16.04 LTSを動かす - メモ置き場
第1回目.
準備段階として必要なツールのインストールを行う.
ZYBO-Z7ボードなどに載っているZynqでLinuxを動かすには,armプロセッサ用のクロスコンパイル環境が必要になる.Xilinxが提供しているPetaLinuxというツールに含まれるクロスコンパイラを利用する.
PetaLinuxツールではLinux Kernelのビルドまでできるようだが,2018.2のバージョンでやるとエラーがでて失敗する.今回はクロスコンパイラ(arm-linux-gnueabihf-gcc
とか)だけ利用して,必要なファイルはソースコードから自分でビルドすることにする.
PetaLinuxのインストール
以前の記事でUbuntu 18.04にVivado 2018.2をインストールしているので,バージョンを合わせてPetaLinux 2018.2をインストールする*1.
japan.xilinx.com
上記リンクのPetaLinux - インストレーション ファイル→PetaLinux 2018.2 インストーラー (TAR/GZIP - 6.15GB)をダウンロード.インストール先ディレクトリを/opt/pkg/petalinux
とするので,ディレクトリ作成し権限を変更する.
sudo mkdir -p /opt/pkg/petalinux sudo chown myname /opt/pkg/ sudo chgrp myname /opt/pkg/ sudo chgrp myname /opt/pkg/petalinux/ sudo chown myname /opt/pkg/petalinux/
インストーラの保存先へ移動し,実行する.
./petalinux-v2018.2-final-installer.run /opt/pkg/petalinux/
インストール後,~/.bashrc
に
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 source /opt/pkg/petalinux/settings.sh
を追加しておく.これでPetaLinuxツールが使えるようになった.
余談:
PetaLinuxを使ってLinuxのブートイメージの作成もできるらしい.そのためにはpetalinux-create
などのコマンドを使うことになる.理由は不明であるが,2018.2のバージョンでLinuxをビルドしようとすると失敗する.
以下にエラーまで勧めた手順を示す.petalinux-config
で指定しているディレクトリはVivadoでhdfをエクスポートした場所.
$ petalinux-create --type project --template zynq --name myProject $ cd myProject $ petalinux-config --get-hw-description=../zybo-z7/zybo-z7.sdk INFO: Getting hardware description... INFO: Rename design_1_wrapper.hdf to system.hdf [INFO] generating Kconfig for project [INFO] menuconfig project *** End of the configuration. *** Execute 'make' to start the build or try 'make help'. [INFO] sourcing bitbake ERROR: Failed to source bitbake ERROR: Failed to config project. ERROR: Get hw description Failed!.
ということでbitbakeが使えないというエラーで停止する.bitbakeは/opt/pkg/petalinux/components/yocto/source/layers/core/bitbake/bin/bitbake
にあるので,パスを通してからもう一度petalinux-config
をやってみるが,症状は改善せず.
$ export PATH="${PETALINUX}/components/yocto/source/layers/core/bitbake/bin:${PATH}" $ petalinux-config --get-hw-description=../zybo-z7/zybo-z7.sdk INFO: Getting hardware description... INFO: Rename design_1_wrapper.hdf to system.hdf [INFO] generating Kconfig for project [INFO] menuconfig project *** End of the configuration. *** Execute 'make' to start the build or try 'make help'. [INFO] sourcing bitbake ERROR: Failed to source bitbake ERROR: Failed to config project. ERROR: Get hw description Failed!.
というわけで,PetaLinuxでLinux kernelをビルドすることは諦め,ソースコードからビルドすることにした.