メモ置き場

メモ置き場です.開発したものや調べたことについて書きます.

[tex: ]

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をビルドすることは諦め,ソースコードからビルドすることにした.

Device Tree Compiler(dtc)のインストール

バイスツリーのコンパイラをインストールする.githubのレポジトリからソースを取ってmakeすれば終わる.

git clone https://git.kernel.org/pub/scm/utils/dtc/dtc.git
cd dtc
make

でOK.dtcという実行ファイルができるので,パスを通しておけばインストール完了.