Speaker
Description
Boot time plays an important role in defining the user experience of a product, the more time it takes in getting the device into action the quicker it is pulled out of the stands.
Linux & it’s stacks can be tweaked to boot as quickly as possible but the challenge is beyond just optimizing the flow – it gets into defining the use cases to go after – to – productizing these features and deploying in test farms and delivering to customers.
In this session I would like to share with you the challenges of optimizing boot time and productizing these optimizations.
Problem 1 : Identifying those minimum & complicated Fixed Functions : (should be optimized by default)
Examples:
- Authentication : Best possible authentication of Image.
- Boot media : OSPI NAND / NOR fetch, eMMC reads, etc.
- Power : Resume latency, suspend latency.
Problem 2: Tweaking the flow for individual Use cases (individual) :
Examples:
- Early Audio
- Early Display with Graphics.
- Early Ethernet, CAN
Problem 3: Dealing with Combined Use cases (combo) :
Examples:
- Networking + Display
- Networking + Camera + decode / encode
- Audio + Display
Problem 4 : Accelerated with MCU cores and Linux late attach (Late attach) :
Examples:
- Early display and taken over by A core after boot
- Early audio from boot loader and control taken over by Linux post boot.
Problem 5: Packaging & Delivery of optimizations
Examples :
- Document with build and reproducible steps ? where to host such documentation ?
- wic image on yocto ? with bbappend patches ?
Problem 6: Maintenance & long term support
- Moving along with kernel versions and file system revisions.
- Test automation possibilities ( how to ensure tweaks can be deployed in farm)