A Pragmatic Guide to Boot-Time Optimization
summary
A practical, measured route from a 11.76s BeagleBone Yocto+systemd boot to ~2.8s by changing userland order, kernel and u-boot behavior: capture timestamps with grabserial, visualize services with bootchart and kernel init with bootgraph; add quiet to kernel to save ~1s, remove Btrfs from the kernel to save ~2s, set U-Boot bootdelay=0 to drop 2s, shrink kernel/config to save ~3s, and use a custom early-start script (or Falcon mode) to start the QT app earlier.
AI-written summary · about
chapters (22)
- 0:00License
- 0:11About Chris Simmonds
- 0:45Overview
- 2:49Where it all goes wrong
- 4:21Example system
- 5:11Measuring boot time
- 10:09Baseline measurement
- 11:08Reducing user-space boot time
- 12:24Measuring init boot time using Bootchart
- 14:35Optimizing userspace
- 16:58Running the app as init
- 17:56First pass
- 18:24Reducing kernel boot time
- 20:24Measuring kernel boot time: Bootgraph
- 22:45Second pass
- 23:50Reducing bootloader boot time
- 24:57Remove boot delay
- 26:09Simplify boot scripts
- 27:19Falcon mode
- 30:01Third pass
- 32:35Keep it up!
- 33:48Conclusion
related talks
53mReducing the boot time of Linux devices
37mAccelerating Linux Boot Time: Techniques and Strategies for Optimal Performance
38mWe Need to Talk About Systemd: Boot Time Optimization for the New init daemon
43mAccelerated Porting of Linux, U-Boot and Yocto for Production Ready Emb...
53mReal-World Yocto: Getting the Most out of Your Build System
01h 45mDebootstrapping Embedded Linux Root Filesystems - Building and Optimization for the...
26mLTTng for full stack tracing
45mLinux Boot: The Big Bang theory
