The Embedded Linux Conference 2011 took place between April, 11th and April, 13th in its now usual place, the Kabuki hotel in San Francisco, California. It was the first edition organized since the merge of the CE Linux Forum into the Linux Foundation. During three days, three parallel tracks of talks and BoFs about technical topics around embedded Linux : kernel support, power management, build systems, file systems, real-time, and more.
As usual, part of the Bootlin team was at this Embedded Linux Conference, in order to keep up with the latest developments from the embedded Linux community. Gregory Clement (left on the picture), Maxime Ripard (right on the picture) and myself (center on the picture) were present, and we recorded all talks of the conference. And just a little bit more than one month later, we are ready to announce that all videos are now available online, in 1080p high-definition, and in a lower 450p resolution, encoded with the new VP8 codec.
Amongst all the conferences below, each of us have selected the three ones we thought were the most interesting ones (note that the top three for each us is necessarily composed of distinct talks, as none of us have seen the same talks since we had to record talks from three different sessions in parallel) :
For Gregory Clement, the top three is: Yoshiya Hirase talk about Faster Resume For More Energy Savings on MeeGo, Arnd Bergmann talk about Optimizations For Cheap Flash Media (which follows Arnd article on the same topic in LWN) and a set of three related talks about the video infrastructure in the Linux kernel, that Gregory recommends to watch in this order: Media Controller Framework (MCF) For OMAP2+ Display Subsystem (Sumit Semwal), Video4linux: Progress, New videobuf2 Framework and the Future (Hans Verkuil) and Bringing up HDMI Display for OMAP4 Panda Board – Design, Challenges and Lessons Learned (Mythri pk).
For Maxime Ripard, the top three is: John Stultz talk about Android for servers, Mike Anderson talks about ARM NEON and GPU programming, Wolfram Sang talk about Helping the process
For myself, the top three is: Jesse Barker talks about the ARM Graphics ecosystem which gives a nice overview of the state of this topic, Hai Shalom talk about PCD (which is an original and interesting replacement for init), Dave Stewart talk about The Yocto Project and its Application Development Toolkit (because it gives details on how Yocto is supposed to be used for application development, a topic I’m interested in as a Buildroot developer)
It is also worth noting that this Embedded Linux Conference was co-located with the first edition of the Android Builders Summit, for which we will soon publish videos as well. The next embedded Linux conference will take place in Europe, in Prague from October 26th to 28th, co-located with the first edition of LinuxCon Europe and just after the Kernel Summit. Prague will really be full of Linux developers during this end of October, it’s time to book this week on your agenda as well !
Finally, the list of all videos of Embedded Linux Conference 2011, along with their corresponding slides :
Tim Bird Sony Network Entertainment Welcome Keynote Video (10 minutes): full HD (131M), 450×800 (43M)
Dirk Hohndel, Richard Purdie Intel, Linux Foundation The Yocto Project Video (35 minutes): full HD (458M), 450×800 (140M)
Keshava Munegowda Texas Instruments Power Fail Safe FAT File Systems Slides Video (48 minutes): full HD (693M), 450×800 (203M)
Frank Rowand Sony Identifying embedded real-time issues: I-cache and locks Slides Video (46 minutes): full HD (471M), 450×800 (147M)
Bruno Cardoso Lopes University of Campinas LLVM, Clang and Embedded Linux Systems Slides Video (50 minutes): full HD (593M), 450×800 (164M)
Steven Rostedt RedHat Kernel Shark Tutorial Video (49 minutes): full HD (743M), 450×800 (215M)
Kang Dongwook ETRI Snapshoot Booting on Embedded Linux Slides Video (33 minutes): full HD (284M), 450×800 (95M)
Khem Raj State of OpenEmbedded Internal Toolchain and SDKs Slides Video (41 minutes): full HD (289M), 450×800 (119M)
David Rusling Linaro Linaro: a year of change Slides Video (50 minutes): full HD (529M), 450×800 (173M)
Hai Shalom Atheros Control, recover and debug your embedded product with PCD Slides Video (50 minutes): full HD (470M), 450×800 (160M)
Gene Sally Zigbee Networking and Linux Video (53 minutes): full HD (262M), 450×800 (139M)
Xi Wang Broadcom Solving real-time scheduling problems with RT_PREEMPT and deadline-based scheduler Slides Video (43 minutes): full HD (422M), 450×800 (141M)
Mike Anderson The PTR Group ARM Neon instruction set and why you should care Slides Video (53 minutes): full HD (527M), 450×800 (169M)
Darren Hart Intel Yocto Project: Practical Kernel Development Tutorial Video (52 minutes): full HD (551M), 450×800 (196M)
Arnd Bergmann IBM Optimizations for cheap flash media Slides Video (49 minutes): full HD (482M), 450×800 (160M)
Wolfram Sang Pengutronix Developer’s diary: helping the process Slides Video (39 minutes): full HD (315M), 450×800 (112M)
Thomas Gleixner Linutronix RT-Preempt: what’s the state and why there is no roadmap Slides Video (46 minutes): full HD (447M), 450×800 (149M)
Jason Kridner Texas Instruments High-level web interface to low-level I/O on the BeagleBoard Slides Video (36 minutes): full HD (370M), 450×800 (115M)
Arnd Bergmann IBM Becoming part of the Linux kernel community Slides Video (34 minutes): full HD (376M), 450×800 (126M)
Paul Mundt Renesas Working with hardIRQs: life beyond static IRQ assignments Slides Video (36 minutes): full HD (330M), 450×800 (113M)
Amit Kucheria Linaro Powerdebugging inside Linaro Slides Video (46 minutes): full HD (309M), 450×800 (136M)
Mike Anderson The PTR Group High-performance computing using GPUs Slides Video (57 minutes): full HD (615M), 450×800 (185M)
Paul Larson Canonical Linaro automated validation on ARM Video (51 minutes): full HD (581M), 450×800 (184M)
Dave Stewart Intel The Yocto project and its application development toolkit (ADT) – The answer to effective embedded application development Video (42 minutes): full HD (362M), 450×800 (139M)
Damian Hobson Garcia, Katusya Matsubara, Takanari Hayama, Hisao Munakata Igel Integrating a Hardware Video Codec into Android Stagefright using OpenMAX IL Slides Video (55 minutes): full HD (564M), 450×800 (177M)
Koen Kooi Texas Instruments Integrating OpenEmbedded and Yocto Slides Video (52 minutes): full HD (465M), 450×800 (159M)
Mark Gross Intel How to power tune a device running on a Linux kernel for better suspend battery life Slides Video (49 minutes): full HD (273M), 450×800 (129M)
Remi Lorriaux Adeneo Embedded Real-time audio on embedded devices Slides Video (44 minutes): full HD (437M), 450×800 (138M)
Magnus Damm Runtime PM: upstream I/O device power management Slides Video (53 minutes): full HD (486M), 450×800 (164M)
Jesse Barker Linaro Linux graphics meets the ARM ecosystem Slides Video (50 minutes): full HD (329M), 450×800 (147M)
David Anders Texas Instruments Board bringup: open-source hardware and software tools Slides Video (38 minutes): full HD (376M), 450×800 (118M)
John Williams PetaLogix Dynamic co-simulation of FPGA-based systems on chip Slides Video (57 minutes): full HD (567M), 450×800 (198M)
Summit Semwal Texas Instruments Media Controller Framework (MCF) for OMAP2+ display subsystem Slides Video (49 minutes): full HD (518M), 450×800 (155M)
Anand Gadiyar Texas Instruments Tools and techniques for debugging embedded systems Slides Video (30 minutes): full HD (139M), 450×800 (81M)
Hans Verkuil Cisco Video4linux: progress, new videobuf2 framework and the future Slides Video (56 minutes): full HD (534M), 450×800 (171M)
Yoshiya Hirase Nokia Faster resume for more energy saving on MeeGo Slides Video (58 minutes): full HD (727M), 450×800 (218M)
Jake Edge Linux Weekly News What embedded Linux developers should know about IPv6 Slides Video (46 minutes): full HD (266M), 450×800 (122M)
Grégoire Gentil Always Innovating Hot multi-OS switch: how to run Ubuntu, ChromiumOS, Android at the same time on an embedded device Video (61 minutes): full HD (515M), 450×800 (174M)
Xi Wang Broadcom Controlling memory footpring at all layers: Linux kernel, applications, libraries and toolchain Slides Video (38 minutes): full HD (511M), 450×800 (152M)
Tom Zanussi, Saul Wold Building custom embedded images with Yocto Slides Video (49 minutes): full HD (500M), 450×800 (173M)
Philip Balister Open SDR A high performance interface between the OMAP3 and a FPGA Slides Video (51 minutes): full HD (347M), 450×800 (149M)
Jean Pihet NewOldBits.com The evolution of tracing and profiling for power management and accelerators Slides Video (40 minutes): full HD (428M), 450×800 (133M)
Elizabeth Flanagan Intel Delivering predictability: the Yocto project autobuilder, automated sanity testing, license collection and build statistics tracking Slides Video (48 minutes): full HD (241M), 450×800 (133M)
Mythri pk Texas Instruments Bringing up HDMI display for OMAP4 Panda board: design, challenges and lessons learned Slides Video (40 minutes): full HD (363M), 450×800 (122M)
As every year, FOSDEM, the largest community-driven open source conference in Europe, took place early February in Brussels. And again, Bootlin was around with its HD camcorder, to record the conferences of interest for embedded developers. They are now available for download!
The Libre Software Meeting (Rencontres Mondiales du Logiciel Libre in French) is a community-driven event that takes place every year in France, and covers a wide range of topics in the free and open source software domain. Each year, an Embedded systems and free hardware topic is proposed, which in 2010 was lead by Florian Fainelli, Pierre Ficheux and myself.
While most of the talks took place in French, a few talks were given in English and as we recoded videos from those talks, we thought it’d be a good idea to highlight them to the english readers of our blog. We found it especially important since amongst those videos, there are two particularly interesting presentations from Sarah Sharp, a kernel developer from Intel, about USB3 and its support in Linux. As usual, all our videos are published under the Creative Commons Attribution – ShareAlike Licence version 3.0 license.
The program of the Embedded Linux Conference has been announced recently, and as usual, features a wide set of technical embedded Linux talks:
Filesystem/storage: Power Fail Safe FAT File System, Optimizations For Cheap Flash Media, from Arnd Bergmann, who has also recently published a very interesting article on the same topic.
Power management: Faster Resume For More Energy Savings on MeeGo, Powerdebug(ging): A Linaro Perspective, How to Power Tune a Device Running on a Linux Kernel for Better Suspend Battery Life, The Evolution of Tracing and Profiling for Power Management and Accelerators, Runtime PM: Upstream I/O Device Power Management
Real-time: Solving Real-Time Scheduling Problems with RT_PREEMPT and Deadline-Based Scheduler, Real-time Audio on Embedded Devices, Identifying Embedded Real-Time Latency Issues: I-Cache and Locks
Build system, with a huge number of Yocto-related talks, but no other build systems represented: State of OpenEmbedded Internal Toolchain and SDKs, Yocto Project: Practical Kernel Development Tutorial, Building Custom Embedded Images with Yocto, The Yocto Project and its Application Development Toolkit (ADT) – The Answer to Effective Embedded Application Development, Yocto Project Community BoFs, Delivering Predictability: The Yocto Project Autobuilder, Automated Sanity Testing, License Collection, and Build Statistics Tracking
FPGA: Dynamic Co-simulation of FPGA-based Linux Systems-on-Chip, A High Performance Interface Between the OMAP3 and an FPGA
Networking: What Embedded Linux Developers Should Know About IPv6, Zigbee Networking & Linux
Debugging: Kernel Shark Tutorial and Tools and Techniques for Debugging Embedded Systems
Optimization: Snapshot Booting on Embedded Linux, ARM Neon Instruction Set and Why You Should Care, Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libraries and Toolchain, High-Performance Computing using GPUs, What Are and How to Find a Program’s Unused DSOs
Low-level: Board Bringup: Open Source Hardware and Software Tools, Working with HardIRQs: Life Beyond Static IRQ Assignments, Genie in the Bottle: Linux Drivers for the AM1808 PRU
And many other talks on various topics: LLVM, Clang and Embedded Linux Systems, Linaro: A Year of Change, Control, Recover and Debug Your Embedded Product with PCD, Developer’s Diary: Helping the Process, High-Level Web Interface to Low-Level Linux I/O on the Beagleboard, Linaro Automated Validation on ARM, Crowd Sourcing and Protecting the Open Source Community, Android for Servers?, Hot Multi-OS Switch: How to run Ubuntu, ChromiumOS, Android at the Same Time on an Embedded Device.
This edition will be the first one organized since the merge between the CE Linux Forum into the Linux Foundation, and will therefore be a great opportunity to see if this merge had any impact on the technical quality of the conference.
My colleagues Maxime Ripard (who joined Bootlin just a week ago) and Gregory Clement as well as myself will be present at the Embedded Linux Conference and the Android Builders Summit, and we will as usual record all talks of both of these conferences and will put them online, as we have done recently for the talks that took place during the Embedded Linux Conference Europe 2010 in Cambridge. Do not hesitate to meet us in San Francisco!
Barebox is a bootloader started about two years ago for embedded systems of various architectures. It plays the same role as U-Boot, which is the best known project in this area, but has several advantages over U-Boot. First, it has a much better configuration and compilation system, based on the one used by the Linux kernel: instead of the rusty include/configs/myboard.h configuration headers in U-Boot, Barebox provides a nice menuconfig/xconfig/defconfig based configuration system, that everyone is familiar with. Second, Barebox has a source code organization very similar to the one of the Linux kernel and has replicated the device/driver model of the kernel. This allows to have a nice separation between device drivers and their instantiation, and a source code that looks familiar to anyone that already does kernel development.
Of course, as Barebox is newer than U-Boot, the number of architectures and platforms is more limited, but it is growing rapidly. It already supports ARM, PPC, Blackfin, x86 and a testing sandbox architecture. On ARM, the supported platforms are AT91, EP93xx, iMX, Nomadik, OMAP, S3C24xx and Versatile. On PPC, a single mpc5xxx platform is supported. Patches to add support for the NIOS architecture have also been posted recently (NIOS is a soft-core architecture from Altera).
As a young but fast-growing project, Barebox has chosen a quick development cycle: new releases are made each month, and Barebox 2011.03 has been released a few days ago. It has many ARM and generic improvements, but is also the first release with contributions from Bootlin :
Gregory CLEMENT (3):
BMP: Add support for 32bpp video frame buffer
ARM STM/i.MX: Add possibility to choose the bit per pixel for STM video driver
fb i.MX23/28: Add the reset control of LCD
My colleague Gregory Clement has contributed several improvements to framebuffer support on the i.MX platform. Those improvements were made in the context of a customer project, for which Barebox was used as a way of showing immediately after the device start-up a nice logo on the screen, while the system continues to boot in the background. Initially, the user had to wait 20+ seconds to see a logo on the screen showing that the system was booting. With our Barebox based solution, a logo is now visible on the screen less than 2 seconds after the power on button is pushed.