Shared Embedded Linux Distribution

Revision as of 22:13, 4 June 2015 by Yoshi (talk | contribs)
Jump to: navigation, search

This page describes the CE Workgroup "Shared Embedded Linux Distribution" project


The meta-debian is a set of recipes (metadata) for the poky build system, which allows cross-building Linux images using Debian source packages. By enabling meta-debian, poky fetches required sources from Debian source repository and LTSI kernel repository.meta-debian is independent of OpenEmbedded-core recipes, so OE-Core recipes are still available after meta-debian is enabled. meta-debian is mainly intended to be used for embedded products which needs long-term support.

The purpose is to provide the following things

  • Fully customizable embedded Linux based on existed distro
  • Wide embedded CPU support
  • Stability and long-term support

The meta-debian recipes follow Debian build rules by default, but sometimes customize them for embedded systems if necessary (e.g. remove dependencies). Also they re-use essential patches from OE-Core to support cross-building

How to use

Setup repositories

$ git clone git://
$ cd poky
$ git checkout daisy
$ git clone
$ cd meta-debian
$ git checkout daisy

Please don't forget to install essential packages into your host system before you bitbake something. See Yocto Project's web site for this information [1]

Setup build directory

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

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

  • qemux86, qemux86-64, qemuarm, qemuppc

Bitbake kernel and tiny rootfs

$ bitbake core-image-minimal

Run the build image on Qemu

Please run the following commands after bitbake core-image-minimal finishes.

$ runqemu qemux86 nographic bootparams="init=/init root=/dev/sda"

$ runqemu qemux86-64 nographic bootparams="init=/init root=/dev/sda"

$ runqemu qemuarm nographic bootparams="init=/init console=ttyAMA0"

$ runqemu qemuppc nographic bootparams="init=/init"

The shell prompt appears automatically after system boots without login. "init=/init" means that kernel uses tiny-init script as the init process instead of busybox /sbin/init.



Mailing list