Learnings from Upgrading an Outdated Yocto-Based System
summary
Upgrade path moves an entrenched Yocto build from Yocto 2.4 → latest LTS by containerizing the build, running Jenkins-backed CI on QEMU and hardware, and iterating on layer fixes until images boot and containers run; work includes converting to Python‑3, addressing oecmake/ninja defaults, fixing GCC header breakages in customer apps, patching libcap and U‑Boot device tree handling, backport cleanup and pruning distributions, and applying about 280 patches after which a cleanup step removed fork with 1k commits and reproducible builds succeed.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 3:58Initial situation constraints
- 5:22Yocto upgrade approach
- 10:43What was right and wrong before the upgrade
- 12:30Too many machines distributions
- 15:58Excessive inconsistent layers
- 17:47Non-conforming unclean layers
- 18:29Yocto 2.4 to latest
- 20:57Backporting outdated configs
- 24:32Handling open source changes
- 31:59Key learnings achieved
- 35:26Q&A
related talks
36mLessons Learned: Migrating a Production Platform to Yocto
45mBuilding and Maintaining Binary Distributions with Yocto
45mBuilding and Maintaining Binary Distributions with Yocto
42mBoF: The Yocto Project and OpenEmbedded
30mYocto for open source embedded systems development
33mUsing Open Source Software to Build an Industrial-grade Embedded Linux Platform...
36mStuck in 2009 - How I Survived
31mDebian and Yocto Project Based Long-Term Maintenance Approaches for Embedded Products
