How to write a really good board support package for Yocto Project
summary
Practical checklist for a Yocto BSP: implement a dedicated meta layer with conf/machine/.conf, set machine via local.conf, and limit content to hardware specifics only — keep it simple. Use bbappend* files to modify u-boot or kernel recipes, set preferred_provider for virtual/kernel, list kernel device trees via KERNEL_DEVICETREE, add firmware via MACHINE_EXTRA_RRECOMMENDS, choose image types (wic/ext4) and publish a repo manifest. Validate layer dependencies with oe-layer-check and build with bitbake to confirm images are produced.
AI-written summary · about
chapters (26)
- 0:00Intro
- 0:40About Chris Simmonds
- 1:00Board Support Packages
- 6:40Setting up the environment
- 7:26Local configuration
- 9:30Recipes
- 13:32Config, layer and recipe
- 15:41The trinity of OE: Distro, Machine, Image
- 17:27Three types of layer
- 20:38What goes into a BSP layer?
- 21:45Create a layer for your BSP
- 24:21Bootloader
- 25:51Digression 1: package versions
- 27:30Digression 2: bbappend
- 29:12Kernel 1/2
- 30:46Digression: BitBake assignment operators
- 34:44Device trees
- 36:16Firmware
- 37:42Image format
- 39:26Setting the image type
- 39:54Creating images with WIC
- 41:03Enabling WIC
- 42:29Don't break things
- 44:16Dependencies between layers
- 45:18Check the layer
- 49:07Yocto compatibility
related talks
24mDOs and DON'Ts when building a Yocto based distribution
30mYocto for open source embedded systems development
39mBoF: The Yocto Project and OpenEmbedded
40mDesigning a Distro from Scratch Using OpenEmbedded - Part 2
45mBuilding and Maintaining Binary Distributions with Yocto
42mBoF: The Yocto Project and OpenEmbedded
36mLessons Learned: Migrating a Production Platform to Yocto
40mWhy the Yocto Project for My IoT Project
