This page describes how to build and run the Angstrom Distribution on Zynq UltraScale+
Table of Contents
Angstrom is an embedded Linux Distribution similar to Poky. It provides opkg as the package manager to install binaries from package feeds similar to higher level distros like Ubuntu and CentOS. Angstrom is based on OpenEmbedded-Core and currently supports the Yocto build flow hosted on Github. This article is intended for those who want to migrate existing Angstrom platforms to Zynq UltraScale+ platforms. Angstrom Thud and Zeus releases will build and run on ZCU102.
Poky is the Xilinx preferred Yocto Distribution. Angstrom should only be used by experienced customers who need to maintain a legacy code base.
Angstrom is not WTS supported. Please do your due diligence and regression test against your requirements.
This build flow does not generate the low level boot components such as FSBL and PMUFW, nor does it package a boot.bin bootable image. These images need to be built outside of this flow.
Zeus release builds and runs, but does have some build warnings. Thud release is a cleaner build.
The build flow is Yocto based using meta-angstrom as the distro layer. Angstrom uses Repo to manage the repositories.
Cd into a directory where you keep utilities and make sure it's in your PATH.
Recommend checking out either Zeus or Thud release.
Patch the Manifest
The “meta-xilinx” layer is supported by the repo manifest, but it is not supported in the default “bblayers.conf”, so we need to do some work to enable it. There are also some layers that cause errors, so we need to fix them.
The patches below are based on commit ID 89ea19b94b58f1cfdcbc5fd0bbbf2df6d34e90c7 from Zeus branch. You may or may not need these patches depending on the state of the repo.
Create a new manifest development branch, e.g. xlnx-angstom.
$ git checkout xlnx-angstrom
Cd into the “manifests” directory and edit “default.xml”.
This “auto.conf” change is persistent and only needs to be done once following the initial run of the setup script.
Bitbake an image, e.g. angstrom-image.
$ MACHINE=zcu102-zynqmp bitbake angstrom-image
The angstrom-image builds, however, other images may not build by default due to missing dependencies.
Run Angstrom on ZCU102
Format an SD card with 2 partitions where the first partition is FAT (boot) and the second partition is EXT4 Linux (rootfs). Mount the partitions on your host. Copy a compatible boot.bin from either Petalinux or Xilinx Yocto flow to the boot partition.
Cd into the deploy directory for the ZCU102.
$ cd deploy/glibc/images/zcu102-zynqmp
Then copy Image, zynqmp-zcu102-rev1.0.dtb and boot.scr to the FAT partition.