- Location
- Ahmedabad, India
- Department
- Engineering
- Source
- Keka
Description
Key Responsibilities
- Develop and maintain Linux kernel device drivers (character, platform, I2C, SPI, UART).
- Author and debug Device Tree files.
- Port and customize bootloaders (U-Boot).
- Work with build systems such as Yocto and Buildroot, and with cross toolchains.
- Perform board bring-up on ARM / ARM64 platforms.
- Work on kernel internals: interrupts, DMA, memory management, and concurrency/locking.
- Debug using gdb, JTAG, ftrace, printk/dynamic debug, and kernel oops analysis.
- Follow the Git and kernel patch workflow and handle kernel version updates.
- Document designs and follow development processes.
- Collaborate with hardware, QA, and senior engineers, and guide junior team members.
Required Skills
- Linux kernel device drivers: character, platform, I2C, SPI, UART.
- Device Tree authoring and debugging.
- Bootloaders: U-Boot porting and customization.
- Build systems: Yocto / Buildroot and cross toolchains.
- Board bring-up on ARM / ARM64 platforms.
- Kernel internals: interrupts, DMA, memory management, concurrency/locking.
- Debugging: gdb, JTAG, ftrace, printk/dynamic debug, kernel oops analysis.
- Strong C and shell scripting.
- Git and kernel patch workflow, and kernel version updates.
- Good English communication skills and the ability to work effectively in a team.
Good to Have
- SoC experience: NXP i.MX, TI Sitara/Jacinto, Qualcomm, Xilinx.
- Power management (suspend/resume, cpufreq/cpuidle).
- Secure boot / trusted firmware (TF-A, OP-TEE).
- PREEMPT_RT / real-time Linux.
- Upstream kernel contributions.
What We're Looking For
- Strong command of Linux kernel and BSP fundamentals.
- Solid debugging and root-cause analysis skills.
- Ability to work independently and mentor juniors.
- Enthusiasm for developing real-world embedded products.
Skills
LinuxGit