meta data for this page
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| sw:yocto:bitbake:multiconfig [2025/07/01 12:49] – created niziak | sw:yocto:bitbake:multiconfig [2025/07/01 21:22] (current) – niziak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== multiconfig ====== | ====== multiconfig ====== | ||
| + | |||
| + | [[https:// | ||
| With default - no multiconfig - usage bitbake works with one config '' | With default - no multiconfig - usage bitbake works with one config '' | ||
| Line 16: | Line 18: | ||
| Pros: | Pros: | ||
| + | * Acts as predefined '' | ||
| * It has great benefits when SSTATE cache is already filled and when multiple rootfs images are assembled in parallel. | * It has great benefits when SSTATE cache is already filled and when multiple rootfs images are assembled in parallel. | ||
| + | * The same TMPDIR can be used, when building the same distro for multiple similar machines and multiple similar images. | ||
| + | * [[https:// | ||
| Cons: | Cons: | ||
| * With empty SSTATE it can perform even worse than sequential build where 1st build will store some reusable object in sstate cache. | * With empty SSTATE it can perform even worse than sequential build where 1st build will store some reusable object in sstate cache. | ||
| + | * See < | ||
| + | Note | ||
| + | Support for multiple configuration builds in the Yocto Project 5.3.999 (Whinlatter) Release does not | ||
| + | include Shared State (sstate) optimizations. Consequently, | ||
| + | two different TMPDIR directories, | ||
| + | start or builds the object fresh. | ||
| + | </ | ||
| + | * Separate TMPDIR must be used when crucial configs are changed between multiconfis. Common practice is to use separate TMPDIR per distro. | ||
| Line 33: | Line 46: | ||
| </ | </ | ||
| + | <file yaml myconfig.yml> | ||
| + | --- | ||
| + | header: | ||
| + | version: 18 | ||
| + | |||
| + | target: | ||
| + | - mc: | ||
| + | - mc: | ||
| + | - mc: | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== TMPDIR ===== | ||
| + | |||
| + | <file conf myconfig.conf> | ||
| + | DISTRO = " | ||
| + | |||
| + | # rename TMPDIR with option to override it: | ||
| + | MY_TMP_APPEND ?= " | ||
| + | TMPDIR: | ||
| + | </ | ||
| + | |||
| + | or | ||
| + | |||
| + | <file conf local.conf> | ||
| + | TMPDIR = " | ||
| + | </ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[https:// | ||
| ===== references ===== | ===== references ===== | ||
| + | |||
| “Multiconfig Inception” by Joshua Watt: | “Multiconfig Inception” by Joshua Watt: | ||
| Line 43: | Line 89: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | |||