Build Libmetal Firmware and Linux Application with Yocto Tools - 2025.1 English - UG1186

Libmetal and OpenAMP User Guide (UG1186)

Document ID
UG1186
Release Date
2025-05-29
Version
2025.1 English
SoC YAML_NAME MACHINE_NAME Artifactory Link
KRIA SOM ../sources/meta-openamp/vendor/xilinx/meta-xilinx-standalone-sdt/recipes-openamp/libmetal/overlays/libmetal-overlay-zynqmp.yaml K26 Index of /sswreleases
VEK280 ../sources/meta-openamp/vendor/xilinx/meta-xilinx-standalone-sdt/recipes-openamp/libmetal/overlays/libmetal-overlay-versal.yaml versal-vek280-sdt-seg-ospi Index of /sswreleases
  1. Generate the Yocto project:
    mkdir  yocto 
    curl https://storage.googleapis.com/git-repo-downloads/repo > repo
    chmod a+x repo  
     ./repo init -u https://github.com/Xilinx/yocto-manifests.git -b 2025.1 -m default-edf.xml 
    ./repo sync 
    source edf-init-build-env
  2. Generate conf/dts with gen machineconf run using the attached YAML and the SDT for the SoC:
    <yocto project>/build$ # Current directory after previous step
    
    export ARTIFACTORY_LINK=...
    export MACHINE_NAME=...
    export YAML_NAME=...
    
    gen-machineconf parse-sdt $ARTIFACTORY_LINK \
         -c conf -l conf/sdt-autogen.conf \
         -g full --machine-name $MACHINE_NAME \
         --add-config CONFIG_YOCTO_BBMC_CORTEXR5_0_FREERTOS=y \
         --add-config CONFIG_YOCTO_BBMC_CORTEXR5_1_BAREMETAL=y \
         --domain-file $YAML_NAME;
    
  3. Add the required packages to the Yocto build. Enable OpenAMP-related packages by appending the following to the conf/local.conf:
    IMAGE_INSTALL:append = " packagegroup-openamp libmetal-fw-freertos kernel-module-uio-pdrv-genirq kernel-module-uio-dmem-genirq "
  4. Build the Yocto project:
    MACHINE=<MACHINE_NAME> bitbake core-image-minimal