アプリとサービスのすすめ

アプリやIT系のサービスを中心に書いていきます。たまに副業やビジネス関係の情報なども気ままにつづります

Vitis,Petalinuxのインストールから、Vivadoの起動まで【FPGA, avnet】-VitisPlatform作りpart2

今回はVitisPlatfrom構築に必要な「Vitis、Petalinux、その他関連ツール」のインストール。
Ultra96の開発環境(Vitis2019.2版)」をメインに参考にした。


Vitisプラットフォーム(vitis IDE)はVivado起動後に、「Ultra96用Vitisプラットフォームの作り方(BASE編)」を参考に次記事でやる予定。


前回作った仮想環境用ネットワークを少し改良して、外付けHDDの中にVirtualBoxをいれて仮想環境を作った。


そこにUbuntu Linux 18.04.2 LTS (64 ビット)を入れて、vitisとPetaLinuxとかをインストールして、Vivadoを起動するまで。

VirtualBoxで作ったubuntuの仮想環境のストレージ容量は、VitisとPetaLinuxを入れるために500GBくらいのを作った。



改良ネットワーク図f:id:trafalbad:20200319090235j:plain



目次
1.ゲストOS側でライブラリの準備
2.Vitisのインストール
3.その他必要なツールのインストール
4.ゲストOS側からVivadoの起動


1.ゲストOS側で必要なライブラリの準備

Vitisプラットフォーム構築に必要なライブラリをゲストOS側でインストール。

$ sudo dpkg --add-architecture i386 && sudo apt update && sudo apt install apt-utils libc6:i386 libncurses5:i386 libstdc++6:i386 g++-multilib libgtk2.0-0:i386 dpkg-dev:i386 libxtst6:i386 default-jre unzip net-tools libtext-csv-perl libcanberra-gtk-module libcanberra-gtk3-module lsb-core opencl-headers ocl-icd-opencl-dev ocl-icd-libopencl1 wget -y && sudo ln -s /usr/bin/make /usr/bin/gmake

$ sudo apt install tofrodos iproute2 gawk make net-tools locales cpio libncurses5-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev screen pax gzip xvfb tftpd tftp libtool-bin default-jre -y lsb-release zlib1g:i386 git python-dev 

$ sudo apt-get install -y binutils ncurses-dev u-boot-tools file iproute2 tftpd-hpa diffstat x11-apps less etckeeper jed
$ sudo locale-gen en_US.UTF-8

# 有効なインストール可能なパッケージの一覧を更新(update) & 有効なパッケージ一覧を元にインストール済みパッケージの更新 (upgrade)
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt autoremove

参考記事xilinx2017.2_dep.sh(github)  




2.Vitisのインストール


1.Vitisのダウンロード


Vitisはこのページからダウンロード。

ダウンロードするものは、

ザイリンクス統合インストーラ アップデート 1 - 2019.2 (TAR/GZIP - 9.03 GB)

ザイリンクス統合インストーラー 2019.2: Linux 用自己解凍型ウェブインストーラー(BIN - 115.4MB)




2.ウェブインストーラーの実行




ホストOS側でダウンロード後、ゲストOS側(ubuntu側)に移動して、ウェブインストーラーを実行。

# ゲストOS側で実行
$ sudo chmod 777 Xilinx_Unified_2019.2_1106_2127_Lin64.bin
$ ./Xilinx_Unified_2019.2_1106_2127_Lin64.bin

注意事項を聞かれるのでOKした後に、インストール開始画面になる。
f:id:trafalbad:20200311235452j:plain



途中でXlinxのアカウント入力が必要。
f:id:trafalbad:20200311235536j:plain

インストール対象に「Vitis」を選択をした後、保存先を聞かれる。

ホストOS内のVivadoフォルダのパス「/media/[host-name]/Vivado」を指定。500GBもあるので十分足りる。
f:id:trafalbad:20200319020816p:plain



インストール開始画面
f:id:trafalbad:20200319020843p:plain




インストール中
f:id:trafalbad:20200311235714j:plain


インストール完了
f:id:trafalbad:20200311235735p:plain

インストール完了までは気長に待つだけ。


licenseの取得


次にvivadoで必要になるxilinxのlicenseの取得。


ページからvivado HLSのライセンスを取得。(これをしないと高位合成のときSynthesis errorになる)。
Obtain Licenseを選び、ラジオボックスを上から2番目(Get Vivado or IP〜)に合わせ、Connect Nowを起動。
f:id:trafalbad:20200805125246p:plain


Xilinxのサインインを済ませ、Product Licensingのページに移動し、したの画面の基本licenseに全部チェックして取得。
f:id:trafalbad:20200805125605p:plain


するとXilinxからメールが届いて、「Xilinx.lic」が添えつけられているので、適当な場所に配置

# Xilinx.licをVivadoファルダに移動
$ mv /media/[マウントフォルダ]/Xilinx.lic Vivado/
$ sudo chmod 777 Xilinx.lic

あとはLicence ManagerのLoad Licenseを起動し、Copy Licenseをクリック。
f:id:trafalbad:20200805125658p:plain

Xilinx.licを選べば完了。
f:id:trafalbad:20200805125738p:plain

f:id:trafalbad:20200805125745p:plain





3.その他必要なツールのインストール

・Petalinux



1.Petalinuxのインストール


このサイトから下のをdownload。


PetaLinux 2019.2 インストーラ(TAR/GZIP - 7.92GB)


ちなみにrootユーザーではインストーラの実行ができない。
ホストOS側でダウンロードしたものを、マウント共有フォルダでゲストOS内移動して、実行した。

# check user name
$ whoami   # user
$ export USER=user
$ sudo mkdir -p /opt/petalinux/
$ sudo chmod -R 777 /opt/petalinux/
$ sudo chown $USER:$USER /opt/petalinux
# /home/userのところでinstallの実行
$ sudo chmod 777 petalinux-v2019.2-final-installer.run 
$ ./petalinux-v2019.2-final-installer.run /opt/petalinux

>>>>>
INFO: Checking installation environment requirements...
INFO: Checking free disk space
INFO: Checking installed tools
INFO: Checking installed development libraries
INFO: Checking network and other services
INFO: Checking installer checksum...
INFO: Extracting PetaLinux installer...

LICENSE AGREEMENTS
〜
INFO: Installing PetaLinux...
*********************************************
WARNING: PetaLinux installation directory: /opt/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 "/opt/petalinux/."
INFO: Installing aarch64 Yocto SDK to "/opt/petalinux/./components/yocto/source/aarch64"...
INFO: Installing arm Yocto SDK to "/opt/petalinux/./components/yocto/source/arm"...
INFO: Installing microblaze_full Yocto SDK to "/opt/petalinux/./components/yocto/source/microblaze_full"...
INFO: Installing microblaze_lite Yocto SDK to "/opt/petalinux/./components/yocto/source/microblaze_lite"...
INFO: PetaLinux SDK has been installed to /opt/petalinux/.


インストール後、PetaLinuxツール(components, doc, etc, tools, settings.csh, settings.sh)の確認。

$ ls
components  doc  etc  settings.csh  settings.sh  tools


・XRTライブラリ(ザイリンクスランタイム)


XRTはライブラリなので、実行してもフォルダは出現しない。

# xilinxツール用ディレクトリ作成(sshでログインして実行)
$ mkdir xilinx_drivers && cd xilinx_drivers
$ wget https://www.xilinx.com/bin/public/openDownload?filename=xrt_201920.2.3.1301_18.04-xrt.deb -O xrt_201920.2.3.1301_18.04-xrt.deb
# 実行
$ sudo apt install ./xrt_201920.2.3.1301_18.04-xrt.deb -y

>>>>
DKMS: install completed.
Finished DKMS common.postinst
Loading new XRT Linux kernel modules
Installing MSD / MPD daemons
〜
Collecting pyopencl
  Downloading https://files.pythonhosted.org/packages/a1/b5/c32aaa78e76fefcb294f4ad6aba7ec592d59b72356ca95bcc4abfb98af3e/pyopencl-2020.2.tar.gz (351kB)
    100% |████████████████████████████████| 358kB 2.6MB/s 
    Complete output from command python setup.py egg_info:
〜
 create mode 100644 OpenCL/vendors/xilinx.icd
 create mode 100644 bash_completion.d/dkms
〜
 create mode 100644 systemd/system/mpd.service
 create mode 100644 systemd/system/msd.service
 create mode 100644 udev/rules.d/10-xclmgmt.rules
 create mode 100644 udev/rules.d/10-xocl.rules





・ボードファイル



# sshでログインして実行
$ cd xilinx_drivers
# wget https://github.com/Avnet/bdf/archive/master.zip && unzip master.zip

# new board copy
$ unzip -o vivado-boards-master.zip
$ sudo cp -rf vivado-boards-master/new/board_files/* /home/user/Vivado/2019.2/data/boards/board_files/
$ sudo rm -rf vivado-boards-master

# copy usual board 
$ unzip -o bdf-master.zip
$ sudo cp -rf bdf-master/* /home/user/Vivado/2019.2/data/boards/board_files/
$ sudo rm -rf bdf-master




・ケーブルドライバー



$ cd Vivado/2019.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
$ sudo ./install_drivers

>>>>>
INFO: Installing cable drivers.
INFO: Script name = ./install_drivers
INFO: HostName = hagi-VirtualBox
INFO: Current working dir = /home/[host-name]/Vivado/Vivado/2019.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
INFO: Kernel version = 5.3.0-42-generic.
INFO: Arch = x86_64.
Successfully installed Digilent Cable Drivers
--File /etc/udev/rules.d/52-xilinx-ftdi-usb.rules does not exist.
--File version of /etc/udev/rules.d/52-xilinx-ftdi-usb.rules = 0000.
--Updating rules file.
--File /etc/udev/rules.d/52-xilinx-pcusb.rules does not exist.
--File version of /etc/udev/rules.d/52-xilinx-pcusb.rules = 0000.
--Updating rules file.

INFO: Digilent Return code = 0
INFO: Xilinx Return code = 0
INFO: Xilinx FTDI Return code = 0
INFO: Return code = 0
INFO: Driver installation successful.
CRITICAL WARNING: Cable(s) on the system must be unplugged then plugged back in order for the driver scripts to update the cables.




環境変数の設定



# LD_LIBRARY_PATH の設定
$ export GID=`id -g`
$ sudo chown ${UID}:${GID} /home/$USER/.bashrc

# ゲストOSの環境変数の設定
$ sudo echo "source /home/〜/Vivado/2019.2/settings64.sh" >> ~/.bashrc
$ sudo echo "source /home/〜/Vitis/2019.2/settings64.sh" >> ~/.bashrc
$ sudo echo "source /opt/xilinx/xrt/setup.sh  " >> ~/.bashrc
$ sudo echo "source /opt/petalinux/settings.sh " >> ~/.bashrc

あとは念のためGUIで再起動(CUI:$sudo reboot)




4.ゲストOS側からVivadoの起動

# Vivadoコマンドを起動
$ /home/〜/Vivado/2019.2/bin/vivado


起動できた。
f:id:trafalbad:20200311235852p:plain





後は以下の図の流れでVitisPlatformを構築していく。

f:id:trafalbad:20200311235916p:plain



参考サイト



・[https://qiita.com/georgioush/items/1e19ecd9a9ef8be886d7:title=Vivado License Error [17-345]]

Vitis 2019.2 をインストールした(FPGAの部屋)

PetaLinux Tools Documentation

PetaLinux 2017.3 をインストールする(FPGAの部屋)