Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DISTRO 'poky' not found. Please set a valid DISTRO in your local.conf

New to Yocto. Trying to build an image for Xilinx Zynq. Followed instructions on https://github.com/Xilinx/meta-petalinux. Don't need everything there, so removed some of the layers. When I execute bitbake zynq-generic I get the following error:

$ bitbake petalinux-image
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    DISTRO 'poky' not found. Please set a valid DISTRO in your local.conf


Summary: There was 1 ERROR message shown, returning a non-zero exit code.

Here is my bblayers.conf

# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"


BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
    ${TOPDIR}/layers/meta-openembedded/meta-perl \
    ${TOPDIR}/layers/meta-openembedded/meta-python \
    ${TOPDIR}/layers/meta-openembedded/meta-filesystems \
    ${TOPDIR}/layers/meta-openembedded/meta-gnome \
    ${TOPDIR}/layers/meta-openembedded/meta-multimedia \
    ${TOPDIR}/layers/meta-openembedded/meta-networking \
    ${TOPDIR}/layers/meta-openembedded/meta-webserver \
    ${TOPDIR}/layers/meta-openembedded/meta-xfce \
    ${TOPDIR}/layers/meta-openembedded/meta-initramfs \
    ${TOPDIR}/layers/meta-openembedded/meta-oe \
    ${TOPDIR}/layers/openembedded-core/meta \
    ${TOPDIR}/layers/meta-qt5 \
    ${TOPDIR}/layers/openembedded-core/meta-selftest \
    ${TOPDIR}/layers/openembedded-core/meta-skeleton \
    ${TOPDIR}/layers/meta-xilinx \
    ${TOPDIR}/layers/meta-petalinux \
    "

MACHINE = "zynq-generic"

DISTRO ?= "poky"

What am I missing?

like image 577
flashburn Avatar asked Dec 05 '25 00:12

flashburn


1 Answers

The MACHINE and DISTRO variables should be in your local.conf.

Have a look at their local.conf example.

Your DISTRO should be:

DISTRO ?= "petalinux"

You're not using Poky because meta-petalinux draws directly from oe-core and bitbake:

...
This layer depends on:

URI: git://git.openembedded.org/bitbake
URI: git://git.openembedded.org/openembedded-core

To learn more about Poky check out this page.

Basically Poky combines parts of oe-core and bitbake. Xilinx's meta-petalinux instead pulls those things in separately.

Also, their setup instructions are probably missing this step:

TEMPLATECONF=meta-petalinux/conf source {path-to}/oe-init-build-env

This tells bitbake to use "meta-petalinux" local.conf.sample and bblayers.conf.sample. You'll notice that they include many layers in their bblayers.conf.sample that you are not including.

Since you have already setup your local.conf and bblayers.conf, I would simply look at their examples and correct your files as needed. You may also want to look up the variable names that meta-petalinux changes in the Bitbake Manual or Yocto Manual. This will give you a better idea of what they did and why (if you care :) ).

like image 175
Stephano Avatar answered Dec 08 '25 23:12

Stephano



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!