GSoC: Buildroot gaining improved ARM multimedia support

Google Summer of Code 2013 logo

The Buildroot project is participating for the first time to the famous Google Summer of Code. This program, operated by Google, allows open-source projects to have students working on specific tasks for the summer, and the students get paid for their work, get mentored by open-source developers, learn about software development, open-source communities and more.

For its first participation to the GSoC, the Buildroot community has chosen one project: improving support for multimedia features of popular ARM SoCs. This consists in packaging in Buildroot all the necessary libraries and software components to support OpenGL, OpenVG, EGL, OpenMAX and similar technologies for the major ARM processors. The selected student for this project is Spenser Gilliland and Bootlin engineer Thomas Petazzoni is mentoring Spenser for this project.

The focus of the project is to add support for the multimedia features of the OMAP3, OMAP4 and AM33xx processors from Texas Instruments, the Broadcom processor found on the RasberryPi, the i.MX6 processor from Freescale, the Exynos 4 from Samsung and the Allwinner A1x processors. Throughout the next three months, support for the multimedia capabilities of those processors in Buildroot should become easier to use.

Spenser has already contributed support for GStreamer 1.x in Buildroot (which required upgrading the entire GLib/Gtk/Webkit stack) and OpenMAX support for the RasberryPi, and he is currently working on OpenGL support for the OMAP3/OMAP4/AM33xx platforms. The initial part of Spenser’s work will be in the next 2013.08 Buildroot release, while the remainder will have to wait the 2013.11 release.

For more details about the project, see its description on the eLinux.org wiki, and you can also keep track of Spenser’s progress.

Buildroot 2013.05 released, Bootlin contributions inside!

Buildroot logoAs planned by the release schedule, the Buildroot 2013.05 version landed at the end of May. Peter Korsgaard, the project’s maintainer, highlighted the most important additions in his release email. With more than 900 commits, it has been the busiest ever development cycle, showing that the Buildroot project is more and more active.

With 175 commits in this release, Bootlin has again participated significantly to the development of Buildroot:

   217  Gustavo Zacarias
   167  Thomas Petazzoni (Bootlin)
   109  Will Wagner
    86  Peter Korsgaard
    44  Simon Dawson
    27  Yann E. MORIN
    25  gilles.talis@gmail.com
[...]
     6  Maxime Ripard (Bootlin)
[...]
     1  Alexandre Belloni (Bootlin)
     1  Ezequiel Garcia (Bootlin)
[...]

Amongst the features and improvements contributed by Bootlin:

  • Support for the next generation Wayland display server has been added. For now, only Wayland over the framebuffer is supported, but additional improvements are expected to come in the future.
  • Integration of packages to build all the Qt5 components: qt5base, qt5declarative, qt5graphicaleffects, qt5imageformats, qt5jsbackends, qt5multimedia, qt5quick1, qt5script, qt5svg, qt5webkit and qt5xmlpatterns.
  • A mechanism of virtual packages to expose the OpenGL, OpenVG and EGL implementations has been put in place, with for now the RasberryPi providing such implementations. Those virtual packages are for example used in the Qt5 packages mentionned above, for those that require OpenGL.
  • A cleanup of Buildroot core dependencies: flex and bison are no longer mandatory to use Buildroot, they are automatically built when needed. This apparently simple move required a number of fixes and updated to a significant number of packages.
  • Many external toolchains were updated, especially the Linaro toolchains.
  • The build process of gdb was converted to the package infrastructure, instead of being a hand-written Makefile. This is part of an effort to progressively convert the toolchain building process to the package infrastructure.
  • A default configuration was added for the Atmel AT91SAM9G45M10-EK evaluation board, which allows Buildroot users to easily build a minimal working system for this platform.
  • A number of build issues were fixed by Maxime Ripard, thanks to the daily automated builds done by the Bootlin Jenkins system that Maxime has set up.
  • A huge number of build issues trigerred by the autobuilders have also been fixed thanks to Bootlin engineers contributions.

In addition to this, Thomas Petazzoni has done some major improvements to the automated build system that the Buildroot project uses, which he detailed in an e-mail sent to the project mailing list. These improvements make the autobuilder infrastructure more scalable, and allows to provide statistics, and a much better daily report sent to the project’s mailing list.

In detail, the contributions of Bootlin were:

Bootlin contributions to the 3.9 kernel

A few months ago, we published a blog post showing our contributions to the 3.8 Linux kernel. With 128 commits merged in 3.8, Bootlin was ranked as the 17th company in terms of kernel contributions.

The 3.9 kernel has been released a few weeks ago, with again a significant number of contributions from Bootlin. According to these statistics, Bootlin contributed 92 patches during the 3.9 cycle, making the company the 26th most important contributor to the Linux kernel for this release, and this time, five engineers from Bootlin contributed patches.

Among the contributions that we made:

  • Added a basic infrastructure for irqchip drivers in the drivers/irqchip directory. This directory is now used to store the drivers for the IRQ controllers of various processors.
  • Made a number of improvements to the Marvell SDIO driver, including the addition of a Device Tree binding for it, and enabled its usage on Marvell Armada 370 and Armada XP platforms, as well as converting the Marvell Kirkwood platforms to use Device Tree probing instead of legacy probing for their SDIO interface.
  • Contributed a number of improvements to support Crystalfontz i.MX28 based modules, including the Device Tree for the CFA10037 expansion board, various improvements for the CFA10049 expansion boards, and a driver for the Himax HX8357B LCD controller.
  • A large number of improvements to the support of the Allwinner ARM SoCs, most notably a pinctrl driver for those SoCs, which allows to configure the muxing of I/O pins, and a gpio driver, to use the pins as general-purpose I/Os. We also contributed the support for the Miniand Hackberry platform, based on an Allwinner SoC. This work is all done by our engineer Maxime Ripard, who is the maintainer of the Allwinner SoC support in the Linux kernel.
  • Improvements to the PCA953x driver (for I2C GPIO expanders) in order to support the PCA9505 chip, that has 40 GPIOs. This required quite some work, as the PCA953x was originally limited to chips having at most 32 GPIOs. This improvement was done in order to support the GPIO expander box provided by Globalscale for the Armada 370-based Mirabox platform.
  • We added support for the Real Time Clock on Armada 370 and Armada XP based platforms, added support for local timers on Armada XP, added support for the new Armada XP GP evaluation board.
  • We enabled support for the SPI controllers and the USB controllers on Armada 370 and Armada XP based platforms.

Our high rate of contributions is going to continue, as we already have 95 patches merged for the upcoming 3.10 kernel and have already submitted a number of patches for the 3.11 kernel.

Here are details about our contributions to the 3.9 kernel:

Linux kernel 3.8 released, Bootlin top #17 contributor

Thomas Petazzoni and Grégory Clement, Bootlin kernel engineers
Thomas Petazzoni (front) and Grégory Clement (back) at the Embedded Linux Conference 2013 in San Francisco, discussing ARM Linux kernel issues.
Early last week, version 3.8 of the Linux kernel has been released by Linus Torvalds. The KernelNewbies web site, has, as usual, a great summary of what’s new in this release, together with lots of links to the relevant LWN articles. With 12394 commits, 3.8 has been the busiest ever kernel release cycle, the previous record being held by 2.6.25 with 12243 commits.

Despite this huge activity, Bootlin has been the 17th most active employer during the 3.8 cycle, with 128 commits merged into the mainline Linux kernel, representing a bit more than 1% of the total number of commits. See the statistics by employer at http://www.remword.com/kps_result/3.8_whole.html and in the traditional LWN article. This puts Bootlin before Nvidia, Qualcomm, ARM or Oracle in number of commits, and just a few commits behind Freescale. See the Git repository for the list of our contributions.

In detail, Bootlin contributions for 3.8 have been:

  • A large number of contributions related to the support of the Marvell Armada 370 and Armada XP SoCs, done by Grégory Clement and Thomas Petazzoni. Contributions included: a new network driver for the Armada 370 and Armada XP, support for the Armada XP-based OpenBlocks AX3 platform, support for the Armada 370-based Globalscale Mirabox platform, a big number of improvements and Device Tree support for the Marvell XOR engine driver, beginning of Device Tree support for the older Marvell Orion5x SoC family, support for the L2 cache found in Armada 370/XP, clock drivers for Armada 370/XP, SMP support for Armada XP, enabling of SATA on Armada 370/XP platforms.
  • The contribution of the initial support for a new SoC family in the mainline Linux kernel: the Allwinner A10 and Allwinner A13 ARM SoCs. This support has been contributed by Maxime Ripard, who has become the maintainer for this new ARM sub-architecture.
  • A driver for the I2C-based SSD1304 OLED display, a nice 128×32 pixels monochrome OLED display, contributed by Maxime Ripard.
  • A number of improvements in the support for the Crystalfontz i.MX28-based platforms, the CFA10036 and its expansion board the CFA10049. These contributions have also been made by Maxime Ripard.

Through these contributions, Bootlin have gained a good expertise in support for ARM SoCs and boards inside the Linux kernel. If you are interested in having us help you bring the support of your ARM board or ARM SoC into the mainline Linux kernel, do not hesitate to contact us, you will be directly answered by our engineers doing Linux kernel development!

Videos of the Embedded Linux Conference Europe 2012

With the approaching Embedded Linux Conference, to be held February 20-22 in San Francisco, we felt that it was time to finally fight with ffmpeg/libav and get the videos we had taken from the last Embedded Linux Conference Europe talks, encode them and publish them online. So here they are, as what we could consider a late Christmas gift.

There are so many talks that it might be hard to watch everything. So I’d like to share with you my preferred talks from this last ELCE (of course, I haven’t been able to see all talks, but only a third of them, so the following selection is only taken from the talks I have seen) :

  • For sure, the talk I have preferred is the Understanding PREEMPT_RT (The Real-Time Patch) talk from Steven Rostedt (Redhat). In an hour, Steven explained some very interesting internals of PREEMPT_RT, in a very clear way. Definitely a must see, in my opinion.
  • I also enjoyed the ARC Linux: From a Tumbling Toddler to a Graduating Teen talk from Vineet Gupta (Synopsys). While talking about a specific new CPU architecture that probably most of us have never used, Vineet is able to tell a very nice story by bringing you through various issues they had while porting Linux on this new CPU architecture, giving interesting and funny technical details in the process.
  • The talk about Regmap: The Power of Subsystems and Abstractions from Mark Brown (Wolfson Microelectronics) was also very good, in that it clearly explained the need for this new kernel subsystem, how the API works, etc. Definitely the kind of talk I’d like to see about more kernel subsystems: in an hour, you learn the philosophy of the subsystem, why it’s there, how it has been designed to solve the original problems, and the basics of its APIs. It’s often what’s missing from an API documentation: the philosophy behind it. Hour long talks that are capable of conveying this philosophy are therefore highly useful.
  • As usual, David Anders talk, this time about Board bringup: you, me and I2C has been very nice as well. It is a good introduction about electronics related to I2C, it doesn’t go very far for anyone having an existing experience of I2C, but is indeed a very good introduction for those who don’t. I really enjoyed the good explanation about pull-up resistors.
  • Finally, another talk that was great is Samuel Ortiz (Intel) talk about Near Field Communication with Linux. A bit like the Regmap talk, the great benefit of Samuel talk is that in an hour, he went through the different hardware available for NFC in Linux, the architecture of the software stack, the different software components that exist, their strenghts and weaknesses and so on. So without any prior knowledge about NFC, you get at the end of the talk a very good coverage of how this technology is supported by Linux today.

Well, enough with my suggestions, here is the complete list of videos:

Matt RanostayVideo capture
Beaglebone: The Perfect Telemetry Platform?
Slides
Video (24 minutes):
full HD (153M), 800×450 (74M)

Jim HuangVideo capture
0xlab
Implement Checkpointing for Android
Slides
Video (43 minutes):
full HD (291M), 800×450 (168M)

Wolfram SangVideo capture
Pengutronix e.K.
Maintainer’s Diary: Devicetree and Its Stumbling Blocks
Slides
Video (49 minutes):
full HD (329M), 800×450 (160M)

Matthias BruggerVideo capture
ISEE 2007 S.L.
A War Story: Porting Android 4.0 to a Custom Board
Slides
Video (34 minutes):
full HD (230M), 800×450 (106M)

Kishon Vijay AbrahamVideo capture
Texas Instruments
USB Debugging and Profiling Techniques
Slides
Video (40 minutes):
full HD (245M), 800×450 (109M)

Alan OttVideo capture
Signal 11 Software
Wireless Networking with IEEE 802.15.4 and 6LoWPAN
Slides
Video (52 minutes):
full HD (339M), 800×450 (156M)

João Paulo Rechi VitaVideo capture
INdT
Bluetooth Smart devices and Low Energy support on Linux
Slides
Video (36 minutes):
full HD (250M), 800×450 (116M)

Peter StugeVideo capture
OpenOCD: Hardware Debugging and More
Video (47 minutes):
full HD (316M), 800×450 (155M)

Alessandro RubiniVideo capture
PF_ZIO: Using Network Frames to Convey I/O Data and Meta-Data
Slides
Video (48 minutes):
full HD (317M), 800×450 (141M)

Joo-Young HwangVideo capture
Samsung
A New File System Designed for Flash Storage in Mobile
Slides
Video (54 minutes):
full HD (369M), 800×450 (152M)

Alexandre BelloniVideo capture
Adeneo Embedded
Boot Time Optimizations
Slides
Video (39 minutes):
full HD (261M), 800×450 (129M)

Philipp ZabelVideo capture
Pengutronix e.K.
Modular Graphics on Embedded ARM
Slides
Video (32 minutes):
full HD (217M), 800×450 (100M)

Karim YaghmourVideo capture
Opersys
Inside Android’s User Interface
Slides
Video (42 minutes):
full HD (284M), 800×450 (117M)

Samuel OrtizVideo capture
Intel
Near Field Communication with Linux
Slides
Video (35 minutes):
full HD (232M), 800×450 (92M)

Arnout VandecappelleVideo capture
Essensium/Mind
Upgrading Without Bricking
Slides
Video (56 minutes):
full HD (373M), 800×450 (172M)

Tim BirdVideo capture
Sony Network Entertainment
BoFs: Developer Tools and Methods: Tips & Tricks
Slides
Video (62 minutes):
full HD (395M), 800×450 (160M)

Matt LockeVideo capture
Texas Instruments
Are We Headed for a Complexity Apocalypse in Embedded SoCs?
Video (27 minutes):
full HD (167M), 800×450 (76M)

Sascha HauerVideo capture
Pengutronix e.K.
Barebox Bootloader
Slides
Video (47 minutes):
full HD (313M), 800×450 (134M)

Benjamin ZoresVideo capture
Alcatel-Lucent
Dive Into Android Networking: Adding Ethernet Connectivity
Slides
Video (46 minutes):
full HD (270M), 800×450 (118M)

Jiyoun ParkVideo capture
Samsung
Experiences as an OEM with Development of UI Frameworks
Video (42 minutes):
full HD (282M), 800×450 (158M)

Keshava MunegowdaVideo capture
Texas Instruments
FFSB and IOzone: File system Benchmarking Tools, Features and Internals
Slides
Video (56 minutes):
full HD (367M), 800×450 (171M)

Chris SimmondsVideo capture
2net Limited
The End of Embedded Linux (As We Know It)
Slides
Video (47 minutes):
full HD (324M), 800×450 (150M)

Steven RostedtVideo capture
Red Hat
Understanding PREEMPT_RT (The Real-Time Patch)
Slides
Video (61 minutes):
full HD (412M), 800×450 (186M)

Klaas van GendVideo capture
Vector Fabrics
Application Parallelization for Multi-Core Android Devices
Slides
Video (44 minutes):
full HD (293M), 800×450 (124M)

David AndersVideo capture
Texas Instruments
Board Bringup: You, Me, and I2C
Slides
Video (38 minutes):
full HD (217M), 800×450 (97M)

Rama PallalaVideo capture
Intel
Linux Power Supply Charging Subsystem
Video (35 minutes):
full HD (213M), 800×450 (83M)

Agusti FontquerniVideo capture
ISEE 2007 S.L.
Embedded Linux RADAR Device
Slides
Video (50 minutes):
full HD (331M), 800×450 (140M)

Matt PorterVideo capture
Texas Instruments
What’s Old Is New: A 6502-based Remote Processor
Slides
Video (58 minutes):
full HD (389M), 800×450 (181M)

Thomas PetazzoniVideo capture
Bootlin
Your New ARM SoC Linux Support Check-List
Slides
Video (56 minutes):
full HD (362M), 800×450 (150M)

Tracey M. Erway and Nithya A. RuffVideo capture
Intel and Synopsys
Can You Market an Open Source Project?
Slides
Video (43 minutes):
full HD (272M), 800×450 (103M)

Lars KnollVideo capture
Qt Project
Qt on Embedded Systems
Video (50 minutes):
full HD (337M), 800×450 (175M)

Koen KooiVideo capture
Circuitco
Supporting 200 Different Expansionboards: The Broken Promise of Devicetree
Slides
Video (37 minutes):
full HD (232M), 800×450 (102M)

Anna DushistovaVideo capture
Eclipse and Embedded Linux Developers: What it Can and Cannot Do For You
Slides
Video (58 minutes):
full HD (378M), 800×450 (167M)

Dave StewartVideo capture
Intel
Yocto Project Overview and Update
Video (52 minutes):
full HD (338M), 800×450 (139M)

Vineet GuptaVideo capture
Synopsys
ARC Linux: From a Tumbling Toddler to a Graduating Teen
Slides
Video (44 minutes):
full HD (269M), 800×450 (113M)

Laurent PinchartVideo capture
Ideas on Board
DRM/KMS, FB and V4L2: How to Select a Graphics and Video API
Slides
Video (48 minutes):
full HD (328M), 800×450 (145M)

Frank RowandVideo capture
Sony Network Entertainment
Practical Data Visualization
Slides
Video (46 minutes):
full HD (308M), 800×450 (141M)

Marcin JuszkiewiczVideo capture
Linaro
ARM 64-Bit Bootstrapping with OpenEmbedded
Slides
Video (32 minutes):
full HD (208M), 800×450 (88M)

Wim DecroixVideo capture
TPVision
Practical Experiences With Software Crash Analysis in TV
Slides
Video (35 minutes):
full HD (224M), 800×450 (87M)

Mark BrownVideo capture
Wolfson Microelectronics
Regmap: The Power of Subsystems and Abstractions
Video (44 minutes):
full HD (282M), 800×450 (124M)

Hans VerkuilVideo capture
Cisco Systems
Video4Linux: Current Status and Future Work
Slides
Video (33 minutes):
full HD (217M), 800×450 (100M)

Holger BehrensVideo capture
Wind River
Yocto Layer for In-Vehicle Infotainment
Slides
Video (43 minutes):
full HD (284M), 800×450 (123M)

Tero KristoVideo capture
Texas Instruments
Debugging Embedded Linux (Kernel) Power Management
Slides
Video (36 minutes):
full HD (241M), 800×450 (108M)

Martin BisVideo capture
BIS
Real-Time Linux in Industrial Appliances
Slides
Video (48 minutes):
full HD (323M), 800×450 (145M)

Jens GeorgVideo capture
Openismus GmbH
Rygel: Open Source DLNA, ready for Customer Products?
Slides
Video (33 minutes):
full HD (215M), 800×450 (88M)

Yoshitake KobayashiVideo capture
Toshiba
Improvement of Scheduling Granularity for Deadline Scheduler
Slides
Video (31 minutes):
full HD (195M), 800×450 (82M)

Tsugikazu ShibataVideo capture
NEC
LTSI (Long-Term Stable Initiative) Status Update
Slides
Video (44 minutes):
full HD (278M), 800×450 (111M)

Thomas GleixnerVideo capture
Linutronix
UBI Fastmap
Slides
Video (45 minutes):
full HD (299M), 800×450 (121M)

Videos of the Embedded track at FOSDEM 2012

Better late than never: we finally found the time to update our video encoding scripts, and therefore encode and upload the videos we had taken of the embedded track at FOSDEM 2012. Amongst many other interesting talks, you’ll notice two talks given by Bootlin engineers: one by Maxime Ripard on the IIO subsystem, a kernel subsystem for Industrial I/O devices, and another by Thomas Petazzoni about the usage of the Qt framework for non-graphical applications in embedded Linux systems.

Cédric BailVideo capture
EFL the upcoming embedded UI toolkit
Slides
Video (51 minutes):
full HD (337M), 800×450 (138M)

Julius Baxter, Olof KindgrenVideo capture
OpenCores.org
The OpenRisc Project
Slides
Video (28 minutes):
full HD (184M), 800×450 (74M)

Jeremy BennettVideo capture
Embecosm
Open Source Software Meets Open Source Hardware, OpenCores and the OpenRisc 1000
Video (28 minutes):
full HD (165M), 800×450 (71M)

Vasilis GeorgitzikisVideo capture
PMH: Home Automation made right
Slides
Video (27 minutes):
full HD (187M), 800×450 (81M)

Thomas PetazzoniVideo capture
Bootlin
Using Qt for non-graphical applications
Slides
Video (47 minutes):
full HD (307M), 800×450 (129M)

Jean PihetVideo capture
Texas Instruments
Linux (SoC) power management
Slides
Video (39 minutes):
full HD (268M), 800×450 (117M)

Maxime RipardVideo capture
Bootlin
IIO, a new subsystem for I/O devices
Slides
Video (35 minutes):
full HD (211M), 800×450 (97M)

Arnoult VandecappelleVideo capture
Mind
Safe upgrade of embedded systems
Slides
Video (47 minutes):
full HD (320M), 800×450 (138M)

Bootlin at the Libre Software Meeting

In a previous post, we detailed all the talks of the Embedded Systems and Open Hardware track of the Libre Software Meeting, taking place in Geneva in early July.

Bootlin will have a quite important presence at this event, with three talks and one tutorial given by Bootlin engineers. You’ll find below the descriptions of the talks given by Bootlin. Both my colleague Maxime Ripard and myself will be present at Libre Software Meeting, and we will be happy to meet you there to discuss Embedded Linux and Android topics!

A look through the Android Stack

Android has established itself in the past years as a major player in the mobile market, outperforming any other mobile systems.

To do so, Google relied both on well established open-source components, such as the Linux Kernel, and munching them together in a brand new userspace environment. This talk will detail the most important components of Android userspace and the interactions between them that allow developers to face a consistent API for their applications.

This talk will be given on Tuesday 9th July 2012, at 14:00, by Maxime Ripard, embedded Linux and Android engineer at Bootlin. Maxime is also teaching our newest training course on Android system development.

Buildroot: a nice, simple and efficient embedded Linux build system

Started in late 2001 by uClibc developers, Buildroot has grown over its 10 years history from a testing tool for the uClibc C library to a complete, vendor-neutral, embedded Linux build system. Until early 2009, the project was mostly unmaintained and the quality slowly decreased, frustrating many Buildroot users. Fortunately, since early 2009, Peter Korsgaard took over the maintainership of Buildroot, and the project has considerably evolved since then: stable releases are published every three months, the user and developer community has grown significantly, the existing features have been cleaned up, many other new features have been added, the project is no longer uClibc-specific and the quality has been vastly improved. Buildroot now offers a nice, simple and efficient mechanism to build small to medium sized embedded Linux systems, such as the ones found in many industrial systems or highly dedicated systems. Many users are amazed about how easy it is to get started with Buildroot, especially compared to other build systems. This presentation will show how Buildroot can be used to build embedded Linux systems, highlighting the new features and improvements made over the last few years, and detailing how the simplicity of Buildroot allows you to focus on developing the applications for your system. A quick overview of the future Buildroot developments will also be provided.

This talk will take place on Wednesday 10th July at 17:00 and will be given by Thomas Petazzoni, embedded Linux engineer at Bootlin, and long time Buildroot contributor.

Linux kernel on ARM: consolidation work

In Spring 2011, Linus Torvalds asked the ARM Linux maintainers to clean up the contents of arch/arm/ in the Linux kernel code by doing more consolidation between ARM sub-architectures.

More than a year later, a lot of work has been accomplished in this area, especially thanks to the introduction of the device tree for the ARM architecture, the pinctrl subsystem and the clock framework into the Linux kernel.

Through this talk, we will present the challenges the ARM architecture creates in terms of Linux kernel support, and then describe from a technical point of view how the device tree, the pinctrl subsystem and the clock subsystem work and how they can improve the consolidation between different ARM sub-architectures.

The talk will be designed to be accessible to an audience having only a moderate knowledge of kernel programming and internals, and will therefore provide enough context for such audience to understand the issues that those different mechanisms are striving to solve.

This talk will take place on Thursday 11th July at 10:00 and will be given by Thomas Petazzoni, embedded Linux engineer at Bootlin.

Tutorial on using Buildroot, a nice, simple and efficient embedded Linux build system

Started in late 2001 by uClibc developers, Buildroot has grown over its 10 years history from a testing tool for the uClibc C library to a complete, vendor-neutral, embedded Linux build system. Until early 2009, the project was mostly unmaintained and the quality slowly decreased, frustrating many Buildroot users. Fortunately, since early 2009, Peter Korsgaard took over the maintainership of Buildroot, and the project has considerably evolved since then: stable releases are published every three months, the user and developer community has grown significantly, the existing features have been cleaned up, many other new features have been added, the project is no longer uClibc-specific and the quality has been vastly improved. Buildroot now offers a nice, simple and efficient mechanism to build small to medium sized embedded Linux systems, such as the ones found in many industrial systems or highly dedicated systems. Many users are amazed about how easy it is to get started with Buildroot, especially compared to other build systems.

This workshop follows the Buildroot presentation proposed in the same topic. During one half-day participants will be introduced on how to efficiently use Buildroot for their own projects:

  • Basic usage of Buildroot: generate the first system, boot it on a hardware platform
  • Add packages to Buildroot
  • Customize Buildroot for real-life projects: how to integrate project specific patches, configuration and customization

Participants are invited to come with their own laptop, installed with a sufficiently recent GNU/Linux distribution. Participants are recommended to attend the Buildroot talk by the same speaker before attending the workshop, as the talk will give an overall introduction on Buildroot.

This tutorial will take place on Thursday 11th July from 14:00 to 17:00 and will be given by Thomas Petazzoni, embedded Linux engineer at Bootlin, and long time Buildroot contributor.

Embedded topics at the Libre Software Meeting, Geneva, July 9-11

Libre Software Meeting, Geneva
Libre Software Meeting, Geneva

The Libre Software Meeting is a community-driven free software event that exists since 2000, composed of talks and workshops. Its 2012 edition will take place from July 7th to July 12th in Geneva, Switzerland.

In the context of this conference, I was responsible with Florian Fainelli from the OpenWRT project to organize the Embedded systems and open hardware track. This track will offer an interesting selection of talks related to embedded topics, concentrated between July 9th and July 11th:

Geneva
Geneva

In the Operating Systems track, some other conferences might be of interested to Embedded Linux developers as well:

The entrace to the Libre Software Meeting is free, so don’t hesitate to book your train or flight tickets, and join us at this event!

Embedded Linux Conference 2012 videos

The 2012 edition of the Embedded Linux Conference took place on February 15-17th 2012 at Redwood Shores near San Francisco in California. Three engineers of Bootlin attended this conference, and we reported every day our impressions about the talks, see our blog posts for day 1, day 2 and day 3. We have now taken the time to encode all the videos we have recorded during this event, and are proud to distribute them today.

It is worth noting that for the first time, the Linux Foundation was also recording videos of the talks, the Linux Foundation videos are available from video.linux.com, and we included links to these videos below for the different talks.

We hope that those of you who couldn’t attend the conference will enjoy those videos, with many great talks on technical embedded Linux topics.

Jon CorbetVideo capture
Editor at LWN.net
The Kernel Report
Slides
Linux Foundation video
Bootlin video (53 minutes):
full HD (525M), 450×800 (154M)

Loïc PallardyVideo capture
Saving the Power Consumption of the Unused Memory
Slides
Bootlin video (46 minutes):
full HD (378M), 450×800 (125M)

Bernhard RosenkränzerVideo capture
Linaro
What Android and Embedded Linux Can Learn From Each Other
Slides
Linux Foundation video
Bootlin video (40 minutes):
full HD (370M), 450×800 (129M)

Ricardo Salveti de AraujoVideo capture
Linaro
Ubuntu on ARM: Improvements and Optimizations Done By Linaro
Slides
Linux Foundation video
Bootlin video (46 minutes):
full HD (301M), 450×800 (140M)

Zach PfefferVideo capture
Linaro
Binary Blobs Attack
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (486M), 450×800 (157M)

Hisao MunakataVideo capture
Renesas Electronics
Close Encounters of the Upstream Resource
Slides
Linux Foundation video
Bootlin video (37 minutes):
full HD (394M), 450×800 (121M)

Daniel HurshVideo capture
IBM
Open Source Automated Test Framework
Slides
Bootlin video (45 minutes):
full HD (303M), 450×800 (132M)

Saul WoldVideo capture
Intel
The Yocto Project Overview and Update
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (543M), 450×800 (171M)

Sean HudsonVideo capture
Mentor Graphics, Inc.
Embedded Linux Pitfalls
Slides
Bootlin video (51 minutes):
full HD (483M), 450×800 (176M)

Vincent GuittotVideo capture
Linaro
Comparing Power Saving Techniques For Multicore ARM Platforms
Slides
Linux Foundation video
Bootlin video (57 minutes):
full HD (307M), 450×800 (154M)

Tim BirdVideo capture
Sony Network Entertainment
Status of Embedded Linux
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (492M), 450×800 (159M)

Bruce AshfieldVideo capture
Wind River
A View From the Trenches: Embedded Functionality and How It Impacts Multi-Arch Kernel Maintenance
Slides
Bootlin video (54 minutes):
full HD (741M), 450×800 (222M)

R DurgadossVideo capture
Intel
PeakCurrent Management in x86-Based Smartphones
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (296M), 450×800 (141M)

Matt PorterVideo capture
Texas Instruments
Passing Time With SPI Framebuffer Driver
Slides

Bootlin video (54 minutes):
full HD (565M), 450×800 (172M)

WookeyVideo capture
Linaro
Multiarch and Why You Should Care: Running, Installing and Crossbuilding With Multiple Architectures
Slides
Bootlin video (42 minutes):
full HD (453M), 450×800 (143M)

Amit Daniel KachhapVideo capture
Linaro/Samsung
A New Simplified Thermal Framework For ARM Platforms
Slides
Linux Foundation video
Bootlin video (41 minutes):
full HD (226M), 450×800 (115M)

Tsugikazu ShibataVideo capture
NEC
On The Road: To Provide the Long-Term Stable Linux For The Industry
Slides
Linux Foundation video
Bootlin video (32 minutes):
full HD (304M), 450×800 (95M)

Thomas P. AbrahamVideo capture
Samsung Electronics
Experiences With Device Tree Support Development For ARM-Based SOC’s
Slides
Bootlin video (44 minutes):
full HD (509M), 450×800 (155M)

Paul E. McKenneyVideo capture
IBM
Making RCU Safe For Battery-Powered Devices
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (506M), 450×800 (186M)

Mike AndersonVideo capture
Chief Technology Officer at The PTR Group
The Internet of Things
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (580M), 450×800 (186M)

Thomas PetazzoniVideo capture
Bootlin
Buildroot: A Nice, Simple, and Efficient Embedded Linux Build System
Slides
Linux Foundation video
Bootlin video (56 minutes):
full HD (594M), 450×800 (182M)

Steven RostedtVideo capture
Red Hat
Automated Testing with ktest.pl (Embedded Edition)
Slides
Linux Foundation video
Bootlin video (102 minutes):
full HD (1,2G), 450×800 (354M)

David VomLehnVideo capture
Cisco
Intricacies of a MIPS Stack Backtrace Implementation
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (345M), 450×800 (153M)

Edward HerveyVideo capture
Collabora
GStreamer 1.0: No Longer Compromise Flexibility For Performance
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (540M), 450×800 (174M)

Tim BirdVideo capture
Sony Network Entertainment
Embedded-Appropriate Crash Handling in Linux
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (292M), 450×800 (142M)

Arnd BergmannVideo capture
Linaro
ARM Subarchitecture Status
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (416M), 450×800 (140M)

Mark GisiVideo capture
Wind River Systems
The Power of SPDX – Sharing Critical Licensing Information Within a Linux Device Supply Chain
Linux Foundation video
Bootlin video (49 minutes):
full HD (498M), 450×800 (164M)

Yoshitake KobayashiVideo capture
Toshiba
Ineffective and Effective Ways To Find Out Latency Bottlenecks With Ftrace
Slides
Linux Foundation video
Bootlin video (37 minutes):
full HD (251M), 450×800 (108M)

Ohad Ben-CohenVideo capture
Wizery / Texas Instruments
Using virtio to Talk With Remote Processors
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (582M), 450×800 (182M)

Elizabeth FlanaganVideo capture
Intel
Embedded License Compliance Patterns and Antipatterns
Linux Foundation video
Bootlin video (44 minutes):
full HD (391M), 450×800 (144M)

David AndersVideo capture
Texas Instruments
Board Bringup: LCD and Display Interfaces
Slides
Linux Foundation video
Bootlin video (40 minutes):
full HD (207M), 450×800 (113M)

Rob ClarkVideo capture
Texas Instruments
DMA Buffer Sharing: An Introduction
Slides
Linux Foundation video
Bootlin video (35 minutes):
full HD (306M), 450×800 (100M)

Ken ToughVideo capture
Intrinsyc
Linux on eMMC: Optimizing For Performance
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (468M), 450×800 (165M)

Paul LarsonVideo capture
Linaro
LAVA Project Update
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (366M), 450×800 (159M)

Frank RowandVideo capture
Sony Network Entertainment
Real Time (BoFs)
Slides
Bootlin video (77 minutes):
full HD (924M), 450×800 (288M)

Mike TurquetteVideo capture
Texas Instruments
Common Clock Framework (BoFs)
Slides
Bootlin video (53 minutes):
full HD (333M), 450×800 (148M)

Hunyue YauVideo capture
HY Research LLC
Userland Tools and Techniques For Linux Board Bring-Up and Systems Integration
Slides
Linux Foundation video
Bootlin video (51 minutes):
full HD (407M), 450×800 (136M)

Matt WeberVideo capture
Rockwell Collins Inc.
Optimizing the Embedded Platform Using OpenCV
Slides
Linux Foundation video
Bootlin video (37 minutes):
full HD (388M), 450×800 (125M)

Greg UngererVideo capture
McAfee
M68K: Life in the Old Architecture
Slides
Linux Foundation video
Bootlin video (46 minutes):
full HD (452M), 450×800 (166M)

Gary BissonVideo capture
Adeneo Embedded
Useful USB Gadgets on Linux
Slides
Linux Foundation video
Bootlin video (43 minutes):
full HD (402M), 450×800 (129M)

Jason KridnerVideo capture
Texas Instruments
GUIs: Coming To Uncommon Goods Near You
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (476M), 450×800 (166M)

Mike AndersonVideo capture
The PTR Group
Adapting Your Network Code For IPv6 Support
Slides
Linux Foundation video
Bootlin video (63 minutes):
full HD (485M), 450×800 (216M)

Koen KooiVideo capture
The Angstrom Distribution
Producing the Beaglebone and Supporting It
Linux Foundation video
Bootlin video (42 minutes):
full HD (398M), 450×800 (126M)

Danny BennettVideo capture
basysKom GmbH
HTML5 in a Plasma-Active World
Slides
Linux Foundation video
Bootlin video (34 minutes):
full HD (258M), 450×800 (75M)

Marcin MielczarczykVideo capture
Tieto
Getting the First Open Source GSM Stack in Linux
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (439M), 450×800 (178M)

Pierre TardyVideo capture
Intel
PyTimechart Practical
Slides
Linux Foundation video
Bootlin video (32 minutes):
full HD (260M), 450×800 (86M)

Linus WalleijVideo capture
ST-Ericsson
Pin Control Subsystem Overview
Slides
Linux Foundation video
Bootlin video (60 minutes):
full HD (638M), 450×800 (200M)

Khem RajVideo capture
OpenEmbedded Project
OpenEmbedded – A Layered Approach
Slides
Linux Foundation video
Bootlin video (39 minutes):
full HD (227M), 450×800 (108M)

Lucas De MarchiVideo capture
ProFUSION Embedded Systems
Managing Kernel Modules With kmod
Slides
Linux Foundation video
Bootlin video (46 minutes):
full HD (443M), 450×800 (140M)

Jean PihetVideo capture
NewOldBits
A New Model for the System and Devices Latency
Slides
Bootlin video (49 minutes):
full HD (431M), 450×800 (146M)

Android Builders Summit 2012 videos

On February 13-14th 2012, the second edition of the Android Builders Summit took place in Redwood Shores, near San Francisco in California. While Bootlin was not officially in charge of video recording for this conference, we recorded the talks we attended and that we are glad to share below. The Linux Foundation has also recorded those talks (except a few of them for which they had technical issues), and we provide those additional links below. You can also follow our reports from day 1 and day 2 of this conference.

You’ll find below our videos of the main talks we recorded, and also the videos of the lightning talks that took place on the evening of the first day of the conference. Enjoy!

Main talks

Karim YaghmourVideo capture
Opersys
Leveraging Linux’s History With Android
Slides
Bootlin video (32 minutes):
full HD (386M), 450×800 (107M)

Arnd Bergmann, Tim Bird, Greg Kroah-Hartmann, Zach Pfeffer, moderated by Jonathan CorbetVideo capture
IBM/Linaro, Sony Network Entertainment, The Linux Foundation, Linaro, LWN.net
Panel: Android and the Linux Kernel Mainline: Where Are We?
Bootlin video (38 minutes):
full HD (525M), 450×800 (156M)

Marko GargentaVideo capture
Marakana
Customizing Android
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (409M), 450×800 (131M)

Tetsuyuki KobayashiVideo capture
Kyoto Microcomputer
How ADB(Android Debug Bridge) Works
Slides
Linux Foundation video
Bootlin video (33 minutes):
full HD (365M), 450×800 (100M)

Andrew BoieVideo capture
Intel
Android OTA SW Updates
Slides
Linux Foundation video
Bootlin video (61 minutes):
full HD (698M), 450×800 (189M)

Benjamin ZoresVideo capture
Alcatel-Lucent
Android Device Porting Walkthrough
Slides
Linux Foundation video
Bootlin video (69 minutes):
full HD (534M), 450×800 (179M)

Jason Kridner, Khasim Syed MohammedVideo capture
Texas Instruments
Using Android outside of the Mobile Phone Space
Slides
Linux Foundation video
Bootlin video (34 minutes):
full HD (414M), 450×800 (120M)

Tom MossVideo capture
3LM
The Android Ecosystem
Linux Foundation video
Bootlin video (27 minutes):
full HD (267M), 450×800 (82M)

Karim YaghmourVideo capture
Opersys
Headless Android
Slides
Bootlin video (50 minutes):
full HD (462M), 450×800 (145M)

Tom FoyVideo capture
Intrinsyc
Android on eMMC: Optimizing for Performance
Slides
Bootlin video (34 minutes):
full HD (234M), 450×800 (90M)

Wolfgang MauererVideo capture
Siemens
Real-Time Android
Slides
Bootlin video (59 minutes):
full HD (418M), 450×800 (155M)

Jim HuangVideo capture
0xlab
Improve Android System Component Performance
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (457M), 450×800 (152M)

Rodrigo ChiossiVideo capture
Samsung
AndroidXRef: Speeding up the Development of Android Internals
Slides
Linux Foundation video
Bootlin video (38 minutes):
full HD (313M), 450×800 (108M)

Mark BrownVideo capture
Wolfson Microelectronics
Towards a Standard Audio HAL for Android
Slides
Linux Foundation video
Bootlin video (47 minutes):
full HD (227M), 450×800 (123M)

Jen CostilloVideo capture
Topics in Designing An Android Sensor Subsystem: Pitfalls and Considerations
Slides
Linux Foundation video
Bootlin video (36 minutes):
full HD (238M), 450×800 (101M)

Aleksandar (Saša) GargentaVideo capture
Marakana
Android Services Black Magic
Linux Foundation video
Bootlin video (61 minutes):
full HD (410M), 450×800 (169M)

Lightning talks

Dario LaverdeVideo capture
HTC
HTC Dev
Bootlin video (3 minutes):
full HD (44M), 450×800 (13M)

Robert McQueenVideo capture
Collabora
Integrating GStreamer and PulseAudio in Android
Bootlin video (4 minutes):
full HD (49M), 450×800 (16M)

Mark GrossVideo capture
Intel
Android build times and host tweakage
Bootlin video (4 minutes):
full HD (37M), 450×800 (13M)

Tony ManssonVideo capture
Linaro
Painless debugging of native code in Android-based device (using DS-5)
Bootlin video (4 minutes):
full HD (32M), 450×800 (13M)

Paul ArssovVideo capture
ARS Technologies Inc.
How easy is it to support external hardware on Android platform
Bootlin video (4 minutes):
full HD (33M), 450×800 (13M)

Karim YaghmourVideo capture
Opersys
Cyborgstack
Bootlin video (4 minutes):
full HD (60M), 450×800 (18M)

Yahya MirzaVideo capture
Aurora Borealis Software
Towards a heterogeneous application for compute driver performance testing and analysis
Bootlin video (3 minutes):
full HD (47M), 450×800 (14M)

Joe BornVideo capture
Sonrlabs
Sonr, Serial headphone interface and hardware
Bootlin video (4 minutes):
full HD (38M), 450×800 (13M)