Posted by Cliff Brake on 2010-06-14 |
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 [...]
Posted by Cliff Brake on 2010-06-08 |
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. [...]
Posted by Cliff Brake on 2010-06-05 |
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 scripts, the KaeilOS Openembedded Manager, and I’m sure there are many more (feel free to add in [...]
Posted by Cliff Brake on 2009-12-29 |
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. Developers come and go, but the contribution level always seems healthy. While this amount of development leads to some [...]
Posted by Cliff Brake on 2009-11-05 |
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 realize — oops, I was supposed to send out a release email once [...]
Posted by Cliff Brake on 2009-10-13 |
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 recipes for examples. This works very well for a Linux distribution build system, but [...]
Posted by Cliff Brake on 2009-09-08 |
I recently wrote 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 system, and put the install logic in the application source (read the above article). The [...]
Posted by Cliff Brake on 2009-08-06 |
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 Qt X11. OE also includes a number of qt classes that make building Qt applications easy. One of the main [...]
Posted by Cliff Brake on 2009-07-14 |
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.
In days of yore, developers often used gnu diff to capture modifications to a source tree. The typical practice was [...]
Posted by Cliff Brake on 2009-06-20 |
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 no doubt a little biased toward what I understand best. So take this with a [...]
Posted by Cliff Brake on 2009-05-13 |
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 Embedded Linux efforts (Beagleboard, Gumstix, Bug Labs, etc), this is a resounding affirmation that the OpenEmbedded way of [...]
Posted by Cliff Brake on 2009-05-11 |
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 spend the time to reprogram the flash on the target system. [...]
Posted by Cliff Brake on 2009-04-24 |
The cm-x270 kernel support in OpenEmbedded has just been updated to version 2.6.29.
Posted by Cliff Brake on 2009-02-20 |
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 OpenEmbedded project. In the announcement, they summed up my thoughts well:
We at KOAN wanted to avoid [...]
Posted by Cliff Brake on 2009-01-28 |
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 <oedir>/build/angstrom-2008.1/tmp/deploy/glibc/ipk/<machine>/socketcan-utils-test_0.0+svnr917-r0_armv5te.ipk root@<target IP address>:
And then on the target system:
opkg install socketcan-utils-test_0.0+svnr917-r0_armv5te.ipk
opkg files socketcan-utils-test
/usr/bin/tst_bcm_rx_sendto
/usr/bin/tst_bcm_tx_sendto
/usr/bin/canlogserver
/usr/bin/tst_raw_filter
/usr/bin/tst_raw
/usr/bin/isotpsniffer
/usr/bin/isotpsend
/usr/bin/tst_bcm_throttle
/usr/bin/tst_packet
/usr/bin/vcan
/usr/bin/isotprecv
/usr/bin/cansniffer
/usr/bin/tst_bcm_tx_read
/usr/bin/tst_err
/usr/bin/log2asc
/usr/bin/tst_bcm_single
/usr/bin/tst_filter_master
/usr/bin/canplayer
/usr/bin/cangen
/usr/bin/slcanpty
/usr/bin/log2long
/usr/bin/tst_bcm_rtr
/usr/bin/asc2log
/usr/bin/slcan_attach
/usr/bin/tst_bcm_filter
/usr/bin/cansend
/usr/bin/canecho
/usr/bin/tst_filter_server
/usr/bin/tst_bcm_cycle
/usr/bin/tst_bcm_dump
/usr/bin/isotpdump
/usr/bin/candump
/usr/bin/tst_raw_sendto
/usr/bin/isotptun
/usr/bin/tst_bcm_server
/usr/bin/tst_proc
/usr/bin/canbusload
An impressive array of utilities!