FC2カウンター FPGAの部屋 2019年02月15日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Docker でPetaLinux 2018.2 をインストールする

Docker のUbuntu 16.04 イメージにVivado 2018.2 をインストールする2”のDocker イメージの vivado182ub16 にPetaLinux をインストールすることにした。

Xilinx 社のサポート -> ダウンロード -> エンベデッド開発の 2018.2 のWeb ページからPetaLinux 2018.2 インストーラー
PetaLinux 2018.2 インストーラー (TAR/GZIP - 6.15GB)をダウンロードした。ファイル名は、petalinux-v2018.2-final-installer.run だった。
./boot.sh を起動して、vivado182ub16c コンテナを起動した。
最初に、PetaLinux インストーラーのpetalinux-v2018.2-final-installer.run をvivado182ub16c コンテナにコピーした。
ホストの別の端末で、docker ps を実行して、コンテナのID を確認し、
docker cp petalinux-v2018.2-final-installer.run 6f49669c6591:/home/masaaki
を実行して、コンテナにコピーした。
docker_ce_39_190215.png

Docker のコンテナでは、PetaLinux インストーラーに実行パミッションを付加した。
chmod +x petalinux-v2018.2-final-installer.run
/home/masaaki の下にpkg/petalinux ディレクトリを作成した。
mkdir pkg
cd pkg
mkdir petalinux
cd

PetaLinux インストーラーを起動した。
./petalinux-v2018.2-final-installer.run /home/masaaki/pkg/petalinux/
インストーラーが動かなかった。そういえば必要なパッケージを全くインストールしていない。
PetaLinux Tools Documentation Reference Guide UG1144 (v2018.2) June 6, 2018 の”Setting up your Environment”の”Installation Requirements”のTable 2-1: Packages and Linux Workstation Environments 9 ページから 11 ページの表を見て、足りないパッケージを apt でインストールした。(後で、@osamu_takeuchi さんに教えていただいたのだが、”電気回路/zynq/Petalinux のビルドのインストール”のapt-get をコピペすれば良さそうだ。武内先生ありがとうございました。)

それで、もう一度PetaLinux インストーラーを起動した。
./petalinux-v2018.2-final-installer.run /home/masaaki/pkg/petalinux/
docker_ce_31_190214.png
docker_ce_32_190214.png

今度は libtool が無いと言われているのだが、libtool は apt でインストールしてある。
検索していたら、”PetaLinux doesn't see libtool, so it won't run”がヒット。それには、libtool-bin をインストールしろと書いてある。
sudo apt install libtool-bin

早速インストールして、ついでに”電気回路/zynq/Petalinux のビルドのインストール”のapt-get をすべて実行した)

PetaLinux インストーラーを起動した。
./petalinux-v2018.2-final-installer.run /home/masaaki/pkg/petalinux/
だいぶ進んだのだが、今度はlocale のエラーのようだ。
docker_ce_33_190214.png

次に検索したのが、”Linuxのlocaleがおかしくなっていた”だ。
export LC_ALL=C
export LANG=C
sudo dpkg-reconfigure locales

で locales がインストールしていないと言われた。
docker_ce_34_190214.png

sudo apt locals
sudo dpkg-reconfigure locales

で、en_US.UTF-8 に設定した。これはJP ではPetaLinux がインストールできなかったためだ。
docker_ce_35_190214.png

PetaLinux インストーラーを起動した。
./petalinux-v2018.2-final-installer.run /home/masaaki/pkg/petalinux/
これまた、だいぶ進んだのだが、今度は、 cpio が足りないというエラーだった。
docker_ce_36_190214.png

sudo apt install cpio
で、cpio をインストール後に、PetaLinux インストーラーを起動した。
./petalinux-v2018.2-final-installer.run /home/masaaki/pkg/petalinux/
docker_ce_37_190214.png

docker_ce_38_190214.png

やっとPetaLinux インストール完了。長かった。1日トラブルシュートにかかってしまった。

ホストの端末で、コンテナをイメージにコミットした。
docker commit vivado182ub16c vivado182ub16
docker_ce_40_190215.png

これでDocker イメージにコンテナを書き込めたので、次に起動した時にPetaLinux がインストール済みになる。

最後にPetaLinux のインストールログを貼っておく。

masaaki@6f49669c6591:~$ ./petalinux-v2018.2-final-installer.run /home/masaaki/pkg/petalinux/
INFO: Checking installer checksum...
INFO: Extracting PetaLinux installer...

LICENSE AGREEMENTS

PetaLinux SDK contains software from a number of sources.  Please review
the following licenses and indicate your acceptance of each to continue.

You do not have to accept the licenses, however if you do not then you may 
not use PetaLinux SDK.

Use PgUp/PgDn to navigate the license viewer, and press 'q' to close

Press Enter to display the license agreements
Do you accept Xilinx End User License Agreement? [y/N] > y
Do you accept Webtalk Terms and Conditions? [y/N] > y
Do you accept Third Party End User License Agreement? [y/N] > y
INFO: Checking installation environment requirements...
INFO: Checking free disk space
INFO: Checking installed tools
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 302: [: ==: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 304: [: ==: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 306: [: ==: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 251: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 251: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 251: [: =: unary operator expected
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 219: [: =: unary operator expected
INFO: Checking installed development libraries
/tmp/tmp.fW4nO5GJRg/./tools/common/petalinux/utils/petalinux-env-check: line 388: [: ==: unary operator expected
INFO: Checking network and other services
WARNING: No tftp server found - please refer to "PetaLinux SDK Installation Guide" for its impact and solution
INFO: Installing PetaLinux...
*********************************************
WARNING: PetaLinux installation directory: /home/masaaki/pkg/petalinux//. is not empty!
*********************************************
Please input "y" to continue to install PetaLinux in that directory?[n]y
INFO: Checking PetaLinux installer integrity...
INFO: Installing PetaLinux SDK to "/home/masaaki/pkg/petalinux//."
................................................................................................................................................................................................................................................................................INFO: Installing aarch64 Yocto SDK to "/home/masaaki/pkg/petalinux//./components/yocto/source/aarch64"...
PetaLinux Extensible SDK installer version 2018.2
=================================================
You are about to install the SDK to "/home/masaaki/pkg/petalinux/components/yocto/source/aarch64". Proceed[Y/n]? Y
Extracting SDK................................done
Setting it up...
Extracting buildtools...
done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
 $ . /home/masaaki/pkg/petalinux/components/yocto/source/aarch64/environment-setup-aarch64-xilinx-linux
INFO: Installing arm Yocto SDK to "/home/masaaki/pkg/petalinux//./components/yocto/source/arm"...
PetaLinux Extensible SDK installer version 2018.2
=================================================
You are about to install the SDK to "/home/masaaki/pkg/petalinux/components/yocto/source/arm". Proceed[Y/n]? Y
Extracting SDK..............................done
Setting it up...
Extracting buildtools...
done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
 $ . /home/masaaki/pkg/petalinux/components/yocto/source/arm/environment-setup-cortexa9hf-neon-xilinx-linux-gnueabi
INFO: Installing microblaze_full Yocto SDK to "/home/masaaki/pkg/petalinux//./components/yocto/source/microblaze_full"...
PetaLinux Extensible SDK installer version 2018.2
=================================================
You are about to install the SDK to "/home/masaaki/pkg/petalinux/components/yocto/source/microblaze_full". Proceed[Y/n]? Y
Extracting SDK.............................done
Setting it up...
Extracting buildtools...
done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
 $ . /home/masaaki/pkg/petalinux/components/yocto/source/microblaze_full/environment-setup-microblazeel-v10.0-bs-cmp-re-mh-div-xilinx-linux
INFO: Installing microblaze_lite Yocto SDK to "/home/masaaki/pkg/petalinux//./components/yocto/source/microblaze_lite"...
PetaLinux Extensible SDK installer version 2018.2
=================================================
You are about to install the SDK to "/home/masaaki/pkg/petalinux/components/yocto/source/microblaze_lite". Proceed[Y/n]? Y
Extracting SDK.............................done
Setting it up...
Extracting buildtools...
done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
 $ . /home/masaaki/pkg/petalinux/components/yocto/source/microblaze_lite/environment-setup-microblazeel-v10.0-bs-cmp-re-ml-xilinx-linux
INFO: PetaLinux SDK has been installed to /home/masaaki/pkg/petalinux//.
masaaki@6f49669c6591:~$ 

  1. 2019年02月15日 04:30 |
  2. Docker
  3. | トラックバック:0
  4. | コメント:0