Boot time is an important characteristic for some systems, such as those which must immediately provide a functioning user interface to its users when powered on. Commonly this capability is achieved using a minimal operating system. However, we will discuss how a full-featured Linux-based Qt-powered device can be optimized to reduce boot time by an order of magnitude. The first half of this presentation will uncover the application and Qt level optimizations and the second half of the session will cover the boot loader/kernal strategies with Qt. We will begin to analyze some of the important hardware attributes that influence a system’s boot time.
A Toradex System-on-Module (SoM) will serve as an example platform requiring exploitation to shed precious milliseconds from boot-up. We will take a look at the boot sequence, digging into the boot ROM, U-boot bootloader, Linux kernel & Qt application. Boot time optimization strategies will be shared for each of these links in the boot chain ultimately allowing the typical boot time for a general purpose embedded Linux system to be reduced from 10-20 seconds to 1-2 seconds for a specialized application.