Linux BSP Experience
3-4
Gujarat
Full-Time
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.
Required Skills
SW: Build System: Yocto
SW: AOSP or Android BSP
SW : Programming Languages (C/C++/Java any)
SW: Serial Communication Protocols: SPI, I2C, UART, CAN, USB
Apply for this job
Share with someone awesome
View all job openings