Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
languagebash
   <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
languagebash
$ 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
languagebash
   ${OEROOT}/layers/meta-qcom \
-  ${OEROOT}/layers/meta-edison \
   ${OEROOT}/layers/meta-96boards \

...

Code Block
languagebash
$ git commit -a -m "remove meta-edison from bblayers.conf"

Thud release does not require this patch.

Cd up a directory.

Code Block
languagebash
cd ..

Edit “default.xml” and change the “meta-maker” revision to “zeus”.

Thud release does not require this patch.

Code Block
languagebash
   <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
languagebash
$ 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
languagebash
$ 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
languagebash
$ 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
languagebash
$ 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

  1. https://github.com/Angstrom-distribution/angstrom-manifest

  2. https://github.com/Angstrom-distribution/meta-angstrom

Child Pages

...