Improving Embedded Systems Boot Time by Hibernation
summary
Describes using Linux software suspend (hibernate to swap) on i.MX8M Mini (Nitrogen board) with Android 9 / kernel 4.14 to turn a cold boot that was ~40s into a resume of ~11–12s by storing a single-image snapshot on eMMC and restoring pages at boot. Covers required kernel and U-Boot patches to handle no-save pages, 64-bit resume assembly and preloading, device driver PM callbacks, problems from closed GPU/HAL blobs, and that secure boot was not exercised.
AI-written summary · about
chapters (14)
- 0:00Intro
- 0:25About Me
- 1:44Agenda
- 3:44Android boot sequence
- 7:30Optimizing Android (cold) Boot
- 12:49Power States
- 14:31Kernel Power Management
- 17:39Work your Drivers PM Ops.
- 20:42Hibernation Flow
- 21:44Restore Flow
- 22:11Android User Space
- 23:56Code once, run just there
- 26:45Single Image Mode on i.MX8MM
- 32:20Integration of swsusp with U-Boot
related talks
48mExtending the swsusp Hibernation Framework to ARM
21mAccelerating Boot Time: Lessons from a New Platform
42mBooting Automotive ECUs Really Fast with Modern Security Features
52mUnlocking the Potential of Suspend to RAM Using Linux in a Multi-Core, Multi-Fi...
33mBoot time optimization for embedded devices
25mReducing Android Boot Times: Evaluating Proactive File Prefetching
48mUnified Boot Time Measurement: A Precise, Scalable Framework for Multi-Processor Systems
34mExtending the SWSUSP Hibernation Framework to ARM
