I discovered that there is an internal startup in the company related to video surveillance. And since it involves video surveillance, there are IP cameras with Linux on board. I gathered more information, met the team, and went through an internal interview. After a while, I started handling system tasks with Linux: my goal was to create a Linux firmware. It was the time of soldering irons and reverse engineering when you needed to figure out how to launch the Linux kernel on new hardware. Mostly, I worked with the Uboot bootloader source code, Linux kernel source code, and wrote some system software in C responsible for device initialization. Activities:- Started to work as Linux Firmware engineer for vanilla Linux + U-boot porting to IPC cameras - Learned how to use buildroot, yocto and other firmware building systems - Learned how to write simple kernel modules and edit existing - Learned how to reverse-engineered and reproduce firmware based on U-boot + Linux - Learned a lot new about Linux kernel internals |
Used: Linux, Buildroot, U-boot, Shell, C, Docker |
Main achievements: Ported software to ~30 versions of Linux kernel and U-boot Helped to built build-system for Linux and U-Boot based on buildroot Improved quality of code in firmwares Improved as Linux engineer Shared knowledge with colleagues |