Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
Job Description
- Create boot-able Linux images for our hardware boards.
- Port open source drivers to new kernels.
- Create required device trees.
- Design OS upgrades flow with the help of the software engineering team.
- Help hardware/electronics team in their design choices.
- Optimize OS images for booting time and size.
- Streamline OS images building with the use of CI.
- Build and optimize boot-loaders.
- Select and optimize the installed file system and loaded packages.
Job Requirements
- Computer Engineering degree or equivalent.
- 2+ years’ experience in embedded systems.
- 1+ year experience in embedded Linux.
- Proficiency in Linux administration.
- Excellent skills in customizing Linux kernels for Arm SoCs.
- Proficiency in Linux build system (either Yocto or Buildroot)
- Proficiency in reading and customizing MakeFiles.
- Built kernel drivers before.
- Created complete OS images for a custom hardware board before.
- Customized uBoot before and familiar with its source tree.
- Previous experience with SysFS and RamFS.
- Experience in any source control tools, preferably git.
- Built a custom Debian based OS before.
- Proven experience in security, cryptography, and hashing. (RSA, ECC, DSA, SHA, ...etc)
Additional Experience
- Experience with secure bootloaders is a plus.
- Experience with containers is a plus. Experience with OS update systems is a plus. (Balena, Mender, ...etc)
- Familiarity with blockchain and decentralized technologies is a plus (Ethereum, Bitcoin, IPFS, ...etc).
- Building custom OS for Raspberry Pi or Beaglebone is a plus.
- Familiarity with LUKS file system is a plus.
- Familiarity with FIT image format is a plus.
- Familiarity with TrustZone is a plus.
- Familiarity with uBoot falcon mode is a plus.
- Past contributions to open source projects are a plus.
- Winning or participating in programming contests is a plus.