やまものブログ

メモ書きブログです (^_^;A

PetaLinux 2017.3 のインストール

PetaLinux について、ウェブ検索でみつかる概要はこんなかんじです。

PetaLinux ツールは、ザイリンクスのプロセッシング システム上でエンベデッド Linux ソリューションをカスタマイズ、ビルド、およびデプロイするために必要なものをすべて提供します。

つい先の投稿「Vivado 2017.3 のインストール - やまものブログ」のVivadoと組み合わせて使うツールです。

まず、インストーラダウンロードサイトです。
https://japan.xilinx.com/support/download.html
ここから、
petalinux-v2017.3-final-installer.run
をダウンロードします。
これにたどりつくには、「PetaLinux」タブにて、Versionで「アーカイブ」を選んで、"2017.3"を選択すると、
PetaLinux - 2017.3 インストレーション ファイル - 2017.3
から、
PetaLinux 2017.3 インストーラー (TAR/GZIP - 7.79GB)
を見つけられると思います。

私がいまだに Ubuntu 16.04.6を使うのは、この古いPetaLinuxを使うためでした(泣)。

PetaLinux 2017.3 を使う場合、Ubuntu環境には

という条件があります。

/bin/sh についてはリファレンスに記載があり、次の方法で変更します。

$ sudo dpkg-reconfigure dash
"dash"のデフォルトシステムシェル設定に「いいえ」を選択する


python 2.7 については記載は無いのですが、下記のサポート記事にあるエラーの対策として Python を 3 ではなく 2 にする必要があります。 forums.xilinx.com
python 3.7 を使っている環境を 2.7に戻すにはスマートな方法(pyenv,virtualenv,等)があるようですが、よく分からなかったのでPATH変数を作業中のターミナルで上書きするという原始的な方法で対処しました。

$ export PATH=/usr/local/sbin:/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

これでデフォルトのpythonコマンドのバージョンを切り替えられたのですが、それは私の環境には以下の通り異なるパスに2つのバージョンが共存していたからです。/usr/bin/ を前に移動しました。

  • /usr/local/bin/python … 3.7.2
  • /usr/bin/python … 2.7.12


以上のとおり環境を設定して、以下のようにインストールしました。

$ cd <作業ディレクトリ>
$ ./petalinux-v2017.3-final-installer.run petalinux-v2017.3

インストールはこれだけです。作業ディレクトリの直下に"petalinux-v2017.3"が作成され、その下に一式そろいます。

PetaLinux の設定は以下の通りになります。

source <作業ディレクトリ>/petalinux-v2017.3/settings.sh

設定の確認は、

echo $PETALINUX

で上記 settings.sh が存在するパスが表示されるとOKです。

以上では個人が作業するローカルなパスに PetaLinux をインストールしました。
そうではなく、/opt/ のようなシステム全体から見える場所にインストールすることも可能です。例えば、こんな風に。

$ cd /opt/pkt
$ sudo mkdir petalinux-v2017.3
$ sudo chown <your-account> petalinux-v2017.3
$ ./petalinux-v2017.3-final-installer.run /opt/pkt/petalinux-v2017.3/

PetaLinuxはrootアカウントではインストールできない仕様のため3行目の chown が必要です。
実際にこれも試したていますが、 次の記事で紹介するサンプルのビルド処理が何故かエラーで中断してしまいます。 一応、エラーメッセージを貼っておきます。

    ERROR: fsbl-2017.3+gitAUTOINC+3c9f0cfde9-r0 do_compile: Function failed: do_compile (log file is located at <作業パス>/20180424_aicdemo_projectfiles/aic/src_sw/ultra96-petalinux/build/tmp/work/plnx_aarch64-xilinx-linux/fsbl/2017.3+gitAUTOINC+3c9f0cfde9-r0/temp/log.do_compile.26227)


ローカルにインストールした PetaLinux ならこのエラーに遭遇せずに無事に処理が完了します。 PetaLinux 2018.1 でも同じ作業を試したのですが、同様の現象でした。 この理由を解析する知識は今の自分にはありません(ため息)

以上の作業では PetaLinux ツール資料 リファレンス ガイド (ug1144-petalinux-tools-reference-guide.pdf)を参考にしています。

この後、続けて、あるサンプルを動かした作業手順を投稿します。