Skip to content

Setting up OE layers

aikidokatech edited this page Oct 31, 2014 · 2 revisions

After creating your build machine or build container, make sure you have the required packages for OE installed.

NOTE: Building in my environment is being done with a Debian Wheezy 32-bit LXC container. I used the instructions on the OpenXT wiki as a guide. So far I have had to update binutils to resolve an issue with ghc-transformers configuring. Use this guide to enable the testing repo and then update binutils after prepping the system for OE. I strongly recommend using the pinning method described so you can control what gets pulled from testing. For reference the configure error was the following:

  1. Get OE-Core and check out the daisy branch.

    git clone git://git.openembedded.org/openembedded-core oe-core
    cd oe-core
    git checkout daisy

  2. Get Bitbake, check out 1.24 and go back to the oe-core directory.

    git clone git://git.openembedded.org/bitbake bitbake
    cd bitbake
    git checkout 1.24
    cd ..

  3. Get the meta-openembedded layer

    git clone git://git.openembedded.org/meta-openembedded

  4. Get the meta-selinux layer

    git clone git://git.yoctoproject.org/meta-selinux

  5. Get the meta-java layer

    git clone git://github.com/woglinde/meta-java

  6. Get the meta-openxt layer

    git clone https://github.com/aikidokatech/meta-openxt.git

  7. You should still be inside the oe-core directory at this time. Create the builds directory (you can actually name this whatever you like).

    source oe-init-build-env builds

  8. You will now be in the builds directory. Set up your bblayers.conf file with your favorite editor. Make sure you set the proper path for your environment.

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "5"

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

BBLAYERS ?= " \
 /home/aikidoka/oe-core/meta \
 /home/aikidoka/oe-core/meta-java \
 /home/aikidoka/oe-core/meta-openembedded/meta-gnome \
 /home/aikidoka/oe-core/meta-openembedded/meta-networking \
 /home/aikidoka/oe-core/meta-openembedded/meta-oe \
 /home/aikidoka/oe-core/meta-openembedded/meta-xfce \
 /home/aikidoka/oe-core/meta-selinux \
 /home/aikidoka/oe-core/meta-openxt \
 "

BBLAYERS_NON_REMOVABLE ?= " \
 /home/aikidoka/oe-core/meta \
 "
  1. Tweak your local.conf, making sure to set your DL_DIR to your oe-cache directory. This can be shared with the cache directory from your existing OpenXT build. Also add the following to local.conf:
ENABLE_BINARY_LOCALE_GENERATION="1"
LOCALE_UTF8_ONLY = "1"

BUILD_ARCH="i686"

# Production and development repository-signing CA certificates
REPO_PROD_CACERT="<path to your certs>/prod-cacert.pem"
REPO_DEV_CACERT="<path to your certs>/dev-cacert.pem"
  1. Images can now be built using the following commands:
MACHINE="openxt-dom0" DISTRO="openxt" bitbake xenclient-initramfs-image

MACHINE="openxt-stubdomain" DISTRO="openxt" bitbake xenclient-stubdomain-initramfs-image

MACHINE="openxt-dom0" DISTRO="openxt" bitbake xenclient-dom0-image

MACHINE="openxt-uivm" DISTRO="openxt" bitbake xenclient-uivm-image

MACHINE="openxt-ndvm" DISTRO="openxt" bitbake xenclient-ndvm-image

MACHINE="openxt-syncvm" DISTRO="openxt" bitbake xenclient-syncvm-image

MACHINE="openxt-dom0" DISTRO="openxt" bitbake xenclient-sysroot-image

MACHINE="openxt-syncui" DISTRO="openxt" bitbake xenclient-sync-wui

MACHINE="openxt-dom0" DISTRO="openxt" bitbake xenclient-installer-image

MACHINE="openxt-dom0" DISTRO="openxt" bitbake xenclient-installer-part2-image

Clone this wiki locally