EMB-220 · Embedded Linux & BSP

Init Systems & Fast Boot

systemd and the alternatives, plus measuring and cutting boot time to a target.

Practitioner 2 days in person4 half-days online Max 14 in person

Who this course is for

Embedded engineers who must pick an init system and hit a boot-time number — product teams with a hard requirement like 'UI in under five seconds' and a distaste for unmeasured claims.

Prerequisites

Linux userspace fundamentals: processes, services, rc scripts or unitsAn embedded build system (Yocto or Buildroot) at user levelSerial console access for the hardware measurement lab

Course outline

Day 1 — Init systems in production

  • What PID 1 must do and what it is not for
  • systemd: units, targets, dependencies and socket activation
  • Debugging systemd boot: systemctl, journald and the critical chain
  • BusyBox init and minimal alternatives: what you gain and what you maintain yourself
  • Choosing per product: footprint, features, updates and team skill

Day 2 — Measuring and cutting boot time

  • A measurement discipline: define the moment 'booted' means, then measure it
  • systemd-analyze, bootchart and serial timestamping with grabserial
  • Kernel-side cuts: initcall_debug, deferred probing, modules vs built-in
  • Userspace-side cuts: ordering, socket activation, precomputation
  • Meeting a hard target without breaking updates or maintainability

Hands-on labs

Labs follow the academy model — 35% principles, 20% guided investigation, 45% engineering studio. Every claim you make in a lab is backed by a trace, a counter or a measurement you captured yourself. How we teach

  1. Lab: Convert a shell-script service to a systemd unit with correct dependencies, then break a dependency and read the failure
  2. Lab: Socket-activate a service and measure the ordering change it produces in the critical chain
  3. Lab: Capture a boot timeline three ways — systemd-analyze, bootchart and grabserial on the lab board — and reconcile them
  4. Lab: Cut a measured chunk of boot time using kernel and userspace techniques, keeping a before/after evidence log
  5. Lab: Build the same rootfs with BusyBox init, and document what you had to re-implement by hand

Capstone project

Take a provided image with a stated boot-time target to a working result: define the 'booted' event, measure with two independent methods, apply kernel and userspace reductions in order of evidence, and deliver the tuned image with a before/after timeline and a written account of every change that mattered — and every change that did not.

What you leave with

  • Systemd unit, target and socket-activation skills
  • A defensible init-system choice for your product
  • Three boot-time measurement methods and when they disagree
  • An ordered toolbox of kernel and userspace boot reductions
  • The habit of optimising boot only against measured evidence

How it runs

Every course follows the same model: 35% principles, 20% guided investigation, 45% engineering studio. You leave with working code, raw measurements and an evidence-based report — not a certificate of attendance. Read the methodology or see a full sample lesson.

Material is adapted to your kernel version, hardware and workload before a private delivery. For public cohorts, the environment is provided and configured.

Questions

Who is this course for?

Embedded engineers who must pick an init system and hit a boot-time number — product teams with a hard requirement like 'UI in under five seconds' and a distaste for unmeasured claims. It sits at practitioner level within the Embedded Linux & BSP track.

What do I need to know already?

Specific prerequisites for this course: Linux userspace fundamentals: processes, services, rc scripts or units; An embedded build system (Yocto or Buildroot) at user level; Serial console access for the hardware measurement lab. We confirm levels before the cohort starts and adapt if a group is stronger or weaker than expected.

Can this run privately for my team?

Yes. Any course runs on-site at your offices anywhere, or live online for a distributed team, with labs adapted to your hardware and codebase.

What is the difference between in-person and online?

In person is 2 full days with hardware on your desk, capped at 14. Online is 4 half-day sessions across about two weeks so you can keep working, capped at 20, with remote lab access.

Do you invoice companies?

Yes. Purchase orders are accepted and invoicing is available in USD, EUR, GBP, SAR and CAD.

Upcoming dates

DatesWhereSeatsEarly birdRegular
1 Nov – 2 Nov 20262 full days RiyadhIn person · KAFD Conference Centre 4 of 14 —SAR 5,250
8 Nov – 9 Nov 20262 full days Kuwait CityIn person · Al Hamra Tower 9 of 14 KWD 390until 9 OctKWD 430
8 Nov – 9 Nov 20262 full days MuscatIn person · Knowledge Oasis Muscat 4 of 14 OMR 490until 9 OctOMR 540
15 Nov – 18 Nov 20264 half-days Gulf bandLive online · 09:00–13:00 GMT+3 16 of 20 US$900until 16 OctUS$1,000
16 Nov – 17 Nov 20262 full days OttawaIn person · Kanata North Tech Park 9 of 14 CAD 1,710until 17 OctCAD 1,900
23 Nov – 24 Nov 20262 full days TorontoIn person · MaRS Discovery District 4 of 14 CAD 1,710until 24 OctCAD 1,900
23 Nov – 24 Nov 20262 full days LondonIn person · Shoreditch Works 9 of 14 GBP 980until 24 OctGBP 1,090
23 Nov – 26 Nov 20264 half-days Europe bandLive online · 09:00–13:00 CET 5 of 20 US$900until 24 OctUS$1,000
23 Nov – 26 Nov 20264 half-days Americas bandLive online · 13:00–17:00 ET 10 of 20 US$900until 24 OctUS$1,000
30 Nov – 1 Dec 20262 full days BerlinIn person · Factory Görlitzer Park 4 of 14 EUR 1,160until 31 OctEUR 1,290

Dates shown for the next few months. If nothing fits, tell us where and when — cohorts are added on demand, and private delivery can be scheduled any week.

More in Embedded Linux & BSP

EMB-1014 days Yocto Project Fundamentals BitBake, layers and recipes, from a first build to an image you would actually ship. Practitioner Practitioner-taught SAR 10,500Next 15 Nov EMB-1104 days Custom BSP Layers Writing a board support layer from scratch: machine configuration, kernel recipe, bootloader and device tree. Advanced Practitioner-taught SAR 12,000Next 25 Oct EMB-1203 days Buildroot in Practice The lighter alternative to Yocto: when Buildroot is the right call and how to use it well. Practitioner Practitioner-taught SAR 7,880Next 11 Oct EMB-2013 days U-Boot Porting & Customisation The bootloader layer: board bring-up, environment, boot scripts and recovery paths. Advanced Practitioner-taught SAR 9,000Next 18 Oct EMB-2103 days Secure Boot & Chain of Trust Establishing and maintaining a verified boot chain from ROM to userspace, including key management reality. Advanced Practitioner-taught SAR 9,000Next 15 Nov EMB-3013 days Read-Only Rootfs & OTA Updates Update strategies that survive power loss in the field, and the filesystem layout that makes them possible. Practitioner Practitioner-taught SAR 7,880Next 8 Nov EMB-3102 days SBOM & Licence Compliance Producing a defensible software bill of materials and meeting open source licence obligations — now a regulatory matter, not just good practice. Practitioner Practitioner-taught SAR 5,250Next 25 Oct EMB-3202 days Long-Term Maintenance Strategy Keeping a shipped product secure and buildable for a decade, which is where most embedded programmes fail. Advanced Practitioner-taught SAR 6,000Next 22 Nov