Getting started with Embedded Linux

Posted by Cliff Brake on 2018-10-04 | Comments are off for this article

Recently I was asked by a developer, who has done windows development for 10 years, how to get started with Embedded Linux. Embedded Linux covers a lot of ground and includes a broad range of components/skills to put together an entire system. Below are a few suggestions. Do I have the right Mindset? There are […]

Git, Versioning, and Branching for Embedded Linux Development

Posted by Cliff Brake on 2018-02-14 | Comments are off for this article

When building a product using Linux, versioning and branching of your software is an important consideration. Everyone’s needs are different depending on the size of the team, culture, and testing requirements, so there is no one size that fits all. However, after working on a number of different projects for a dozen or so different […]

Separation of Source and Build Directories

Posted by Cliff Brake on 2017-11-16 | Comments are off for this article

As we work with larger and more complex systems (i.e. Linux), more and more of our time is spent on integration and pulling different pieces together.  We often need to debug or understand code we did not write — especially in build systems.  To work effectively in this scenario you must be able to quickly […]

Using Docker for OE/Yocto builds

Posted by Cliff Brake on 2016-04-21 | Comments are off for this article

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 […]