i.MX8 Coral Dev Board

Boot Time Reduction

It’s often desirable to achieve minimal boot times on embedded devices, especially devices that are battery powered or must be highly available. Unfortunately, owing to the increasing complexity of hardware and software, as well as the general purpose nature of Linux, it’s often a difficult requirement to meet and maintain.

As the Good Penguin has extensive experience in reducing boot time (with the founder having experience dating back 15 years), we wanted to provide a demonstration of our expertise. We previously used an i.MX8 based development board to demonstrate how we could perform hardware accelerated image classification (a ‘Tux Mascot Detector’), so we used this as our starting point for a demonstration in reducing boot time. You can read more about our image classification demo in the following blog post:

The i.MX8 based hardware captures video from the camera and performs image classification to determine if the object in view is the Linux Tux Mascot or something else. An OLED display indicates what has been detected, along with LED traffic lights signals green if Tux has been detected. When the reset button is pushed the board resets and a cold boot occurs. The OLED and display illuminate as soon as the first inference has been performed, which takes approximately 20 seconds.

Our Work

We used our experience and expertise to carefully examine the software flow in a cold boot, identify inefficiencies and optimise them out. We’ve amassed a wide range of tools and knowledge to help us identify inefficiencies, including our own software that allows us to quickly identify inefficiencies we’ve previously seen.

Typically we’ll remove software features that are not required (thus specialising the software to a single purpose) and optimise the software features that are required. If there is functionality that is required, but not immediately on boot, then we may also reorder the initialisation of software.

You can read more about this optimisation work in the following post:


Services Performed
  • Distribution Development: Yocto on i.MX 8M
  • Application Development: Tensorflow Lite, OpenCV, MobileNet CNN
  • Optimisation: Linux Boot time


A Successful Outcome

After a few weeks of work, we successfully reduced the boot time by 90%, from 19.6 seconds down to 1.9 seconds. You can watch a demo of the optimised boot time in our video below.

For more information on how we can support you with boot time reduction, please see our Boot Time Reduction Services page.

Find out More

The Good Penguin

Reach out to us to find out how we can assist you.
Contact Us