All you need to know to make Linux boot faster on your embedded Linux system.
Overview
By default, the embedded Linux systems that you build with Yocto or Buildroot are not optimized for fast boot time. The kernel, the bootloader and the way the system starts are still based on standard settings, some of which are not used in your system.
This course will show you techniques for identifying the biggest time consumers in all parts of the system, from the bootloader, to the kernel, the filesystem, the init manager, the system services and your own applications.
It will also show you how to implement your boot time optimizations when your system is built with the Yocto Project. Systems built with Buildroot will be covered too.
Root Commit uses progressive but challenging practical labs and varying techniques to make the learning always stimulating and fun, and above all to make it stick.
Description
- Duration: 3 days – 24 hours (in-person), 5 half-days – 20 hours (on-line)
- Mix: 25% lectures, 75% practical labs
- Language: English or French
- Location: In-house (all continents) or remote
- Trainer: Michael Opdenacker
- Hardware: Beagle Play (TI Sitara AM625 ARM 64 SoC) or BeagleBone Black (TI Sitara AM3358 ARM 32 SoC)
- Prerequisites: familiarity with the Linux command line, understanding low-level details about Embedded Linux.
- Cost: Ask for a quote
Agenda
Day 1 – Methodology, measuring time, toolchains
- Demo: how quickly Linux can boot on another board.
- Boot time optimization principles.
- Building a new system using the Yocto Project.
- How to measure time.
- Toolchain optimizations.
Day 2 – Application, system initialization, filesystem and kernel optimizations
- Application optimizations.
- System initialization optimizations.
- How to boot faster while keeping systemd.
- Filesystem optimizations.
- Kernel optimizations.
Day 3 – Kernel and bootloader optimizations
- Kernel optimizations (continued).
- Bootloader optimizations – Using U-Boot’s Falcon mode.
- Storage optimizations.
- Wrap up: Yocto Project resources for booting faster.
- Wrap up: final results.
FAQ
Q: Can this course help me to boot my PC faster?
A: Not really if you’re using a standard GNU/Linux distribution (Debian, Ubuntu, Suse, Red Hat…), because you have fewer possibilities to optimize the system without breaking the distribution. This course really targets custom built systems.
Q: Can the practical labs be run on the CPU that my project uses?
A: The Linux kernel provides the same mechanisms for all types of hardware, so what you learn on another platform will apply on other ones as well. However, porting our practical labs to different hardware should be possible if you are ready to accept additional preparation costs.
See also our FAQ for all types of courses and our sustainability efforts.