EMB-110 · Embedded Linux & BSP

Custom BSP Layers

Writing a board support layer from scratch: machine configuration, kernel recipe, bootloader and device tree.

Advanced 4 days in person8 half-days online Max 14 in person

Who this course is for

BSP and platform engineers who must turn a vendor's scattered kernel, bootloader and device tree into a single Yocto layer that boots — and survives the next Yocto upgrade.

Prerequisites

EMB-101 or equivalent working Yocto experienceKernel configuration and device tree basicsSerial console experience on real hardware (lab boards provided)

Course outline

Day 1 — Machine configuration

  • Anatomy of a machine .conf: what must be set and what is inherited
  • MACHINE_FEATURES and MACHINE_ESSENTIAL_EXTRA_* and what they actually change
  • Tune files, DEFAULTTUNE and ABI selection
  • Choosing kernel and bootloader providers with PREFERRED_PROVIDER
  • A minimal machine that parses and builds

Day 2 — The kernel inside the layer

  • linux-yocto style recipes vs a plain custom kernel recipe
  • Defconfig handling and configuration fragments
  • Patch management: SRC_URI patches, devtool and the patch queue
  • Out-of-tree kernel modules as layer recipes
  • Kernel version policy: tracking a vendor tree vs tracking LTS

Day 3 — Bootloader and image assembly

  • U-Boot recipes, machine-specific configuration and SPL artifacts
  • Device tree handling: kernel DTBs, U-Boot DTBs and overlays
  • WIC and .wks kickstart files: partition layout as code
  • Image fstypes and what the bootloader actually loads
  • Signing hooks and where image assembly can be extended

Day 4 — Layer hygiene for the long term

  • LAYERSERIES_COMPAT and the layer index
  • Separating BSP, DISTRO and product policy into different layers
  • CI for layer builds: what to build and how often
  • Upgrade rehearsal: moving a layer to the next Yocto LTS
  • Documenting a BSP so the next engineer does not call you

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: Create meta-labboard with bitbake-layers, write a machine .conf for the lab board and get a first image building
  2. Lab: Integrate a custom kernel: defconfig fragment plus one patch, verified in the final .config and on the booted board
  3. Lab: Wire U-Boot into the layer and assemble a WIC image whose partition layout matches the board's boot requirements
  4. Lab: Boot the assembled image on the lab board to a network login, capturing the serial log as evidence
  5. Lab: Run an upgrade rehearsal: point the layer at a newer release, fix what LAYERSERIES_COMPAT and parsing surface, and record the delta

This course uses lab hardware. In-person cohorts get boards on the desk; online cohorts get remote board access over SSH and JTAG.

Capstone project

Deliver a complete BSP layer for the lab board: machine configuration, kernel recipe with fragment-managed config, bootloader integration and a WIC image that boots to networked userspace on real hardware — with the layer repository, pinned revisions, image manifest, serial boot log and a README sufficient for a stranger to reproduce the build.

What you leave with

  • A bootable BSP layer you built from scratch, on hardware
  • Machine, kernel and bootloader recipe patterns you can reuse
  • WIC partition layouts and image assembly under your control
  • A structure for BSP vs distro vs product layers that survives upgrades
  • A documented upgrade-rehearsal method for the next Yocto release

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?

BSP and platform engineers who must turn a vendor's scattered kernel, bootloader and device tree into a single Yocto layer that boots — and survives the next Yocto upgrade. It sits at advanced level within the Embedded Linux & BSP track.

What do I need to know already?

Specific prerequisites for this course: EMB-101 or equivalent working Yocto experience; Kernel configuration and device tree basics; Serial console experience on real hardware (lab boards provided). 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 4 full days with hardware on your desk, capped at 14. Online is 8 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
25 Oct – 28 Oct 20264 full days RiyadhIn person · KAFD Conference Centre 12 of 14 —SAR 12,000
1 Nov – 4 Nov 20264 full days Kuwait CityIn person · Al Hamra Tower 7 of 14 —KWD 990
8 Nov – 11 Nov 20264 full days MuscatIn person · Knowledge Oasis Muscat 12 of 14 OMR 1,110until 9 OctOMR 1,230
8 Nov – 17 Nov 20268 half-days Gulf bandLive online · 09:00–13:00 GMT+3 16 of 20 US$2,070until 9 OctUS$2,300
9 Nov – 12 Nov 20264 full days OttawaIn person · Kanata North Tech Park 7 of 14 CAD 3,920until 10 OctCAD 4,350
16 Nov – 19 Nov 20264 full days TorontoIn person · MaRS Discovery District 12 of 14 CAD 3,920until 17 OctCAD 4,350
16 Nov – 25 Nov 20268 half-days Europe bandLive online · 09:00–13:00 CET 5 of 20 US$2,070until 17 OctUS$2,300
23 Nov – 26 Nov 20264 full days LondonIn person · Shoreditch Works 7 of 14 GBP 2,250until 24 OctGBP 2,500
23 Nov – 26 Nov 20264 full days BerlinIn person · Factory Görlitzer Park 12 of 14 EUR 2,650until 24 OctEUR 2,940
23 Nov – 2 Dec 20268 half-days Americas bandLive online · 13:00–17:00 ET 10 of 20 US$2,070until 24 OctUS$2,300

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-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-2202 days Init Systems & Fast Boot systemd and the alternatives, plus measuring and cutting boot time to a target. Practitioner Practitioner-taught SAR 5,250Next 1 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