https://github.com/geontech/opencpi-manifest
OpenCPI + Yocto Build Manifest
https://github.com/geontech/opencpi-manifest
Last synced: 4 months ago
JSON representation
OpenCPI + Yocto Build Manifest
- Host: GitHub
- URL: https://github.com/geontech/opencpi-manifest
- Owner: Geontech
- Created: 2019-01-30T19:45:18.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-09-13T08:52:40.000Z (almost 7 years ago)
- Last Synced: 2025-06-10T07:07:06.721Z (about 1 year ago)
- Size: 11.7 KB
- Stars: 0
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Xilinx ZCU102/ZCU111 OpenCPI Manifest
This is a Google `repo` manifest that enables installing OpenCPI onto a Xilinx ZCU102 MPSoC (a.k.a., `zcu102-zynqmp`) or ZCU111 RFSoC (a.k.a., `zcu111-zynqmp`). The following sections will detail how to download the manifest, setup the build environment, build it, and then run it against an existing naming service.
> NOTE: This build relies on `meta-xilinx-tools`, which requires your host operating system have `Xvfb` and Vivado installed with a license capable of using the ZCU102/ZCU111.
This manifest repository is intended to be at the same hierarchical level as the following repositories:
* meta-poky
* meta-openembedded
* meta-xilinx
* meta-xilinx-tools
* meta-opencpi
This repository is expected to be named `build-manifest`.
**Target Release Expectations:**
| ITEM | TYPE | VERSION |
| ----- | ----- | ----- |
| Xilinx Vivado | host | 2018.2 |
| meta-xilinx | branch | rel-v2018.2 |
| meta-xilinx-tools | branch | rel-v2018.2 |
| meta-poky | tag | yocto-2.4.3` |
| meta-openembedded | branch | rocko |
| OpenCPI | branch | release_1.4_zynq_ultra |
| meta-opencpi | branch | zcu1xx |
> NOTE: We are assuming that Vivado is installed at its standard location: ` /opt/Xilinx/Vivado/`. If this is not the case, modify the `local.conf` variable `XILINXD_SDK_TOOLCHAIN` to point to the right location.
The manifest file narrows the selection further to a particular commit. Please see `default.xml`. If the source revisions are not available in your fork, you do not have the correct fork. Please contact your vendor as additional patches have been applied.
The only tested `MACHINE` values are `zcu102-zynqmp` and `zcu111-zynqmp`.
## Downloading
If you do not have `repo` installed, do so now:
```
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > repo
chmod a+x repo
sudo mv repo /usr/local/bin
```
Then, clone the manifest:
```
mkdir
cd
repo init -u /opencpi-manifest.git
repo sync
```
## Setup
Commands in this section are run from your project directory where you ran the `repo sync`.
Assuming the OpenCPI RPMs are installed (including those for the ZCU102 and/or ZCU111), or the OpenCPI framework is installed in some way for use with these boards, there should be a directory with SD card contents in OpenCPI's CDK. Those contents must be copied to the `meta-opencpi` layer at this point.
* For the ZCU102 with OpenCPI `release_1.4_zynq_ultra` RPMs installed:
```
cp -rf /opt/opencpi/cdk/zcu102/*/sdcard-xilinx18_2/opencpi poky/meta-opencpi/recipes-core/opencpi/opencpi-runtime/zcu102-zynqmp/;
```
* For the ZCU102 with OpenCPI `release_1.4_zynq_ultra` installed from source:
```
cp -rf $OCPI_CDK_DIR/zcu102/zcu102-deploy/sdcard-xilinx18_2/opencpi poky/meta-opencpi/recipes-core/opencpi/opencpi-runtime/zcu102-zynqmp/;
```
* For the ZCU111 with OpenCPI `release_1.4_zynq_ultra` RPMs installed:
```
cp -rf /opt/opencpi/cdk/zcu111/*/sdcard-xilinx18_2/opencpi poky/meta-opencpi/recipes-core/opencpi/opencpi-runtime/zcu111-zynqmp/;
```
* For the ZCU111 with OpenCPI `release_1.4_zynq_ultra` installed from source:
```
cp -rf $OCPI_CDK_DIR/zcu111/zcu111-deploy/sdcard-xilinx18_2/opencpi poky/meta-opencpi/recipes-core/opencpi/opencpi-runtime/zcu111-zynqmp/;
```
Now to set up your environment for building:
```
source poky/oe-init-build-env
```
You should now be in the `build` directory. When you view `conf/local.conf` and `conf/bblayers.conf`, you should see:
1. (local.conf) The `MACHINE` is weak-set to `zcu111-zynqmp`
2. (local.conf) The `XILINX_SDK_TOOLCHAIN` is set to the expected default path to Vivado
3. (bblayers.conf) The layers mentioned at the top of this file are listed in the same order (with sub-layers, as in the case of `meta-openembedded` and `meta-xilinx`).
## Build
You should have run the `source ...` step to enter the `build` directory. You're now ready to build the OpenCPI Runtime image:
```
bitbake opencpi-runtime-image
```
Note: The default `MACHINE` is set to `zcu111-zynqmp` in build/conf/layers.conf. To build for the ZCU102, set `MACHINE` to `zcu102-zynqmp` in that file and rerun the above `bitbake` command.
When the process completes, you will have a file such as: `tmp/deploy/images/MACHINE/IMAGE.wic`.
## Write to SD Card
You can then write that image using `dd` to your SD card.
* This can be done for the ZCU102 as follows:
```
sudo dd if=tmp/deploy/images/zcu102-zynqmp/redhawk-gpp-image-zcu102-zynqmp.wic of= bs=1M && sync
```
* or for the ZCU111:
```
sudo dd if=tmp/deploy/images/zcu111-zynqmp/redhawk-gpp-image-zcu111-zynqmp.wic of= bs=1M && sync
```