さて、ZYBOさんですがカメラ接続はAliで買った部品類が届くまでペンディングにしておき、以下のサイトに従ってLinux(PetaLinux)を入れてみようと思います。
あと参考にするのはこちらのオフィシャル資料
Xilinx UG1144(v2019.2) PetaLinux ツール資料 リファレンス ガイド
インストール用にサポートされているOSとしてはRedHat、CentOS、Ubuntuとありましたので、Ubuntuを選択してみました。
PC1台をそれにあてるのはあほらしいので、VirtualBox使用です。
VirtualBoxのインストール、その中へのUbuntuのインストールはここでは割愛しますので、適当にググってください。
Ubuntuも最新は20.04 LTSというバージョンのようですが、 UG1144によると18.04.02まで、Digilentのサイトによると16.04.3 LTS でしか書いてありませんので、18.04.04にしてみました。
って、最後のバージョンが02じゃなくて04ですけど、まぁいいでしょう。
で、VirtrualBox上にUbuntuが入ったら、Digilentのサイトにある手順に従って作業を行ってみます。
sudo -s apt-get install tofrodos gawk xvfb git libncurses5-dev tftpd zlib1g-dev zlib1g-dev:i386 \ libssl-dev flex bison chrpath socat autoconf libtool texinfo gcc-multilib \ libsdl1.2-dev libglib2.0-dev screen pax reboot
次はTFTPブート不要ならスキップしてもいいとのこと。
sudo -s apt-get install tftpd-hpa chmod a+w /var/lib/tftpboot/ reboot
次に行きますが、まずはPetalinuxを落としておきましょう。

Xilinxアカウントが必要です。
落としながら以下のコマンド実行です。
sudo -s mkdir -p /opt/pkg/petalinux chown ユーザー名 /opt/pkg/ chgrp ユーザー名 /opt/pkg/ chgrp ユーザー名 /opt/pkg/petalinux/ chown ユーザー名 /opt/pkg/petalinux/ exit
ここUG1144では /opt/pkg/petalinux ではなくて、/opt/pkg/petalinux/2019.2 とバージョンまでいれてましたので、そっちに従ってみました。
で、先に落としておいたPetalinuxのインストーラを起動します。
./petalinux-v2019.2-final-installer.run /opt/pkg/petalinux/2019.2
チェックでエラー
ERROR: You are missing the following system tools required by Petalinux: - netstat - xterm
ないのか。 しかたないインストールすりゃいいんですよね?
netstatはnet-toolsの中にあるみたいなので
apt-get install net-tools xterm
でインストールして、再度、
./petalinux-v2019.2-final-installer.run /opt/pkg/petalinux/2019.2
でチェックは無事通って、ライセンスが表示され同意したらようやくインストールが始まったようです。
ところがまたエラー
================================================= ERROR: The installer requires python, please install it first ********************************************* ERROR: Failed to install Yocto SDK for aarch64. *********************************************
なんとpythonがないのか。
apt-get install python
でいいのかな。
でインストールして、再度、
./petalinux-v2019.2-final-installer.run /opt/pkg/petalinux/2019.2
これでようやくインストール無事に終わりました。
さて、Petalinuxツールを使う際には毎回sourceしておかないといけないようです。
source /opt/pkg/petalinux/2019.2/settings.sh
WARNING: /bin/sh is not bash!
bash is PetaLinux recommended shell. Please set your default shell to bash.
あら、bashじゃないよデフォルトのシェルをbashにしろよって怒られました。
でもまぁERRORじゃなくてWARNINGだからいいのかな?とりあえず放っておこう
$PETALINUXにパスが格納されていればちゃんと設定できたと判断できるようです。
$ echo $PETALINUX
/opt/pkg/petalinux/2019.2
git clone --recursive https://github.com/Digilent/Petalinux-Zybo-Z7-10.git
適度なディレクトリ作ってそこに入り
petalinux-create -t project -n blinkyPS --template zynq
先日VITISで作ったblinkyPSのプロジェクトを使ってみます。
プロジェクト一式をUbuntuとの共有フォルダにコピーしておきます。
先にcreateしたblinkyPSディレクトの下に行き
petalinux-config --get-hw-description=/share/win/blinkyPS/project_1
なにやらConfiguration画面が出てきますが、なにもせずにそのままExit
結構時間かかって何かが生成されたようです。
で、その時のメッセージには
*** Execute ‘make’ to start the build or try ‘make help’.
と、出てきてましたが、無視していいのかな?
petalinux-build
これまたすっごく時間かかって終了
NOTE: Failed to copy built images to tftp dir: /tftpboot
ってメッセージが出てた。何か設定しておけばよかったのかな。まぁ今回は無視で。
petalinux-package --boot --force --fsbl images/linux/zynq_fsbl.elf --fpga images/linux/system.bit --u-boot
で
images/linux の下にimage.ubとBOOT.BINが出来ました。
これをSDカード(FAT32)のルートにコピーしてZYBOに挿して起動させてみます。
JP5をSDカードのポジションにして電源On
ちゃんと起動しました。
ちなみにログインはroot/rootです。
RTCがないとかエラーは出てますが、とりあえず起動してますね。
さて、このLinux上でHW部をいじるアプリとかどうやってつくっていけばいいのかな?ってのは今後調べていかないといけません。
まだまだ先は長そうです。
コメント