...
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. Although it has lost market momentum, it is still actively maintained on Angstrom 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.
Petalinux Poky is the Xilinx preferred Yocto Distribution. Angstrom should only be used by experienced customers who need to maintain a legacy code base.
...
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 build built outside of this flow.
Note |
---|
Zeus release builds and runs, but does have some build warnings. Thud release is a much cleaner build. |
The build flow is Yocto based where using meta-angstrom is as the distro layer. Angstrom uses Repo to manage all the required repositories.
Install Repo
...
Code Block | ||
---|---|---|
| ||
<project name="meta-virtualization" path="layers/meta-virtualization" remote="yocto"/> - <project name="meta-xilinx" path="layers/meta-xilinx" remote="yocto" revision="f3c8b1c9a8ae6a1690f7f5d907b65c588f65446a"/> + <project name="meta-xilinx" path="layers/meta-xilinx" remote="yocto" revision="zeus"/> <project name="ndechesne/meta-qcom" path="layers/meta-qcom" remote="github"/> <project name="openembedded/bitbake" path="bitbake" remote="github" revision="1.44"/> |
...
Save the default.xml and commit the change.
Code Block | ||
---|---|---|
| ||
$ git commit -a -m "updated meta-xilinx branch to zeus" |
The Angstrom manifest points to the meta-xilinx layer hosted on yoctoproject.org. If desired, you may use the forked meta-xilinx layer hosted on Xilinx GitHub which has the latest Xilinx commits.
Cd into the “conf” directory and edit the bblayers.conf file.
...
Edit “bblayers.conf” and delete the “meta-edison” layer.
...
.
Code Block | ||
---|---|---|
| ||
${OEROOT}/layers/meta-qcom \ - ${OEROOT}/layers/meta-edison \ ${OEROOT}/layers/meta-96boards \ |
...
Code Block | ||
---|---|---|
| ||
$ git commit -a -m "remove meta-edison from bblayers.conf" |
Thud release does not require this patch.
Cd up a directory.
Code Block | ||
---|---|---|
| ||
cd .. |
Edit “default.xml” and change the “meta-maker” revision to “zeus”.
Thud release does not require this patch.
Code Block | ||
---|---|---|
| ||
<project name="koenkooi/meta-kodi" path="layers/meta-kodi" remote="github" revision="thud"/> - <project name="koenkooi/meta-maker" path="layers/meta-maker" remote="github" revision="warrior"/> + <project name="koenkooi/meta-maker" path="layers/meta-maker" remote="github" revision="zeus"/> <project name="koenkooi/meta-photography" path="layers/meta-photography" remote="github" revision="thud"/> |
Code Block | ||
---|---|---|
| ||
$ git commit -a -m "updated meta-maker branch to zeus" |
Thud release does not require this patch.
Create the patches directory and generate a patchset for these 4 commits (2 if building Thud).
...
Cd to your top level Yocto directory where you cloned the manifest.
Code Block | ||
---|---|---|
| ||
$ cd ../.. |
...
Note |
---|
The angstrom-image builds, but however, other images may not build by default due to missing dependencies. |
Warning |
---|
If bitbake fails to start parsing the recipes and errors-out, try closing your terminal and opening a new one. Then repeat running the setup script and bitbake the image. |
Run Angstrom on ZCU102
Create SD card
Boot zcu102
<add terminal screenshot here>
TODO
...
Any changes to local.conf, e.g. rm_work
...
Build for Thud (cleaner build)
...
Build PMUFW under Yocto?
...
Change kernel default version, 4.19?
...
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.
Code Block |
---|
$ cd deploy/glibc/images/zcu102-zynqmp |
Then copy Image, zynqmp-zcu102-rev1.0.dtb and boot.scr to the FAT partition.
Code Block | ||
---|---|---|
| ||
$ cp Image zynqmp-zcu102-rev1.0.dtb boot.scr <sd-p1> |
Finally extract the root filesystem to the EXT4 partition (may need to be root).
Code Block | ||
---|---|---|
| ||
$ tar xf base-image-zcu102-zynqmp.tar.gz -C <sd-p2> |
Plug in the SD card to the ZCU102 and boot the board.
...
Related Links
Child Pages
...