How to compile multiple kernel images at the same time with Yocto

On the board, we have two processors of the same series. However, we want to have a different kernel configuration and device tree for both processors.

Take an example:
1. Processor X -> defconfig_A and DTB_A
2. Processor X -> defconfig_B and DTB_B

Is it possible to compile both the kernel (defconfig_A, DTB_A, and defconfig_B, DTB_B) using the single machine with a single command? Do I need to set up two different sources for the above kernel only?

Answer:
You would need two different workspace projects - one for each configuration. You can share state cache and downloads between two projects. You can start bitbake for both at the same time in different shells, but why would you do that? bitbake is very resource hungry and unless you have a supercomputer with 8+cores and 64Gb of RAM it will take double time. Bitbake the first project. The first build will take a lot of time, but it will populate state cache and downloads. Then you can bitbake the second project and it will take less time. Once both projects are built for the first time, it will be quick to rebuild them.
Last updated: Sep 30, 2021

Filed Under

Embedded

Recently Viewed

No recently viewed articles

Did you find this article helpful?