Job Title : Linux Kernel Driver Development Engineer
Location : Bangalore
Experience : 5+ Years
Employment Type : Full-Time
Job Summary :
We are seeking a highly skilled Linux Kernel Driver Development Engineer with strong expertise in Linux Kernel Internals, PCIe Driver Development, Device Driver Programming, and System-Level Debugging. The ideal candidate should have hands-on experience in developing, porting, integrating, and debugging complex kernel drivers for embedded Linux platforms.
This role requires deep understanding of Linux kernel architecture, memory management, interrupts, DMA, PCIe subsystems, boot flow, and low-level hardware-software interaction. The candidate will work closely with firmware, hardware, validation, and platform teams to deliver production-quality Linux driver solutions.
Key Responsibilities :
- Design, develop, enhance, and maintain Linux Kernel Device Drivers.
- Develop and debug PCIe, Ethernet, Audio, Video, Graphics, Display, MIPI, and DMA drivers.
- Perform Linux kernel customization, driver porting, and kernel migration activities.
- Work extensively with Linux kernel internals including :
- Memory Management
- Scheduler
- Interrupt Handling
- NAPI
- Polling Mechanisms
- Process Management
- Analyze and debug kernel panics, crashes, memory leaks, boot issues, and performance bottlenecks.
- Develop and maintain kernel modules and platform drivers.
- Perform root cause analysis for hardware, firmware, kernel, and driver-related issues.
- Work on Linux boot flow, Device Tree configuration, BSP customization, and platform bring-up.
- Collaborate with hardware and firmware teams during board bring-up and validation phases.
- Participate in code reviews, debugging sessions, and technical discussions.
- Contribute to performance optimization and reliability improvements of Linux driver stacks.
- Work closely with customer and validation teams to resolve critical production issues.
Mandatory Skills :
- Linux Kernel Development, Linux Kernel Programming, Linux Device Driver Development, Kernel Module Development, Kernel Internals, Kernel Debugging.
- Driver Development (Any One Domain) : PCIe Driver Development, Ethernet Driver Development, Graphics Driver Development, Multimedia Driver Development, Video Driver Development, Audio Driver Development, Display Driver Development, MIPI Driver Development.
- Linux Graphics Stack : DRM/KMS, OpenGL, Vulkan, Mesa.
- Multimedia Stack : V4L2, VAAPI, GStreamer.
- Audio Stack : ALSA, ASoC, Audio DSP, I2S, TDM.
- System Programming : C Programming, Linux System Programming, IPC, DMA, Synchronization Mechanisms, Multithreading.
Preferred Skills :
- Yocto Build System, BSP Development, Open Source Contributions, Virtualization Technologies, Linux Performance Analysis, Secure Boot, Power Management, ARM Architecture, Embedded Linux.
Debugging Expertise :
- Candidates must have hands-on experience with : Kernel Panic Analysis, Crash Dump Analysis, Boot Flow Debugging, Memory Corruption Analysis, Race Condition Debugging, Interrupt Latency Analysis, Performance Profiling.
- Debugging Tools : GDB, KGDB, ftrace, perf, trace-cmd, SystemTap, Lauterbach, JTAG.
Nice to Have :
- Linux Community Contributions, Upstream Driver Development, Hypervisor Exposure, Real-Time Linux Experience, Automotive or Embedded Domain Experience.