Tags

OpenEmbedded

  • 2019-11-26

    Drone for Continuous Integration

    Recently, we have been evaluating Continuous Integration (CI) systems for a variety of projects (both OSS and customer). There are many OSS options to chose from. Because we already use Docker containers for Yocto/OE builds, Concourse and D…

  • 2019-04-01

    Accepting Constraints in Build Systems

    As Embedded Systems become more complex, the complexity of the process to build the software for these systems also increases. As humans, our ability to deal with complexity is limited, so we develop tools and processes to manage the comple…

  • 2018-10-04

    Getting started with Embedded Linux

    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 syst…

  • 2018-02-14

    Git, Versioning, and Branching for Embedded Linux Development

    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 …

  • 2017-11-16

    Separation of Source and Build Directories

    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…

  • 2016-04-21

    Using Docker for OE/Yocto builds

    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.  …

  • 2015-11-18

    OpenEmbedded / Yocto Usage Survey

    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.  (updat…

  • 2015-03-10

    Best practices for using CMake in OpenEmbedded/Yocto

    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…

  • 2013-12-11

    Setting up an OpenEmbedded Package Feed Server

    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 ima…

  • 2013-06-28

    OpenEmbedded Build Template

    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 commen…

  • 2013-05-08

    OS Containers for Build Systems

    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 …

  • 2013-01-07

    OpenEmbedded Source Mirrors

    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 pac…

  • 2012-12-08

    A quick way to set up an OpenEmbedded feed server

    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…

  • 2012-12-05

    Setting the root password in an OpenEmbedded image

    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 …

  • 2012-12-05

    OpenEmbedded: configuring openssh to allow a blank password

    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…

  • 2012-08-29

    Bitbake has a new way of displaying build status

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

  • 2010-12-10

    Yocto and OpenEmbedded

    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 L…

  • 2010-10-11

    OpenEmbedded srctree and gitver

    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 …

  • 2010-06-14

    Installing OMAP3 images on a SD card

    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 s…

  • 2010-06-08

    Creating a Custom OpenEmbedded Image

    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…

  • 2010-06-05

    OpenEmbedded Build Template

    Setting up an OpenEmbedded build is a fairly simple process if you carefully follow the instructions.  There are also a number of scripts available that automate the setup such as the OpenEmbedded Tools for Eclipse, the Angstrom setup scrip…

  • 2009-12-29

    OpenEmbedded development activity

    Ever since I have been sending out weekly change logs, I have been impressed by the consistent amount of development activity in the OpenEmbedded project.  Every week there are consistently over a dozen developers making changes.  Developer…

  • 2009-11-05

    Notification at the end of builds

    I do quite a few OpenEmbedded project builds during the course of a week.  This process usually takes 3-5 minutes.  That is just enough time to get distracted doing something else and forget about the build until an hour later when you real…

  • 2009-10-13

    Best practices for kernel development with OpenEmbedded

    A common question is how do you do kernel development with OpenEmbedded?  Typically, OpenEmbedded builds a kernel by checking the source out of a git repository, or by applying patch files to a released version of the kernel.  See the many …

  • 2009-09-08

    Best practices for building Gtk+ applications with OpenEmbedded

    I recentlywrote an article about best practices building Qt applications with OpenEmbedded, and it occured to me that I should write an equivalent article for Gtk+ applications.  The same points apply – put your application source in a SCM …

  • 2009-08-06

    Best practices for building Qt applications with OpenEmbedded

    This article describes how to cross compile a Qt application (named qt_tutorial) with OpenEmbedded, and several best practices you should consider.  OpenEmbedded currently includes fairly good support for building Qt – both Qt Embedded and …

  • 2009-07-14

    How to capture source changes to an OpenEmbedded package

    One task that is a often confusing to new OpenEmbedded users is how to capture changes to the source code for a package/recipe.  First, lets review the progression in tools use to capture source code changes. Figure 1: Progression of tools …

  • 2009-06-20

    Embedded Linux versus Windows CE

    Occasionally I am asked how Embedded Linux compares with Windows CE.  I have spent the past 5 years doing mostly embedded Linux development, and the previous 5 years doing mostly WinCE development with a few exceptions, so my thoughts are n…

  • 2009-05-13

    MontaVista Linux 6 is based on OpenEmbedded Technologies

    Very interesting news from MontaVista yesterday as they announced MontaVista Linux 6.  It turns out they are using bitbake, which is the core of the OpenEmbedded build system.  Along with the adoption of OpenEmbedded in many leading Embedde…

  • 2009-05-11

    How to set up a NFS root filesystem for embedded Linux development

    Although ssh and friends work really well for embedded systems, occasionally you want to set up a NFS root for development.  One of the scenarios where nfsroot is useful is if you are making a lot of rootfs changes, and you don’t want to sp…

  • 2009-04-24

    Compulab cm-x270 kernel updated to 2.6.29 in OE

    The cm-x270 kernel support in OpenEmbedded has just been updated to version 2.6.29.

  • 2009-02-20

    Who is using OpenEmbedded?

    Having used OpenEmbedded for a number of Embedded Linux projects over the past 5 years, it is interesting watching new users come on board.  The most recent announcement came from Koan that the KaeilOS distribution will be joining the OpenE…

  • 2009-01-28

    Socketcan utils and test apps added to OpenEmbedded

    The Socketcan test applications and utilities are now available in OpenEmbedded.  The socketcan kernel modules already exist in OE.  To build and deploy: get the latest version of OE metadata bitbake socketcan-utils-test scp /build/angstro…

  • 2009-01-26

    Socketcan CAN-bus drivers added to OpenEmbedded

    I just added a recipe to OpenEmbedded to build the Socketcan kernel modules from the socketcan SVN.  So if you are using the latest OpenEmbedded metadata, you can: bitbake socketcan-modules scp /build/angstrom-2008.1/tmp/deploy/glibc/ipk//…

  • 2009-01-10

    Mono 2.2 RC1 added to Openembedded

    I recently addedMono 2.2 RC1 to OpenEmbedded.  The last usable version of Mono in Openembedded was 1.2.6, so this is a big step up.  Lots of interesting things have been happening since then (like Full Static Compilation) that continue to m…

  • 2008-10-22

    Benefits of OpenEmbedded switching to Git

    Recently the OpenEmbedded project has switched to the Git version control system.  This is good news for many reasons.  The obvious reasons are Git is faster than Monotone, handles branching better, has lots of nice features, larger user ba…

  • 2008-08-22

    Linux Input Testing and Debugging

    The Linux input layer has made a lot of progress in recent years.  When writing a new input driver (such as keyboard, trackball, etc), it is useful to be able to monitor input events using a test application.  This article describes two way…

  • 2008-02-29

    Compulab cm-x270 kernel update to 2.6.24

    The kernel support in OpenEmbedded for the Compulab cm-x270 has been updated to version 2.6.24.  The 2.6.24 kernel opens up several possibilities including better real time and high resolution timer functionality, an improved SD Card driver…

  • 2007-12-15

    C# on embedded ARM Linux systems is now practical

    Update: Michael Dominic K. has kindly provided feedback on this article and has some additional points about Mono and embedded systems. Mono has included support for ARM systems for some time, but with the release of Mono 1.2.6, and its inc…

  • 2007-12-14

    Mono 1.2.6 added to OpenEmbedded

    I recently updated the Mono recipes in OpenEmbedded to include the Mono 1.2.6 version.  Several critical bugs that were present in 1.2.5 have been fixed, and its looking very good.  More on this later …

  • 2007-10-22

    Linux 2.6.23 for the Compulab cm-x270

    Updated 2.6.23 kernel patches for the Compulab cm-x270 are now available in OpenEmbedded: http://www.openembedded.org/filebrowser/org.openembedded.dev/packages/linux/linux-2.6.23/cm-x270 The cm-x270 support in OpenEmbedded has undergone a l…

  • 2007-10-08

    Compulab cm-x270 NAND flash eraseblock sizes

    If you are having trouble mounting a JFFS2 file system on a Compulab cm-x270 module, you may have a device that has a NAND flash with 16KiB eraseblocks.  All of the devices I have personally used to date have had 128KiB eraseblocks, but I j…

  • 2007-10-08

    Howto load Openembedded on the Compulab cm-x270 computer module

    There are quite a few people using (or would like to use) OpenEmbedded on the Compulab cm-x270.  The cm-x270 is a high performance, low cost computer module that can be used with a custom baseboard in embedded systems (see /web/content/view…

  • 2007-10-04

    Mono support in OpenEmbedded and Openmoko packages

    Original article published2007-10-04 As of today, the Mono build in OpenEmbedded is working pretty well.  Mono support for ARM and other embedded architectures should add some interesting capabilities for embedded Linux devices.  Having wri…

  • 2007-08-30

    The correct way to add packages to an OpenEmbedded Image

    Update 2007-10-14: use IMAGE_INSTALL in image recipe Update 2007-10-22: a few corrections, added full path for include and comments Update 2010-06-07: use recipes instead of packages directory As more and more OpenMoko developers are coming…

  • 2007-02-21

    Do you need "software update" functionality in your Embedded Linux system?

    In this day and age, most embedded systems include a way for users to easily update software once the device has been deployed.  This article discusses the requirements for a field update mechanism along with pointers for how to implement. …

  • 2007-02-16

    Building a tiny "safe" boot image using OpenEmbedded

    We are currently working a project that contains cm-x270 module (/web/content/view/62/9/ ) which contains 4MB of NOR flash and 128MB of NAND flash.  The Linux kernel and a small root file system (rootfs) will be stored in NOR flash, and the…

  • 2007-01-12

    Introduction to OpenEmbedded part 1

    This is the first in a multi-part series on the OpenEmbedded development environment.  This and subsequent articles will provide an introduction to OpenEmbedded, why to use it,  how it works, and will provide examples of how BEC has used OE…

  • 2006-11-29

    How to build GNU/Linux for an embedded x86 computer

    Recently, I had a customer who needed an embedded Linux distribution running on an Advantech PCM-9371 single board computer (SBC).  The PCM-9371 contains a low voltage Celeron or Pentium III processor.  This article describes why the Openem…

  • 2006-10-30

    Adding software to a Moxa UC7408 using OpenEmbedded

    One of the big advantages of using Linux in embedded systems is the thousands of applications and drivers available for it (/web/content/view/35/37/ ).  One of the challenges of Embedded Linux is building these applications.  Building appli…