October 26

Linaro uses components from the Android Open Source Project, member companies, community supported efforts and Linaro engineering teams to build integrated, easy-to-use and well tested Android platforms for upstream work, product baselines and hobby projects. The team currently has platforms for TIs PandaBoard, BeagleBoard and Beagle xM, ST Ericsson’s Snowball, Samsung’s Origen and Freescale’s iMX53. They recently released platforms with Android 2.3.4 built against GCC 4.6 and running the 3.0 Linux kernel. In this session they will review what’s been done, the Linaro Android concept, how Linaro brings Android together and what their plans are.

This presentation will provide a series of techniques that can be used for Linux embedded systems fine-grain tuning and performances optimization. Embedded systems are, by definition, always limited in terms of resources while people keep on trying to use desktop-oriented software on top of it. This talk will present a series of tips that can be used to actually measure, find and isolate bottlenecks in your system, whether it is by complete system profiling or software architecture optimization. Focus also will be made on the traditional caveats that need to be avoided for your system not to be slow by design.

Android is built on top of Linux, it uses almost none of the components traditionally found in a standard Linux distribution or an embedded Linux system. Can “classic” Linux apps be made to run with or under or on Android? Can such apps be made to “talk” to Android components and vice-versa? Beyond getting the basic BusyBox, glibc and glibc-compiled apps running under Android, this talk will go over some tips and tricks for making classic Linux apps coexist and interact with the Android stack on the same Linux kernel. This presentation is for embedded developers wishing to understand how they can leverage “legacy” Linux and “embedded Linux” applications and software components in an Android environment. It assumes familiarity with Linux and “embedded Linux”. To benefit fully from this presentation, developers should also be familiar with the basics of Android’s internals.

The Yocto Project is a joint project to unify the world’s efforts around embedded Linux and to make Linux the best choice for embedded designs. The Yocto Project is an open source starting point for embedded Linux development which contains tools, templates, methods and actual working code to get started with an embedded device project. In addition, the Yocto Project includes Eclipse plug-ins to assist the developer. This talk gives a walk-through of the key parts of the Yocto Project for developing embedded Linux projects. In addition, features will be described from the latest release of Yocto. At the end of the talk, developers should be able to start their own embedded project using the Yocto Project and use it for developing the next great embedded device.

NFC (Near Field Communication) is a wireless protocol mostly designed for fast information reading and writing from nearby devices and tags. It also allows NFC devices to establish a transport layer link and exchange larger chunks of data. While Android ships with its own multi platform NFC stack writing HCI frames to a raw character device and supporting one single device, Linux is currently missing any kind of generic and clean NFC support, from both kernel and user space. Therefore, a new socket family for NFC, along with a kernel netlink API for high level NFC commands passing is being developed. An NFC user space daemon abstracts those kernel APIs into a high level D-Bus API for applications to easily use. This presentation will show the NFC netlink and D-Bus APIs, the NFC subsystem current status and the further work.

October 27

In recent years, Linux has enjoyed immense success in the embedded market, and we’ve seen an explosion in the number of devices supported by the mainline Linux kernel. Traditionally, however, adding support for another embedded machine typically involved adding yet another board.c file to the kernel which more often than not was simply cut and paste from a similar board. As a result, board support code contains a huge amount of duplication and has become so huge that it is becoming unmaintainable. To move away from individual board files, several architectures have adopted the Device Tree method of encoding the hardware details into a data structure which can be parsed by generic initialization code and device drivers. This session will discuss the current state of Device Tree support in Linux, and will using the device tree to bring up Linux on a new hardware platform.

13:30-14:30 – Linux for In-Car Infotainment by Matt Jones, Technical Lead for the Next Generation of Infotainment systems at Jaguar Land Rover and Vice President of the GENIVI Alliance

This presentation for includes and overview of GENIVI, providing an update on the alliance’s charter and goals, accomplishments, members, leadership, working groups and future plans. Importantly it is then integrated with Jaguar Land Rover’s thoughts and plan for the roll-out of Linux into their vehicles. This includes the presenter’s opinions on high Linux based systems and Automotive processes need to change to work effectively. The GENIVI Alliance’s Linux based open source IVI platform has been broadly and rapidly adopted within the automotive industry. This new platform is driving significant cost reductions and faster development cycles for OEMs’ infotainment systems. Numerous Alliance Member OEMs have GENIVI complaint projects under development with launch dates swiftly approaching. As a result, a new ecosystem to support these solutions has evolved and is growing steadily.

Session 1: Booting the PandaBoard
Learn the basics of running Linux on the PandaBoard. Detailed information on the boot process, kernel features, and debugging options will be covered with hands on experimentation.

Session 2: PandaBoard Expansion I/O
Learn about the basics of utilizing drivers in Linux to perform simple I/O tasks including GPIO communications. The TinCanTools Beacon Board will be used as an example to let you test your ability to control and time signals on your PandaBoard’s expansion port.

Session 3: Booting the PandaBoard
A hands-on introduction on how to hack the Linux kernel wireless subsystem. Learn how to use TI’s WiLinkT WL1271 Wi-Fi chip in the PandaBoard as a tool to help you develop, test and debug your own modifications to the kernel code.

October 28

Last March, the ARM Linux community got shaken by the complaints by Linus Torvalds for its lack of proper structure and organization. This is totally true and mainly due to the large number of different SoC vendors, each one integrating the ARM IP’s in a slightly different variant. Linaro immediately accepted the challenge to drive the kernel alignment of the ARM community and most ARM Linux experts got together and agreed on the way forward as early as May 2011 at the Developers’ summit in Budapest. ST-Ericsson is a founding member of Linaro and some key ST-Ericsson engineers are assigned to Linaro and specifically to this kernel alignment working force. In the speech, it will be described how ST-Ericsson is contributing to this important task and which improvements and benefits are measured when ported onto the Snowball low cost development kit, based on ST-Ericsson Nova A9500 Application Processor.

Systemd is currently being hyped as *the* sysvinit replacement and this presentation will show why it’s here to stay. A brief introduction to systemd will be given but the main focus is on showing how to integrate it into your favourite platform and how a few hours of tweaking can boot userspace into X11 in less than 1 second on the current generation of ARM chips. A comparison with slower low-end ARM chips will also be included and some design considerations when designing those low-end systems. The audience is system integrators and hobbyists that require a fast boot (e.g. robotics people). The talk will be fairly high level with a good chunk of time reserved for Q&A.

While developing Android distributions, 0xdroid and LEB (Linaro Evaluation Build), much has been learned about the development approach to non-traditional open source software model such as Android Open Source Project. This session is expected to share the experience on how 0xlab established the community, contributed to upstream (in unusual ways), and leveraged the strong efforts from Linaro. Also, 0xlab develops a serial of open source projects to ensure overall performance and quality for better user experience.

Although embedded systems are less and less resource constrained, there is still a lot of demand for minimizing the image size, runtime memory usage, and boot time. The firmware, kernel configuration, hardware initialization, boot-time arguments, start-up scripts, and library sizes are all examples of things with a direct impact on your image size and/or boot time. There are several core processes involved with minimizing the size of an image, which has a direct impact on runtime memory usage and boot time. BSP developers will want to attend to learn about these processes and see how to apply them to any BSP. Darren will focus on configuration techniques that get you most of the way there and follow-up with source-level customizations that get you the rest of the way.

Those are just my choices among over 50 sessions. You can check the full schedule to find out which sessions suit you best.