Buildroot is a tool designed by embedded Linux developers to build embedded Linux systems using cross-compilation. It allows to build a cross-compilation toolchain (or re-use an existing one), a root filesystem image with applications and libraries, a kernel image and a bootloader image or any combination of these. Buildroot is typically used to create the embedded Linux systems of industrial systems based on the ARM, PowerPC or x86 architectures, by integrating multiple existing open-source components (kernel, base components, graphical libraries, networking applications, etc.) and in-house components specific to the embedded system.

Many of the early embedded Linux developers are used to work with text editors such as Emacs or Vi. However, in the recent years, the major expansion of the embedded Linux platform has attracted many more developers that are more familiar with feature-full, integrated, and user-friendly development environments. To fulfill this need, Eclipse provides an excellent platform, especially with extensions such as CDT, the Autotools plugin, the multiple plugins from the Linux tools project, the Target Communication Framework, and more.

As many embedded Linux developers use Buildroot to build their system, it sounded natural to provide an easy-to-use integration with Eclipse. To achieve that, we:

Developed an Eclipse plugin that automatically registers the available Buildroot toolchains into Eclipse CDT. This allows application developers to transparently build their application, and then execute it and debug it on the embedded target platform directly within Eclipse.
Created a specialized Eclipse version bundling all the useful existing plug-ins for embedded Linux developers: Eclipse CDT, our specialized Buildroot plugin, the Autotools plugin, Linux Tools plugins, etc.
Through this talk, we would like to demonstrate how Eclipse has been extended to match the needs of embedded Linux developers, and we will perform a live demonstration of these capabilities using an ARM development platform for which Eclipse will help build, execute and debug applications.

5.
Building an embedded Linux
system
Binary distributions Building tools
PTXdistOpenWRT
●
Automate system
reconstruction from source
code
●
Support many more CPU
architectures
●
High flexibility on
components configuration
●
Most used solution
●
Heavyweight systems
●
Not all CPU architectures
supported
●
Not flexible to choose the
configuration for each
components

6.
What is Buildroot ?
●
Simple build system - http://buildroot.org :
– automate the cross compilation process
– generate kernel images, file system and bootloader
●
Developped by :
– an open source community
– vendor neutral
– under GPLv2
●
Actively developped and used for many products
●
Written in make language
●
Choice of options in configuration interface

12.
Integration with CDT
●
Inspired by the Eclipse Blackfin plugin and the GNU ARM
Eclipse plugin
●
Use CDT extension point : org.eclipse.cdt.managedbuilder.core.buildDefinitions
– with a dynamicElementProvider and according to the Buildroot
configuration file:
●
declare toolchain
●
projectType

18.
Future work
●
Create an Eclipse bundle with Tycho which will be
available on Buildroot website
●
Integrate :
– pkg-config
– RX-TX
– LTTNG
– Other relevant Eclipse plugins for embedded Linux
development
●
Write documentation and make a video tutorial