Revision as of 06:15, 14 February 2013 by ThomasPetazzoni (Talk | contribs) (Improve support of ARM SoC multimedia features)

Jump to: navigation, search

Ideas for the GSoC 2013 on Buildroot

Improve support of ARM SoC multimedia features

Buildroot as an embedded Linux build system, has had support for the ARM architecture pretty much since its creation, and Buildroot is used by a number of companies and hobbyists to build embedded Linux systems that run on ARM platforms.

A number of the modern ARM processors (so called SoC, for System-on-chip) have advanced multimedia features, like OpenGL acceleration, OpenVG acceleration, accelerated video encoding or decoding features (either through dedicated hardware units or DSPs). For example, the OMAP processors from Texas Instruments (used on the BeagleBoard, PandaBoard and BeagleBone), the i.MX processor from Freescale, the BCM2835 from Broadcom (used on Rasberry Pi) all offer such multimedia features. Using those multimedia features require specific libraries provided by the different processor vendors, and Buildroot is currently lacking packages to integrate those specific libraries. They are usually not trivial to integrate, because the libraries provided by the processor vendors often use uncommon build systems, have bizarre dependencies and so on. However, getting the support for those libraries in Buildroot is very important so that Buildroot users can fully benefit from the multimedia features of their hardware.

The Buildroot project will use the $500 provided by Google to the mentoring organization to provide 2 or 3 hardware development boards to the student. The GSoC will then be approximately be split in the following steps, for each platform:

  • Get used to the platform (get a working kernel and minimal userspace)
  • Investigate the libraries provided by the processor vendor to use the multimedia features, and make experiments to get them working
  • Create proper Buildroot packages to allow other users to easily integrate those libraries in their embedded Linux systems.
  • Get some packages accepted upstream in the official Buildroot Git repository, by going through the traditional patch submission/review process.

Skills required:

  • Basic Embedded Linux knowledge (basics of cross-compilation, building/configuring a kernel, etc.)
  • Basic understanding of multimedia features (OpenGL, OpenVG, video acceleration)

Improve Blackfin support

Blackfin is a DSP architecture designed by Analog Devices, and the most powerful Blackfin DSP are capable of running Linux. In the past, Analog Devices was using the uClinux-dist build system, but has now switched to using Buildroot as their official build system, which is a really good thing. Unfortunately, they have done this as a fork of the official Buildroot rather than contributing their changes back to the original project.

While the official Buildroot project has minimal support for Blackfin, the idea of this GSoC is to reintegrate back into the official Buildroot many of the improvements made by Analog Devices. This involves improvements in Buildroot packages (to support their use in non-MMU environments, since the Blackfin DSPs don't have MMUs), but also some more core changes in Buildroot.

The Buildroot fork from Analog Devices is visible at [1].

The $500 provided by Google to the mentoring organization will be used to provide the student with a Blackfin hardware development board.

Skills required:

  • Basic Embedded Linux knowledge.
  • A minimal knowledge of Buildroot is a plus.

Improve testing infrastructure