Grégory Clement

Grégory Clement

Gregory is an embedded Linux, kernel and realtime engineer at Bootlin, which he joined in 2010. Gregory started using GNU / Linux in 1998. Since 2002, he has acquired vast on the field experience in porting and operating embedded Linux, in particular for industrial and transportation customers. Since 2012, Gregory has also been actively involved in upstreaming support for SoCs (ARM, ARM64, MIPS64) within the Linux kernel, further enhancing his expertise in the field.

Linux Kernel experience

Gregory has vast experience working with the Linux kernel:

  • Gregory is one of the official maintainers of the mvebu ARM (and ARM64) sub-architectures (from Marvell Semiconductors). See his contributions to the official Linux kernel sources.
  • He worked directly for several silicon vendors. He was involved in the Linux kernel port of the first 32 bit ARM CPU of a silicon vendor. He was also the Linux system architect for a new reference platform for another silicon vendor.
  • He has ported the Linux kernel to many customer boards, based on various CPUs, mainly ARM from ARM9 to CortexA72, but also soft cores such as the NIOS on Altera FPGA, some PowerPC, MIPS, MIPS64 and some x86.
  • He developed or optimized numerous device drivers. Most of them were drivers for common controllers in embedded devices: UART, I2C, SPI, Ethernet, Nand Flash, LCD, Video, USB, SD/MMC. Some others were related to field buses such as CAN, MVB or FIP and the remaining ones were for very specific customer devices embedded in FPGAs or using DMA. As a Marvell maintainer, he developed most of the SoC support drivers, including clock, pinctrl, irq, as well as SMP and power management.
  • He performed multiple training sessions of our Embedded Linux kernel and driver development course.
  • He also played a role in supporting very low-power ‘suspend to RAM’ for a 64-bit ARM SoC in the automotive sector.
  • He participates to several technical mailing lists about the Linux kernel.
  • He also gave various presentations:
    • Live Embedded Event 2022: AMP on Cortex A9 with Linux and OpenAMP: Slides
    • Kernel Recipes 2018: Overview of SD/eMMC, their high speed modes and Linux support:
      Video
    • ELCE 2017: SD/eMMC: new speed modes and their support in Linux: Video
    • ELCE 2016: ARM64 SoC Linux support check-list: Video
    • ELCE 2015: Kernel Maintainership: An Oral Tradition: video lost, Slides
    • ELC 2014: SMP Bring Up On ARM SOCs: Video
    • ELCE 2013: Common Clock Framework: How To Use It: Video
    • ELC 2013: Common Clock Framework: How To Use It: Video

Embedded Linux experience

Gregory’s wide experience with embedded Linux system development is related to his many kernel projects on many different embedded hardware architectures, but not only:

  • Making the Linux kernel work on multiple types of embedded Linux filesystems, and dealing with countless types of hardware devices.
  • Developing and testing the software stacks related to the projects porting Linux to customer platforms.
  • Doing regression testing and performance testing on customer systems at each new kernel release.
  • Doing extensive benchmarks with real-time solutions for Linux on Atmel AT91 ARM SoCs, comparing the results obtained with PREEMPT_RT and Xenomai, and investigating issues on this platform. See his report.
  • Supporting customers doing general embedded Linux development work.
  • Developing embedded root filesystems with OpenEmbedded and Yocto (see a blog post sharing his experience).
  • Contributeng to numerous bootloader such as barebox and U-Boot. For U-Boot, he added support for a family of MIPS-based SoCs. See his contributions to the official U-Boot sources.
  • Delivering many sessions of our Embedded Linux course throughout the world.

As a trainer, Gregory is always keen to ensure that everyone gets the best of their practical labs, and always gets very good evaluations from participants.

Back to the Bootlin staff page.