KOAN Software Embedded







KaeilOS is now integrated into Yocto Project as custom layer, contact us for details or visit KaeilOS wiki page.

KOAN can offer a complete integration service creating a new BSP for your custom hardware and including it into Yocto Project and/or Openembedded (oe-core).

Yocto Project





All KaeilOS images are built using OpenEmbedded.
This document described the steps necessary to setup an environment where you can build images and packages yourself. For a general introduction to setting up OpenEmbedded, see GettingStarted wiki page.
If you run into trouble following the below tutorial, have a look at the GettingStarted wiki page, that contains information on all kinds of cornercases. The tutorial below is kept simple on purpose.


Suggested hardware

This is the suggested desktop or server dedicated to KaeilOS development

Why to use a 64 bit Operating System? (italian language)


Required packages

If your distribution is Ubuntu, you need to be running the bash shell. You can be sure you are running this shell by entering the following command and selecting "No" at the prompt:

     $ sudo dpkg-reconfigure dash


The packages you need for a supported Ubuntu distribution are shown in the following command:

     $ sudo apt-get install sed wget cvs subversion git-core coreutils \
     unzip texi2html texinfo libsdl1.2-dev docbook-utils gawk \
     python-pysqlite2 diffstat help2man make gcc build-essential \
     g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \
     mercurial autoconf automake groff libtool xterm


This is the old list of packages *no longer necessary* on your distribution

 sudo apt-get install build-essential chrpath 
sudo apt-get install ccache sed wget cvs subversion
sudo apt-get install coreutils unzip texinfo libsdl1.2-dev docbook-utils
sudo apt-get install gawk python-pysqlite2
sudo apt-get install libxml2-utils xmlto

sudo apt-get install git-core
sudo apt-get install help2man diffstat texi2html
sudo apt-get install qemu (if you want to emulate a target system)
sudo apt-get install python-psyco (only for i386, not for amd64)
sudo apt-get install texinfo (required by md5)
sudo apt-get install docbook


Further details are available in OE wiki : http://wiki.openembedded.org/index.php/Required_Software
If you are not using Debian distro on your host machine, please read this : http://wiki.openembedded.org/index.php/OEandYourDistro



Debian Lenny (5.0.1) users

Using Debian Lenny is deprecated.
Consider that using Debian Lenny won't allow you to build future OE releases like oe-core. If you want to proceed anyway, please read this carefully



Ubuntu and Debian 6.0 (Squeeze) users

If you are using Ubuntu as development system you must avoid dash replacing it with bash 

 sudo dpkg-reconfigure dash

then when you are prompted "Install dash as /bin/sh?" answer <No>
or if you prefer you can do it manually

 sudo rm /bin/sh
 sudo ln -s /bin/bash /bin/sh



Step 1

Prepare a directory where to start working. You need a absolute fixed path in some configuration files, so your life will be easier if you will keep these directory names. Of course you are free to adapt it the way you like.

 cd /home
 sudo mkdir koan
 sudo chown `whoami`.`whoami` /home/koan
 cd /home/koan


Obtain bitbake and install it. You won't need to build it because bitbake is written in python interpreted language.


 mkdir /home/koan/devel
 cd /home/koan/devel
 wget http://download.berlios.de/bitbake/bitbake-1.10.2.tar.gz
 tar xzvf  bitbake-1.10.2.tar.gz
 ln -s  bitbake-1.10.2  bitbake


Step 2

Get OpenEmbedded metadata

 cd /home/koan/devel

 git clone git://git.openembedded.org/openembedded  
cd /home/koan/devel/openembedded
git checkout -b
mckoan/kaeilos-2012 origin/mckoan/kaeilos-2012

Update OE metadata

 $ cd /home/koan/devel/openembedded
 $ git pull
Always check the latest KaeilOS changes if you want a successful build


Step 3

Prepare distribution build settings (this version number identify the KaeilOS scripts version and not the KaeilOS version)

 cd /home/koan/devel
 wget ftp://ftp.koansoftware.com/public/kaeilos/kaeilos-4.12-config-files.tgz
 tar xzvf kaeilos-4.12-config-files.tgz

Now you should have a build tree like this.
Splitting those files into different directories gives you the possibility to start with new build faster.


|-- bitbake                — Subversion tree of BitBake
|-- build                  — place where I do all OE builds
|   `-- kaeilos
|       `-- conf           — all configuration files
|           |-- auto.conf
|           |-- local.conf
|           `-- site.conf
|-- openembedded           — OpenEmbedded directory
|   |-- README
|   |-- build
|   |-- classes
|   |-- conf
|   |-- contrib
|   |-- files
|   |-- recipes           - was named packages
|   |-- removal.txt
|   `-- site
|-- sources               - downloaded sources directory
`-- setup-kaeilos.sh      - environment setting script (first to be called)

Step 4

Default machine configuration is MACHINE ?= "ronetix-pm9263" and is set into the following file


you can select a different machine among the ones available int this file.


Step 5

At last you can build

 cd /home/koan/devel
 source setup-kaeilos.sh  /home/koan/devel/build/kaeilos

Note: here you could face to an error caused by OpenEmbedded git server 
 "fatal: The remote end hung up unexpectedly"
in this case is strongly suggested perform an update manually (see "Periodical updates" chapter)
before continuing.


this will move you to another directory (in /home/koan/devel/build/kaeilos) and then you can build different targets...

a very minimal image:

  bitbake console-base-image 2>&1 | tee $PRJ_DIR/keailos-build.log

the standard OE-like minimal image:

  bitbake console-image 2>&1 | tee $PRJ_DIR/keailos-build.log

a graphic environment with GPIE:

  bitbake x11-image 2>&1 | tee $PRJ_DIR/keailos-build.log

The first time you run KaeilOS with a powerful machine like the one we suggested at the beginning of this page, you will wait for about 3-4 hours before you get a target system complete.


Final target image

Final target image will be generate into the following directory for example building a MACHINE ?= "ronetix-pm9263" :





Supported targets

Supported targets are constantly increasing and at the moment they are the following:

MACHINE ?= "ronetix-pm9263"
MACHINE ?= "vortex86sx"
MACHINE ?= "stamp9g20evb"
MACHINE ?= "at91sam9263ek"
MACHINE ?= "at91sam9g20ek"
MACHINE ?= "at91sam9g45ek"
MACHINE ?= "spitz"
MACHINE ?= "mh355"
MACHINE ?= "vulcano-g20"

Any new custom targes machine may be added upon request as commercial support


Periodical updates

Because OE tree is updated frequently you should keep your copy aligned with the repository updating OE metadata

 $ cd /home/koan/devel/openembedded
 $ git pull

Again, always check the latest KaeilOS changes if you want a successful build

If you face to build problems, please refer to the latest stable release published here


For any problem or advice we will be pleased to receive your email



©Copyright 1996-2010 - KaeilOS è un prodotto KOAN SAS - PIVA:IT02460270164