{"id":1576,"date":"2020-06-16T07:33:24","date_gmt":"2020-06-16T07:33:24","guid":{"rendered":"http:\/\/stage.wizzdev.pl\/?p=1576"},"modified":"2022-03-10T15:03:58","modified_gmt":"2022-03-10T15:03:58","slug":"embedded-linux-boot-time-optimization-for-a-custom-application","status":"publish","type":"post","link":"https:\/\/stage2.wizzdev.pl\/blog\/embedded-linux-boot-time-optimization-for-a-custom-application\/","title":{"rendered":"Embedded Linux boot time optimization for a custom application"},"content":{"rendered":"

Embedded systems have been a popular topic for a long time, therefore we decided to share some insight into one of our applications. According to Wikipedia, an embedded system is a computer system – a combination of a computer processor, computer memory, and input\/output peripheral devices – that has a dedicated function within a larger mechanical or electrical system.<\/p>\n

This blog post aims to describe the process of developing a simple Python application to control the hardware, along with optimization of the boot time. For all of this, we used a build system – Yocto. It allows building a fully functional system, including bootloader, DTB (device tree), Linux kernel, root file system (with required apps) and a custom app as a service.\u00a0<\/span><\/p>\n

The boot time here is understood as the time from plugging the power connector to observing a blinking LED. <\/span>Boot process includes<\/b> (in short):<\/span><\/p>\n