Skip to content
Meta-layer for Poky to build embedded Linux exvironments by Debian's source codes
Branch: master
Clone or download
Pull request Compare This branch is 305 commits ahead, 293 commits behind morty.
zuka0828 Merge pull request #141 from tswcos/master
[master] Update documentation
Latest commit 91c198b Apr 19, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf layer.conf: Update LAYERSERIES_COMPAT to 'warrior' Apr 10, 2019
doc doc/ Add a note about BPN Apr 18, 2019
docker Makefile: Update POKY_REV to the latest commit which meta-debian's co… Mar 27, 2019
recipes-core core-image-minimal: Don't remove dependency on update-rc.d Aug 24, 2018
recipes-debian glib: do a build check for strlcpy before runtime Apr 11, 2019
recipes-kernel linux-base: Update config for new qemuarm Mar 27, 2019
.gitignore move Docker support scripts to docker sub directory Feb 10, 2019
COPYING.MIT add the MIT license description Mar 23, 2015 README, doc: Correct installing dependency Mar 28, 2019

What is meta-debian?

meta-debian is a set of recipes (metadata) for the poky build system, which allows cross-building GNU/Linux images using Debian source packages. By enabling meta-debian, you can cross-build a small GNU/Linux image with Debian sources for multiple architectures.

The main purpose of meta-debian is to provide reference Linux distribution for embedded systems satisfying the following needs.

  • Long-term support
  • Stability
  • Wide embedded CPU support
  • Customizability

Currently, the following software versions are supported in meta-debian.

  • Source code: Debian GNU/Linux 10 (buster)
  • Build system: Yocto Project (master)

Quick Start

meta-debian can be built in a docker container or on a Linux machine (native build).

Setup build environment

Clone meta-debian:

$ git clone -b master
  • For docker build:

    $ cd meta-debian
    $ make -C docker
  • For native build:

    • Install essential packages poky requires into your host system according to

      $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
      build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
      xz-utils debianutils iputils-ping

      NOTE: The following three packages have version limitation

      • git: or greater
      • tar: 1.27 or greater
      • python: 3.4.0 or greater
    • Setup repositories

      $ git clone -b master git://
      $ mv meta-debian poky/


$ export TEMPLATECONF=meta-debian/conf
$ source ./poky/oe-init-build-env

You can change the target machine by setting MACHINE variable in conf/local.conf to one of the following machines.

  • qemux86 (default)
  • qemux86-64
  • qemuarm
  • qemuarm64
  • qemuppc
  • qemumips

For example, the target machine is set to QEMU ARM by adding the following difinition to conf/local.conf.

MACHINE = "qemuarm"

Now, the build system is ready. Build Linux kernel and the minimal rootfs by the following command. It takes a while to complete (more than 30 minutes).

$ bitbake core-image-minimal

Run the built Linux on QEMU

Please replace ${MACHINE} by the target machine you selected in the above step.

NOTE: Confirm that the tun module, which runqemu depends on, is correctly loaded in your system.

$ runqemu ${MACHINE} nographic

After boot, you can login as root without password.


License of meta-debian is same as meta in poky i.e. All metadata is MIT licensed unless otherwise stated. Source code included in tree for individual recipes is under the LICENSE stated in the associated recipe (.bb file) unless otherwise stated.

See COPYING.MIT for more details about MIT license.

Community Resources

Project home

Mailing list

Mailing list subscription

You can’t perform that action at this time.