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!

Bootlin Quarterly – 2012 Q2

This is the second Bootlin newsletter for 2012. We are happy to share with you the latest news about our projects, training courses and contributions.

New “Android system development” training

As announced in our previous newsletter, we have created a new Android system development training course.

This course targets engineers who need to develop embedded systems with Google Android. In four days, through theory and practical labs, the course makes you familiar with compiling and booting Android, with adapting Android to support a new embedded board (assuming that it is already supported by the Linux kernel), and with building a real system through accessing specific hardware, customizing the filesystem and using debugging techniques. More details and the complete agenda.

The first public session of this training will take place on June 11-14 2012 in Toulouse, France (session taught in English). There are still seats available for this session.

We will start giving on-site sessions of this course in July 2012. Do not hesitate to contact us if you want to organize on-site sessions.

Opening our training materials source code

Since Bootlin’screation in 2004, we have been releasing our training materials under the Creative Commons Attribution Share-Alike license, a free license that allows anyone to share, improve and use our embedded Linux and Linux kernel training materials. Since that time, our training materials were available as PDF files, and as OpenDocument files for the source code, but we were only updating their online version from time to time.

Now, we are proud to announce that our training materials are being converted to the LaTeX language, and their latest version is available at any time from our public Git repository.

For the moment, our embedded Linux slides have been published (about 500 slides) in this Git repository, as well as the instructions for the practical sessions of our embedded Linux and Linux kernel courses. In the near future, we will also publish in LaTeX the slides of our Linux kernel training (which remain available under PDF and OpenDocument formats) as well as the materials of our new “Android system development” course.

The creation of this public Git repository is a strong sign of our commitment for open training materials.

The LaTeX format and the public Git repository now make it easy for everyone to follow updates on our materials, to keep one’s knowledge up to date, and even to teach a training session using our materials (commercial use of our materials is welcome, as it helps to spread knowledge about Free and Open Source Software for embedded systems).

Upcoming public training sessions

Our next public training sessions dates and locations are:

  • Embedded Linux kernel and driver development
    June, 4-8 2012
    Toulouse, France
    Session given in French
    Details
  • Android system development
    June, 11-14 2012
    Toulouse, France
    Session given in English
  • Embedded Linux system development
    June, 18-22 2012
    Avignon, France
    Session given in French
    Details
  • Embedded Linux kernel and driver development
    July 2-6, 2012
    Avignon, France
    Session given in French
    Details
  • Embedded Linux kernel and driver development
    October, 8-12 2012
    Avignon, France
    Session given in English
    Details
  • Embedded Linux system development
    October, 15-19 2012
    Toulouse, France
    Session given in French
    Details
  • Embedded Linux system development
    December, 3-7 2012
    Avignon, France
    Session given in English
    Details
  • Embedded Linux system development
    February, 4-8 2013
    Lyon, France
    Session given in French
    Details

Projects

Since the beginning of the year, we have been involved in the following projects for various customers:

  • Boot time optimization and power management evaluation for a MIPS-based platform used in a payment terminal;
  • Filesystem size optimization, embedded Linux build system integration, Ethernet PHY driver development for an AT91 ARM platform used in satellite video processing;
  • Embedded Linux build system integration and generic embedded Linux debugging and support for an AT91 ARM platform used as a gateway between medical devices;
  • Starting in April, we will be working with a major ARM SoC vendor to help mainlining support for their latest SoC in the official Linux kernel sources;
  • Continued the creation of materials for our new “Android system development” course.
  • Continued our work on the Linux kernel driver for the Analog-to-Digital converters of the AT91 ARM SoC (see ‘Contributions’, below);
  • Continued our work on real-time Linux evaluation on AT91 ARM SoC (see ‘Contributions’, below.).

Career opportunities

Bootlin is looking for a kernel developer in the the French Riviera, to be hired with a permanent contract. The job is open to English speaking people who do not speak French, but are ready to settle in the area of Nice, and be hired through a French contract. See details.

Conferences and contributions

Embedded Linux Conference and Android Builders Summit

Three engineers of Bootlin attended the Embedded Linux Conference 2012 and Android Builders Summit 2012 in Redwood Shores, near San Francisco in California, on February. This strong participation of our engineers to technical conferences is a key factor to make sure we remain up to date on embedded Linux technologies and keep a close contact with the community.

During the conference, we have published daily reports about the various talks that we thought were interesting:

After the conference, we also posted videos of the talks:

Our scripts to encode videos to the royalty-free VP8 codec and add a title sequence to the videos are now available on on our public git server.

At this conference, our engineer Thomas Petazzoni has given a talk titled “Buildroot, a nice, simple and efficient embedded Linux build system”. Here are the slides and the video.

FOSDEM conference

Two of our engineers participated to the FOSDEM conference, a community-driven open-source conference, in early February.

Our engineer Maxime Ripard gave a talk on his work around the IIO kernel subsystem, which he used to write an ADC driver for the AT91 SoC. Here are the slides.

Our engineer Thomas Petazzoni gave a talk about “Using Qt for non-graphical applications”. Here are the slides.

AT91 Analog-to-Digital converter drivers

Details about the driver for the AT91 Analog-to-Digital converters driver written by Maxime Ripard from Bootlin have been published on the Atmel Linux4Sam wiki. This driver relies on the IIO framework, and we are in the process of getting this driver merged upstream. See the Atmel Linux4Sam wiki page.

Real-time Linux benchmarks

A report of extensive real-time benchmarks conducted by Gregory Clement from Bootlin on AT91 platforms has been published on the Atmel Linux4Sam Wiki. This report compares a vanilla Linux kernel, the PREEMPT-RT patches and the Xenomai co-kernel approach through timer-based and GPIO-based benchmarks. See the Atmel Linux4Sam wiki page.

Buildroot

Bootlin’sinvolvement in Buildroot is still strong:

  • Maxime Ripard and Thomas Petazzoni participated to the Buildroot Developer Day organized in Brussels before the FOSDEM conference. A report of this meeting, which gathered several other Buildroot developers, is available at the Buildroot mailing list archives.
  • Since the beginning of the year, Thomas Petazzoni has contributed 64 patches that have been merged: support for the LTT-ng Linux tracing solution, support to represent host utilities in the menuconfig, many updates and fixes to external toolchain support and many other fixes.
  • In the same time-frame, Maxime Ripard has contributed 13 patches that have been merged: support for systemd, improvements to the package infrastructure and various fixes.
  • Thomas Petazzoni has implemented a Web interface that publicly shows the result of our random configuration builds, available at http://autobuild.buildroot.org. The Buildroot community is doing random configuration builds 24/7 on three machines, with various configurations. This Web interface collects the build results and sends a summary every day on the Buildroot mailing-list. This has already allowed to fix many build issues, and will help to improve Buildroot’s quality in the future.

Linux kernel course

Participants to our Embedded Linux kernel and driver development course have also started contributing to the Linux kernel sources during the course itself. Here are the patches which have been merged so far:

During our git lab, instead of asking people to make dummy code changes, we ask them to make real improvements to the Linux sources, and send them for real to the right maintainers and mailing lists. This way, people get a better understanding of how they can interact with the Linux kernel developers to merge their changes and contributions.

See our slides and practical lab instructions for our git lectures and lab.

Blog posts

Bootlin has published several blog posts:

You can follow Bootlin’snews by reading our blog and by following our quick news on Twitter.

By the way, the right column of the Bootlin blog now lists the most popular posts and pages. This can help you to find useful content that you may have missed.

Bootlin remains available to help you in your embedded Linux projects, either through its development and support services or through its training sessions. Do not hesitate to contact us!

Gregory, Maria, Maxime, Michael and Thomas – Bootlin

Linux kernel engineer job in Nice

Penguin worksBootlin is looking for a embedded Linux and kernel engineer in the area of Nice in France (on the French Riviera). The contract will be home based, but will also involve working at customer locations in the same area, possibly for long periods of time.

A detailed job description is available on our careers page.

For this particular job opening, we absolutely need someone with prior experience with kernel and driver development, and contributions to the official Linux kernel sources will be a strong advantage. This is because a customer of ours is looking for an engineer to develop new drivers and port the Linux kernel to pre-silicon and silicon platforms.

Once we find a candidate with the expected skills and profile, and once the customer agrees to contract this person for this initial project, the engineer will be hired by Bootlin under a permanent contract, and will work on the customer site for at least 6 months.

Once the initial assignment is over, our engineer will continue to work on projects for other Bootlin customers, and will also give embedded Linux and kernel training sessions to customers throughout the world.

Note that this position is open to people who do not speak French, but are ready to settle in the French Riviera and to be hired through a French contract.

If you are interested in this position, see our job description for details about how to apply.

Report on extensive real-time Linux benchmarks on AT91

The real time page I wrote for Atmel was finally released on the Linux4Sam Atmel Wiki. The purpose of this page was to help new comers to use real time features with Atmel CPUs and to present the state of the real time support.

Here are some figures associated to this work:

  • On this page I present the results of more than 300 hours of benchmarks!
  • During the setup and the tuning tests ran for more than 600 hours.
  • Analysis and formatting took a few dozen hours of work.
  • The benchmarks have been run on 3 boards, 3 flavors of Linux (vanilla, PREEMPT-RT patches, Xenomai co-kernel approach), and 2 kinds of tests (timer-based and GPIO-based)
  • Experiment with Yocto

    I recently had the opportunity to use Yocto. I already practiced quite a lot with OpenEmbedded before. You can see Yocto as a project derived from OpenEmbedded even it is a bit more than that.

    In fact, Yocto is made of Poky (a build system based on OpenEmbedded), a few added build tools (swabber, pseudo, etc.), as well as a set of meta data allowing to create embedded distributions for a number of targets.

    The strength but also the weakness of OpenEmbedded is that it a very flexible build system. It can make production root filesystems, but also a complete distribution with its ready to use package repository, and this for multiple hardware platforms. It makes it a difficult system to get started and get efficient with. Even two years ago, the OpenEmbedded documentation contributed to making it difficult to get started. Indeed, OpenEmbedded did supply some documentation, but which only started to make sense once you start mastering it. This is quite a paradox for a piece of documentation. It lacked the elements allowing developers to understand its operation well.

    With Yocto, I was pleased to realize that substantial progress had been made on this side. The project comes with documentation that is much more exhaustive and above all much more accessible for beginners. Getting started with it is still not completely straightforward, but this time, this is rather because of the complexity and the rich features of the tool.

    In a few hours, I managed to develop a minimalistic BSP (Board Support Package) for a given board (in this case a AT91SAM9G20-EK). The concept of layer allows to have a configuration layer specific to a given piece of hardware. You can even support multiple hardware platforms at once and add specific packages. A layer is indeed just a set of packages and configurations (or configuration overrides). The BSP is just a layer specific to one or several pieces of hardware.

    As you can see, even to support a simple embedded board, there is already a number of concepts to deal with. There are also multiple ways of achieving the same result but which will be easier or more difficult to maintain. The concept of “BSP” for Yocto is therefore a kind of guideline to allow the Yocto community to have a common point of reference. I will try to illustrate the use of a BSP on the AT91SAMG20-EK board here and/or on my Google+ page.

    Another significant progress is optimizing build time for a “minimalistic” target, which went down from more than three hours to just over one hour now. It remains a long time for a very simple target.

    To build a filesystem image with only a few components, Buildroot remains much more appropriate. For systems that require a great number of components, more advanced functionality is then often needed, such as managing a package repository and supporting multiple hardware platforms at once for example. In this case, Yocto remains the best (the only?) option, all the more as this project addresses the traditional weaknesses of OpenEmbedded.

    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)

    A new tool to ease kernel maintainer life

    When you are involved in mainlining or maintaining some kernel code, a non negligible part of your time is spent checking patches or patchsets themselves . It is not the most interesting part but it is truly necessary to help merging in kernel code, or to make sure you don’t break anything, for example building with an incompatible configuration.

    Aiaiai developed by Artem Bityutskiy is a tool to do most of this task for you! It uses other checking tools and scripts such as sparse, coccinelle and checkpatch.pl, and comes with its own set of tools and scripts. I don’t know what does “aiaiai” stands for, but in French it sounds like “Ouch Ouch Ouch”, the sound you could make if you forget to use this tool 😉

    PS: On my G+ post, Yegor Yefremov pointed that “aiaiai” means something like “tsk tsk!” (shame on you!) in Russian.

    Android gdbclient command

    Before you even start building Android, Google’s instructions tell you to source the build/envsetup.sh shell script.

    This script exports a number of environment variables (that’s why you have to source it), mostly setting the PATH to your different toolchains and to your output directories.

    It also defines a number of shell functions. Among them some functions are advertised, like the well-know lunch, that is used to configure to some extent the build system, or the grepping functions, but some are not, like pid, which uses adb to get the PID of a process running on the device.

    Among the latter, one seems pretty useful: gdbclient. What gdbclient does is obviously gdb related but in fact it does more than that.

    First, you run it by doing gdbclient <binary>:<port> <process_name>

    Then it sets up adb with the forward command so that you use it as a transport layer to your device, while it appears as (in that case) opened TCP sockets both on your machine and on the device.

    Then, it attaches a gdbserver to the process you gave as the third argument on the device.

    Finally, it launches your cross-gdb on your workstation, loads the debugging symbols from the file passed as first argument, and sets up a remote debugging session. All of that through USB!

    This is definitely useful, and I can’t say why Google doesn’t advertise it more, but hey, it’s there!