Linux Board Support Package development

Our engineering team can develop complete Linux Board Support Packages, taking care of supporting all the lower-level aspects of the Linux system for an embedded product. Thanks to this, our customers can stay focused on the development of their specific applications, which are the real value of their product.

We can help in the following areas: bootloader and Linux kernel porting, development of custom device drivers, system integration, boot time optimization, factory flashing and in-field system upgrade, support to application developers.

Bootloader

We have a strong experience working and adapting the U-Boot and Barebox bootloaders for various platforms, as well as other platform-specific bootloaders. See our public contributions to U-Boot and Barebox. We are therefore able to port those bootloaders to specific hardware platforms.

Linux kernel

We can adapt the Linux kernel for custom hardware platforms and write additional Linux device drivers when necessary. We have extensive experience with numerous ARM platforms, especially Marvell, Freescale, Allwinner, Atmel and Texas Instruments, but are able to work on other platforms and architectures as well.

We have specific experience in the kernel subsystems relevant for base platform support (clocks, pin-muxing, power management), NAND, audio, network, graphics, input, industrial sensors, RTC, and more.

We can also help our customers make appropriate hardware choices in order to reduce the amount of development effort needed to use the Linux kernel on a given platform.

When possible, we favor working with the mainline Linux kernel in order to provide high-quality code and long-term updates.

Our team of engineers include several official Linux kernel maintainers: Alexandre Belloni is the maintainer of the RTC subsystem and the co-maintainer of the Atmel processors, Maxime Ripard is co-maintainer of the Allwinner processors and Grégory Clement is co-maintainer of the Marvell EBU processors. We are strong and active contributors to the official Linux kernel, with numerous patches merged in every release.

System integration with embedded Linux build systems

Integrating all the software components needed for an embedded Linux system can be a time-consuming and complex task. Thanks to tools such as Buildroot and Yocto Project, we are able to create highly customized and optimized embedded Linux systems that are fully reproducible and maintainable over the long term.

We have extensive experience with both Buildroot and Yocto Project: our engineer Thomas Petazzoni is an active Buildroot developer and acts as the interim maintainer and our engineer Alexandre Belloni is a maintainer of various platforms in the Yocto Project. See our contributions to Buildroot.

Contact

Contact info@free-electrons.com for more information.