公式サポートされてないZCU102向けにPYNQv2.3イメージをビルドしました。
色々とハマったのでメモ。
参考
http://xilinx.eetrend.com/d6-xilinx/blog/2018-12/13960.html
https://github.com/Xilinx/PYNQ/tree/image_v2.3/sdbuild
前提となる環境
以下の環境で実行しました。
バージョンは揃えてください。
- Ubuntu 16.04
- SDSoC 2018.02
- Petalinux 2018.02 参考
事前準備
次のファイルを~/に用意します。
- bionic.aarch64.2.3.img (from: http://www.pynq.io/board.html)
- xilinx-zcu102-v2018.2-final.bsp (from: https://japan.xilinx.com/support/download.html)
ビルド実行
# pynq
$ git clone https://github.com/Xilinx/PYNQ.git
$ cd PYNQ
$ git checkout image_v2.3
# ZCU102 setting
$ cp -rf ./boards/ZCU104 ./boards/ZCU102
$ rm -rf ./boards/ZCU102/petalinux_bsp/
$ mv ./boards/ZCU102/ZCU104.spec ./boards/ZCU102/ZCU102.spec
# 修改ZCU102.spec的内容
$ vim ./boards/ZCU102/ZCU102.spec
> ARCH_ZCU102 := aarch64
> BSP_ZCU102 := xilinx-zcu102-v2018.2-final.bsp
> STAGE4_PACKAGES_ZCU102 := ethernet
# copy files
$ cp ~/xilinx-zcu102-v2018.2-final.bsp ./boards/ZCU102/
$ mkdir ./sdbuild/prebuilt
$ cp ~/bionic.aarch64.2.3.img ./sdbuild/prebuilt
# 检查依赖环境,qemu,crosstool-ng
$ cd ./sdbuild/
$ ./scripts/setup_host.sh
# path
$ PATH=/opt/qemu/bin:/opt/crosstool-ng/bin:$PATH
$ source /opt/pkg/petalinux/settings.sh
$ source /opt/Xilinx/Vivado/2018.2/settings64.sh
# build
$ sudo echo
$ make boot_files BOARDS=ZCU102
$ mkdir ccache
$ make images BOARDS=ZCU102 PREBUILT=./prebuilt/bionic.aarch64.2.3.img
# done
$ ls ./output/