OE Build

Last modified by Microchip on 2026/03/04 10:03

Information

Note: Building an entire distribution is a long process. It also requires a large amount of free disk space.

Support for the Microchip MPU SoC family is included in a particular Yocto Project™ layer, meta-mchp. The source for this layer is hosted on the Linux4Microchip GitHub® account on the Microchip Yocto Project BSP page.

Building Environment

A step-by-step, comprehensive installation is explained on the "Yocto Project Quick Build" page. The following lines should be considered as an add-on that is MPU-specific, or that can facilitate your setup.

Step-by-Step Build Procedure
Information

Note: The README procedure is available directly in the meta-mchp-common layer. This file in the meta-mchp layer repository should be considered the reference, and the following copy may be out of sync.

Information

Note: Starting with the Linux4Microchip 2025.04 release, the meta-mchp layer supports Yocto Project templates, so make sure you create a new build environment using oe-init-build-env.

OpenEmbedded™/Yocto Project BSP Layer for Microchip's SoCs
  • Description
    • The meta-mchp-common layer consolidates common Board Support Package (BSP) components and metadata for Microchip platforms, streamlining development across various Microchip devices for use with OpenEmbedded and/or Yocto Project.
  • Supported Machines
    • The meta-mchp-common layer provides support for various Microchip platforms. For detailed information about supported machines, please refer to the documentation in the relevant sub-layers:
  • Prerequisites
    • Before starting, please refer to the "Required Packages for Build Host" section in the Yocto Project documentation to install the required dependencies for the build environment:
Information

Note: Make sure to install git-lfs and repo in addition to the required packages for your Linux distribution.

For instance, on Ubuntu or Debian, these packages need to be installed on your development host:

sudo apt-get install gawk wget git-core git-lfs diffstat unzip texinfo gcc-multilib \
     build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
     xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
     pylint3 xterm repo
  • Usage

    • To integrate this layer into your Yocto Project build environment:

    Clone the necessary repositories.

    Create an empty directory to hold the workspace:

    mkdir yocto-dev
    cd yocto-dev

    Use the repo tool to fetch all the required repositories.

    Information

    Note: Make sure to install the repo utility first.

    repo init -u https://github.com/linux4microchip/meta-mchp-manifest.git -b <branch> -m <target>/default.xml

    Replace and with the Yocto Project release branch and the manifest required. For example:

    repo init -u https://github.com/linux4microchip/meta-mchp-manifest.git -b scarthgap -m mpu/default.xml

    Fetch all the required repositories using the following repo command:

    repo sync

    Back to Top


    Initialize the build environment.

    The meta-mchp repository provides sample configuration templates that help set up BitBake™ layers and key configuration files in the Yocto Project build directory.

    Set the TEMPLATECONF environment variable to point to the appropriate configuration template before initializing the build environment:

    export TEMPLATECONF=${TEMPLATECONF:-../meta-mchp/<meta-layer>/conf/templates/default}

    Replace meta-layer above with the desired layer based on your target platform. For example:

    export TEMPLATECONF=${TEMPLATECONF:-../meta-mchp/meta-mchp-mpu/meta-mchp-mpu-apps/conf/templates/default}
    Information

    Note: Setting TEMPLATECONF is only needed the first time you will run the source command.

    Then initialize the Yocto Project build environment:

    source openembedded-core/oe-init-build-env

    Back to Top


    Set the target machine and build the image.

    MACHINE=<machine> bitbake core-image-minimal

    Each sub-layer provides several images that include demos and applications tailored for its respective platform.

    For more information on the supported images, please refer to the MPU layer README.

    • Layer Dependencies

      This layer depends on the following layers:

      - meta-openembedded
       - URI: git://git.openembedded.org/meta-openembedded
       - Layers: meta-oe, meta-networking, meta-python

      - openembedded-core
       - URI: git://git.openembedded.org/openembedded-core
       - Layers: meta

    For information on the specific revisions used, refer to the meta-mchp manifest repository.

  • Licensing
    • The contents of this layer are licensed under the MIT License. See COPYING.MIT for details.
  • Contributing 

Back to Top