ケロロ好きなエンジニアのブログ

サラリーマンエンジニアの電子工作のことをメインに書いていきたいけど電子工作はまとまった時間がないとなかなか難しいから滅多に書けそうもなくてMVNOの話題がメインになりつつあるブログ

ZYBO Z7-10にLinuxをいれてみる

にほんブログ村 スマホ・携帯ブログへ にほんブログ村 スマホ・携帯ブログ 格安SIMカード・MVNOへ

スポンサーリンク

さて、ZYBOさんですがカメラ接続はAliで買った部品類が届くまでペンディングにしておき、以下のサイトに従ってLinux(PetaLinux)を入れてみようと思います。

github.com

 

あと参考にするのはこちらのオフィシャル資料

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を落としておきましょう。

https://japan.xilinx.com/support/download/index.html/content/xilinx/ja/downloadNav/embedded-design-tools.html

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ツールを使う際には毎回souceしておかないといけないようです。

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

ちゃんと起動しました。

f:id:keroctronics:20200608183642p:plain

ちなみにログインはroot/rootです。

RTCがないとかエラーは出てますが、とりあえず起動してますね。

 

さて、このLinux上でHW部をいじるアプリとかどうやってつくっていけばいいのかな?ってのは今後調べていかないといけません。

まだまだ先は長そうです。