Yocto Kernel - Embedded Linux Engineer
Location & Work Model
· On-site: Andover, MA
Position Overview
We are seeking an experienced Yocto Kernel / Embedded Linux Engineer to design, develop, customize, and maintain embedded Linux platforms for our next-generation products. The ideal candidate will have deep expertise in the Yocto Project, Linux kernel customization, BSP development, and low-level system debugging.
Key Responsibilities
· Develop, configure, and optimize Yocto-based Linux distributions for embedded platforms.
· Customize and maintain Linux kernel, including patching, driver integration, and board-specific configuration.
· Create and manage BSP layers, recipes, and meta-layers for various hardware platforms.
· Integrate and maintain device drivers (I2C, SPI, UART, GPIO, etc.) and ensure hardware–software compatibility.
· Debug system-level issues using tools such as GDB, strace, perf, ftrace, and kernel logs.
· Support bootloader (U-Boot) configuration, customization, and optimization.
· Collaborate with hardware, firmware, and application teams to ensure seamless system integration.
· Conduct performance tuning, system profiling, and memory optimization for embedded targets.
· Ensure security best practices, including secure boot, trusted execution, and Linux hardening.
· Prepare technical documentation, build instructions, and release notes.
Required Skills & Qualifications
· Bachelor's or Master's in Electrical Engineering, Computer Engineering, Computer Science, or related field.
· 3–8+ years of hands-on experience in embedded Linux development.
· Strong expertise in the Yocto Project, BitBake recipes, layers, and cross-compilation.
· Solid understanding of Linux kernel internals, configuration, customization, and debugging.
· Experience writing or modifying Linux device drivers.
· Proficiency with embedded toolchains, build systems, and version control (Git).
· Experience with bootloaders (U-Boot) and board bring-up.
· Strong knowledge of hardware interfaces (I2C, SPI, GPIO, PCIe, USB, etc.).
· Fluent in C/C++ and shell scripting.
· Hands-on experience with ARM-based or similar embedded architectures.
Preferred / Nice-to-Have Skills
· Experience with Yocto-based CI/CD pipelines.
· Knowledge of real-time patches (PREEMPT_RT).
· Familiarity with virtualization or container technologies (Docker, LXC) for embedded use.
· Exposure to security frameworks (SELinux, AppArmor).
· Understanding of OTA update frameworks (Mender, SWUpdate).
· Knowledge of networking stacks (TCP/IP, IPv6) and protocol debugging.
Soft Skills
· Strong problem-solving and root-cause analysis ability.
· Excellent communication skills and ability to work in cross-functional teams.
· Ownership mindset and ability to work independently.
· Strong documentation and organizational skills.