C

Creating New Layer Manifest

The Repo tool from Google is used to handle all the meta layers that are required to build Boot to Qt for the selected device. The Repo tool uses a manifest file that defines which meta layers are downloaded and which versions are used.

The Repo tool is normally used with a separate manifest repository that contains only the manifest XML file describing all the needed Yocto meta layers. Qt provides such a repository in https://code.qt.io/cgit/yocto/boot2qt-manifest.git/. This repository provides manifests for all the Boot to Qt releases, but can also have manifests for 3rd party vendor supported releases.

For example, the manifest file for Renesas boards is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Yocto -->
<remote name="yocto"
        fetch="git://git.yoctoproject.org"/>
<project name="poky"
        remote="yocto"
        revision="eac84e73e8d94610173c3bb3b6c6d74b58e44f60"
        path="sources/poky"/>
<project name="meta-mingw"
        remote="yocto"
        revision="756963cc28ebc163df7d7f4b4ee004c18d3d3260"
        path="sources/meta-mingw"/>

<!-- OpenEmbedded -->
<remote name="oe"
        fetch="git://git.openembedded.org"/>
<project name="meta-openembedded"
        remote="oe"
        revision="9e60d30669a2ad0598e9abf0cd15ee06b523986b"
        path="sources/meta-openembedded"/>
<project name="meta-python2"
        remote="oe"
        revision="4400f9155ec193d028208cf0c66aeed2ba2b00ab"
        path="sources/meta-python2"/>

<!-- Qt -->
<remote name="qt"
        fetch="git://code.qt.io/yocto"
        pushurl="ssh://codereview.qt-project.org/yocto"/>
<project name="meta-boot2qt"
        remote="qt"
        revision="dunfell"
        path="sources/meta-boot2qt">
    <linkfile dest="setup-environment.sh" src="scripts/setup-environment.sh"/>
</project>
<project name="meta-boot2qt-renesas"
        remote="qt"
        revision="dunfell"
        path="sources/meta-boot2qt-renesas">
    <linkfile dest="sources/templates" src="conf"/>
</project>
<project name="meta-qt6"
        remote="qt"
        revision="dev"
        path="sources/meta-qt6"/>

<!-- Device specific layers -->
<remote name="renesas"
        fetch="https://github.com/renesas-rcar"/>
<project name="meta-renesas"
        remote="renesas"
        revision="9a58b78a5c2960332b6ed4b02a6d8d5c606fa3e5"
        path="sources/meta-renesas"/>
</manifest>

Both the meta-boot2qt and the meta-boot2qt-renesas BSP layers have extra <linkfile> configuration specifically added to support correct initialization of the build environment. Those should always be used in Boot to Qt BSP manifest files.

Initializing Build Environment with Manifest

You can initialize the build environment from the manifest repository as follows:

repo init -u git://code.qt.io/yocto/boot2qt-manifest -m <manifest>
repo sync

export MACHINE=<target machine>
. ./setup-environment.sh

bitbake b2qt-embedded-qt6-image

Available under certain Qt licenses.
Find out more.