Bootlin working on the $9 computer!
NextThing Co, a company based in Oakland, California, made the news in the last months by starting a successful crowdfunding campaign to develop a $9 computer! Much like the Raspberry Pi, this $9 computer called C.H.I.P is based on an ARM processor and runs a Linux operating system.
More specifically, at the core of this computer is an Allwinner ARM processor, and Bootlin engineer Maxime Ripard turns out to be the official Linux kernel maintainer for the support of this processor family. Since NextThing Co. is firmly engaged in having software support for the C.H.I.P that is as open-source as possible, they decided to contract us to do a lot of work in the official Linux kernel to improve the support for the Allwinner processor they are using.
Thanks to this project, some of the big missing features in the support of Allwinner processors in the official Linux kernel will be implemented in the coming months, so you can expect to see a lot of contributions from Bootlin on such topics in the future. We’re really excited to be part of the $9 computer adventure!
See our blog post for more details.
As usual, we continue to contribute significantly to the Linux kernel, with 100 to 200 or more patches from Bootlin engineers merged at each kernel release. Our focus continues to be on support for various ARM processor families.
- In Linux 3.19, we had 205 patches merged, making Bootlin the 13th contributing company in number of patches. See details on our 3.19 contributions.
- In Linux 4.0, we had 252 patches merged, making Bootlin the 6th contributing company in number of patches. See details on our 4.0 contributions.
- In Linux 4.1, we had 118 patches merged, a smaller amount of contributions. See details.
Some major highlights of our contributions:
- In Linux 4.0, we merged a complete driver for the display controller of the latest Atmel ARM processors. This DRM/KMS driver, written by Boris Brezillon, allows using the display of those processors with the mainline kernel. It was the last big feature missing in the mainline kernel for the Atmel processors.
- Our engineer Alexandre Belloni was appointed as the co-maintainer of the RTC subsystem, and also as the co-maintainer of the support for the Atmel processors. As the maintainer of the RTC subsystem, Alexandre is now sending pull requests directly to Linus Torvalds!
- In Linux 4.1, we completed the conversion of Atmel platform support to the multiplatform paradigm. And we also added support for the latest Armada 39x processor from Marvell.
New training session on Buildroot
Last year, we developed and released a new 3-day training session on the Yocto Project and OpenEmbedded. This year, we are happy to release a new 3-day training course covering the Buildroot embedded Linux build system.
Buildroot is very popular alternate solution to the Yocto Project to build embedded Linux systems, thanks to its ease of use and Buildroot, with Bootlin CTO Thomas Petazzoni being one of the top contributors to the project.
Over the 3 days of this training course, you will learn how to use Buildroot, how to add more packages, how to customize the filesystem generated by Buildroot, how Buildroot works internally and much more!
This training session, taught by Thomas, can be delivered anywhere in the world at your location, or individual participants can attend to our first public training session on this topic in Toulouse (France) in November 2015.
Besides our visible contributions, we also work on a number of projects for customer-specific platforms.
For a French customer making a custom i.MX6 base-board using a System-on-Module from SECO, we ported a recent mainline U-Boot, a 3.10 Freescale kernel, and provided a Buildroot based system with Qt5 and OpenGL acceleration to allow the customer to develop its own applications. Among other things, we had to add support for communication with an FPGA over SPI, and wrote a userspace tool to reprogram this FPGA over SPI.
This project lead to a few U-Boot contributions (support for the SECO module):
- ARM: mx6: move to a standard arch/board approach
- ARM: iMX: define an IMX_CONFIG Kconfig option
- board/seco: Add mx6q-uq7 basic board support
And a few Buildroot contributions as well:
For a US based customer, developed a prototype system running on a Nitrogen 6x platform, built by Buildroot, and running the SuperCollider application for audio synthesis.
For a French customer, developed a Yocto Project based BSP for a custom i.MX6 platform. The work involved kernel development to adapt to the hardware and run some Qt5 application under X11.
Like we do every year, we participated to the Embedded Linux Conference in San Jose, California: seven engineers from Bootlin attended the conference.
The videos and slides of the three talks we gave have been posted:
- The DMAengine subsystem, by Maxime Ripard (slides, video).
- The Device Tree as a stable ABI: a fairy tale?, by Thomas Petazzoni (slides, video).
- MLC/TLC NAND support: (new ?) challenges for the MTD/NAND subsystem, by Boris Brezillon (slides, video)
For more details about our participation to ELC, see our blob post.
We have submitted several talks for the upcoming Embedded Linux Conference Europe, which will take place early October in Dublin, Ireland.
Upcoming public training sessions
In addition to offer our training courses on-site everywhere in the world (we recently delivered training in the United States, Israel, India and Mexico!), we also offer public training sessions opened to individuals. Our next public training sessions are:
- Embedded Linux training
- October 12-16, in Avignon (France), in English
November 23-27, in Toulouse (France), in French
- Embedded Linux kernel and driver development training
- July 20-24, in Avignon (France), in English
November 16-20, in Toulouse (France), in French
- Embedded Linux development with Buildroot training
- November 30-December 2, in Toulouse (France), in English
- Yocto Project and OpenEmbedded development training
- October 13-15, in Toulouse (France), in English
- Android system development training
- December 7-10, in Toulouse (France), in English
At Bootlin, we are starting to get more and more requests for very cool projects. As it can be very frustrating to turn down very interesting opportunities, we have decided to look for new engineers to join our technical team.
Therefore, if you are a junior engineer showing a real interest in embedded Linux and open-source projects, or an experienced engineer with existing visible contributions and embedded Linux knowledge, do not hesitate to contact us.