GPTW 2025-26

Embedded / 3-6 Years

Linux Device Driver Engineer

Bengaluru

Job Summary

We are looking for a skilled Linux Device Driver (LDD) Engineer to join our embedded systems team. The ideal candidate should have strong experience in Linux kernel programming, device driver development, and hardware-software integration. You will be responsible for designing and implementing kernel-mode drivers and low-level software to interface with a variety of hardware components across custom Linux platforms.

Key Responsibilities:

  • Design, develop, and maintain Linux kernel modules and device drivers
  • Work with I2C, SPI, UART, GPIO, PCIe, USB, and other peripheral interfaces
  • Perform board bring-up and integrate new hardware platforms into Linux
  • Develop and configure Device Tree, platform drivers, and user-kernel interface
  • Debug kernel panics, hardware faults, and interface-level issues using tools like dmesg, kgdb, ftrace, perf, etc.
  • Optimize driver performance, power usage, and boot time
  • Collaborate closely with hardware, board design, and application teams
  • Contribute to Linux kernel upstreaming (optional based on role)
  • Maintain kernel logs, configuration, and build scripts (Makefiles, KConfig)
  • Participate in Linux OS upgrades, BSP customization, and security patching

Required Skills and Qualifications:

  • 3–6 years of hands-on experience in Linux kernel and device driver development
  • Strong knowledge of Embedded C, Linux system calls, memory management, and interrupt handling
  • Proficiency with Device Tree Source (DTS) and platform driver model
  • Familiarity with Yocto, Buildroot, or custom Linux build systems
  • Experience with debugging tools: gdb, strace, ftrace, kgdb, JTAG, logic analyzers
  • Comfortable working in cross-compilation and embedded toolchains
  • Solid understanding of hardware schematics, registers, and datasheets

Preferred Qualifications:

  • Exposure to real-time Linux (PREEMPT_RT) or hard real-time environments
  • Experience in power management, suspend/resume flows, and thermal management
  • Familiarity with U-Boot, bootloaders, and kernel bring-up
  • Experience with Yocto Project, OpenEmbedded, or Android kernel drivers
  • Contribution to open-source/Linux kernel communities is a plus

Education:

Bachelor’s or Master’s degree in Electronics, Electrical, Computer Engineering, or a related field