Using Docker for OE/Yocto builds

Posted by Cliff Brake on 2016-04-21 | Be the First to Comment

Why Docker?  When using OE to build software for products, we often run into the scenario where software needs to be built using the same version of OpenEmbedded over the course of several years.  Production builds need to be predictable.  We’ve also observed that old versions of OE often break as new Linux distros come [...]

OpenEmbedded / Yocto Usage Survey

Posted by Cliff Brake on 2015-11-18 | 5 Comments to Read

Recently, I sent a survey to the OpenEmbedded and Yocto mail lists asking a series of questions about how they use OE.  38 people responded.  The average number of years using OE is 4.8 years. Below are the results of the questions.  (update 2015-11-23 — the below numbers are absolute numbers, not percentage) On the [...]

Best practices for using CMake in OpenEmbedded/Yocto

Posted by Cliff Brake on 2015-03-10 | Comments are off for this article

I’ve already written about using autotools and qmake in OE.  With recent projects, we’re using CMake to build most C/C++ components.  Like any good tool, CMake has a learning curve, but it seems to do its job quite well.  Below are examples of a CMake build file, and corresponding OE recipe. ————————– CMakeLists.txt cmake_minimum_required(VERSION 2.8) [...]

Setting up an OpenEmbedded Package Feed Server

Posted by Cliff Brake on 2013-12-11 | Comments are off for this article

With the BEC OE build template, you can easily set up an opkg feed server that serves up packages from your build directory.  This allows you to easily install new packages during development, without generating and reflashing an entire image.  To use: On workstation: edit, and define MACHINE_IP to point to your target machine, [...]

OpenEmbedded Build Template

Posted by Cliff Brake on 2013-06-28 | Comments are off for this article

How does one set an OpenEmbedded/Yocto/Poky/Angstrom build? There are many options. Some include: Angstrom setup scripts Poky Freescale Community BSP OpenEmbedded core standalone (I’m sure there are many others, feel free to add in comments …) Over the past years, we’ve supported a number of customers using OpenEmbedded to develop products using various SOC’s. We also [...]

OS Containers for Build Systems

Posted by Cliff Brake on 2013-05-08 | Comments are off for this article

Since I’ve been running archlinux on some of my systems, one thing I’ve found useful is systemd-nspawn. systemd-nspawn containers (or chroots on non-systemd systems) give you a quick way to install a Linux distribution, that can run inside an existing Linux system. Some cases where systemd-nspawn containers (referred to as containers in this document) are [...]

OpenEmbedded Source Mirrors

Posted by Cliff Brake on 2013-01-07 | Comments are off for this article

When using OpenEmbedded for product development, there are several reasons you may want to consider setting up a source mirror for your OpenEmbedded build: over time, sources disappear from download locations various servers for source packages may be off-line at the time a build is run some servers may be very slow, which slows down [...]

A quick way to set up an OpenEmbedded feed server

Posted by Cliff Brake on 2012-12-08 | Comments are off for this article

During development with OpenEmbedded (oe-core, meta-oe, meta-angstrom), I often find it useful to set up a feed server so that packages can quickly be installed on the target system without manually copying them over or building a new image.  One way to do this is copy your deploy/ipk directory to an existing web server (perhaps [...]

OpenEmbedded: configuring openssh to allow a blank password

Posted by Cliff Brake on 2012-12-05 | Comments are off for this article

Noticed the following when browsing around in the OpenEmbedded sources the other day: ROOTFS_POSTPROCESS_COMMAND += “openssh_allow_empty_password ;” This allows a blank password for development, which is conveient for running ssh/scp commands to the device.  The above can be placed in an image recipe. The command modifies the PermitEmptyPasswords config option in /etc/ssh/sshd_config or /etc/default/dropbear.

Setting the root password in an OpenEmbedded image

Posted by Cliff Brake on | Comments are off for this article

During development, often a blank root password is used for the embedded Linux target system.  However, when deploying an embedded Linux system, often there is a requirement to set the root password to something non-obvious.  One way to do this is boot the system, and change the password using the passwd command.  Then copy the [...]

Bitbake has a new way of displaying build status

Posted by Cliff Brake on 2012-08-29 | Read the First Comment

Now instead of displaying a scrolling log, bitbake will display a simple output that lists which tasks it is working on at the moment: Currently 4 running tasks (185 of 3093): 0: gmp-native-5.0.5-r0 do_configure (pid 22919) 1: lzo-native-2.06-r1 do_configure (pid 27103) 2: expat-native-2.1.0-r0 do_compile (pid 7463) 3: ncurses-native-5.9-r10.1 do_compile (pid 9820) This really allows for [...]

Yocto and OpenEmbedded

Posted by Cliff Brake on 2010-12-10 | Read the First Comment

Recently, I attended an Embedded Linux summit hosted by the Linux Foundation to discuss the Yocto project. Overall, I thought the meeting was very positive and constructive. Having met and discussed at length the methods and goals of the Linux Foundation with some of their people, I’m impressed with their approach. They are there to [...]

OpenEmbedded srctree and gitver

Posted by Cliff Brake on 2010-10-11 | 5 Comments to Read

Recently an OpenEmbedded class name srctree became usable.  The srctree.bbclass enables operation inside of an existing source tree for a project, rather than using the fetch/unpack/patch idiom.  The srctree.bbclass in combination with the OpenEmbedded gitver.bbclass and git submodules provides a very interesting way to build custom software with OpenEmbedded. One of the classic problems with [...]

Installing OMAP3 images on a SD card

Posted by Cliff Brake on 2010-06-14 | Comments are off for this article

This article and screen-cast is a continuation of that last couple posts describing the BEC OE build template.  The purpose again for a build system is to automate tedious manual tasks, and in doing so, we end up documenting how the build system works.  Having a good build system is important during product development so [...]

Creating a Custom OpenEmbedded Image

Posted by Cliff Brake on 2010-06-08 | Comments are off for this article

In this article screencast, we’ll demonstrate how to create a custom Linux OS image using the OpenEmbedded build system.  This demonstration builds on the earlier article about using the BEC OE build template.  The OpenEmbedded build system is similar to Linux distributions in that you can select from a wide array of components to install.  [...]