[Openembedded-architecture] kas: Setup tool for bitbake based projects

Daniel Wagner wagi at monom.org
Fri Nov 3 11:36:40 UTC 2017


Hi,

I've did 'sales pitch' at the Yocto booth (ELCE) last week. I was asked
to post this on this mailing list. We (Siemens) are using this tool for
setting up a bunch of Yocto projects and are quite happy with it. Maybe
it might be useful for someone else too. It is not perfect, doesn't
solve all problems. And it might eat your cat...

Anyway, what is it? kas a simple tool to setup bitbake based projects.

The OpenEmbedded tooling support starts at step 2 with bitbake. The
downloading of sources and then configuration has to be done by hand.
Usually, this is explained in a README. Instead kas is using a project
configuration file and does the download and configuration phase.

Key features provided by the build tool:

 - clone and checkout bitbake layers
 - create default bitbake settings (machine, arch, ...)
 - launch minimal build environment
 - initiate bitbake build process

The aim was to support CI builds and also allowing novice users to get
something in one command line (well let's say very few).

Let's have a simple example:

	$ pip3 install kas
	$ git clone https://github.com/siemens/meta-iot2000.git
	$ kas build meta-iot200/meta-iot2000-example/kas.yml


kas.yml:

"""
header:
  version: 2
  includes:
    - file: meta-iot2000-bsp/kas.yml
      repo: meta-iot2000

target: iot2000-example-image

repos:
  meta-iot2000:
    layers:
      meta-iot2000-example:

  meta-intel-iot-middleware:
    url: https://git.yoctoproject.org/git/meta-intel-iot-middleware
    refspec: fc8eabfa4fb54802d3f97123b9d2954450175e33

  meta-nodejs:
    url: https://github.com/imyller/meta-nodejs
    refspec: eec531e97a17bfd406f3bf76dee4057dcf5286a4

local_conf_header:
  package_ipk: |
    PACKAGE_CLASSES = "package_ipk"
"""

It is also possible to have recursive yml files, such as above
"meta-iot2000-bsp/kas.yml.

There is also a prepared docker image with the tool installed which
makes the CI setup in our case a two liner.

And here is the code:

	https://github.com/siemens/kas

Thanks,
Daniel



More information about the Openembedded-architecture mailing list