Add support to build external device trees into qcom boot images - #2880
Conversation
Test Results 119 files ± 0 715 suites ±0 8h 36m 14s ⏱️ - 7h 30m 58s For more details on these failures, see this check. Results for commit aa00cff. ± Comparison against base commit 7659417. This pull request removes 2 and adds 3 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
|
My main concern is that we're not really testing this code path as part of our CI, should we add a fake example as part of a new selftest? |
Should I add a "fake" machine which uses that feature and add that to the CI? |
If it's possible to use both in-kernel and external DTBs, then feel free to extend the qcom-armv8a machine with a dummy DTB coming from a separate recipe. |
|
Yeah, a dummy / example recipe for an out of tree dtb would be enough here. |
|
This pull request has been marked as stale due to 30 days of inactivity. To prevent automatic closure in 5 days, remove the stale label or add a comment. You can reopen a closed pull request at any time. |
|
Any news on this? |
Head branch was pushed to by a user without write access
Yep, pushed a tentative update, still needs some testing. |
In preparation for external device tree support where device trees are not build from a kernel recipe, factor out the qcom boot image creation into a function and call that for every kernel devicetree. No functional changes. Signed-off-by: Rouven Czerwinski <rouven.czerwinski@linaro.org>
131b2d5 to
27110cf
Compare
Add support for device trees that are not build from the kernel
repository. The implementation is similar to kernel-fit-image.bbclass,
we detect whether the provider for virtual/dtb has been changed and
retrieve the build devicetrees from the sysroot instead of using those
build by the kernel.
A new variable QCOM_BOOTIMG_DEVICETREE is introduced to specify the
trees for which boot images should be build.
In order to use this, set the provider for virtual/dtb to your device
tree yocto recipe and then specify QCOM_BOOTIMG_DEVICETREE:
PREFERRED_PROVIDER_virtual/dtb = "my-devicetree-recipe"
QCOM_BOOTIMG_DEVICETREE ?= " \
my-devicetree-for-bootimg.dtb \
"
in your machine configuration.
Signed-off-by: Rouven Czerwinski <rouven.czerwinski@linaro.org>
Name boot images generated from external dtbs with a -ext-dtb suffix to indicate that they were generated from an external device tree recipe and also to prevent overwriting similarly named boot images generated from a kernel device tree. Signed-off-by: Rouven Czerwinski <rouven.czerwinski@linaro.org>
Add a devicetree-dummy recipe that generates an empty but valid DTB for testing with the qcom-armv8 machine. Signed-off-by: Rouven Czerwinski <rouven.czerwinski@linaro.org>
Modify the qcom-armv8 machine to use the dummy device tree recipe and generate a boot image from an external devicetree with it. Signed-off-by: Rouven Czerwinski <rouven.czerwinski@linaro.org>
27110cf to
aa00cff
Compare
|
Okay, tested and fixed a missing rename, should be ready now. $ ls -la boot-qcom-armv8*
-rw-r--r-- 2 phoenix users 8216576 Sep 8 10:23 boot-qcom-armv8-dummy--6.18.44+git-r0-qcom-armv8a-20260908082345-ext-dtb.img
lrwxrwxrwx 2 phoenix users 76 Sep 8 10:23 boot-qcom-armv8-dummy-qcom-armv8a-ext-dtb.img -> boot-qcom-armv8-dummy--6.18.44+git-r0-qcom-armv8a-20260908082345-ext-dtb.img
lrwxrwxrwx 2 phoenix users 63 Sep 8 10:23 boot-qcom-armv8a.img -> boot-apq8016-sbc--6.18.44+git-r0-qcom-armv8a-20260908082345.img
|
|
CI failure looks to be unrelated. |
Koen Kooi (koenkooi)
left a comment
There was a problem hiding this comment.
Thanks for doing this, this saves me a bunch of bbappends+patches I keep needing to update for new boards!
35b36f4
into
qualcomm-linux:master
|
Successfully created backport PR for |
Currently,
linux-qcom-bootimg.bbclassonly supports building in device trees from within the kernel. Yocto however also supports separate device tree recipes for in BSP device trees, which can be convenient to manage the device tree outside the kernel repository for rapid iteration.Add a new
QCOM_BOOTIMG_DEVICETREEvariable and external device tree detection support to thelinux-qcom-bootimg.bbclassto support this.