* [PATCH 1/4] packagegroup-core-buildessential-rust: add new packagegroup
@ 2026-07-17 12:18 Harish.Sadineni
2026-07-17 12:18 ` [PATCH 2/4] packagegroups: add nativesdk-packagegroup-sdk-host-rust Harish.Sadineni
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Harish.Sadineni @ 2026-07-17 12:18 UTC (permalink / raw)
To: openembedded-core; +Cc: Sundeep.Kokkonda
From: Harish Sadineni <Harish.Sadineni@windriver.com>
Introduce packagegroup-core-buildessential-rust to provide the
on-target dependencies required for building Rust-based kernel
modules, including the Rust toolchain, bindgen, and libclang.
Set PACKAGE_ARCH to TUNE_PKGARCH instead of the packagegroup
default of "all", since libclang is dynamically renamed per
build (e.g. libclang22.1), which is incompatible with an
allarch packagegroup.
On riscv64, also pull in clang, lld, and llvm-bin, since rust
support in the kernel on riscv64 requires the LLVM/Clang
toolchain rather than gcc.
Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
---
.../packagegroup-core-buildessential-rust.bb | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 meta/recipes-core/packagegroups/packagegroup-core-buildessential-rust.bb
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-buildessential-rust.bb b/meta/recipes-core/packagegroups/packagegroup-core-buildessential-rust.bb
new file mode 100644
index 0000000000..c1993af9aa
--- /dev/null
+++ b/meta/recipes-core/packagegroups/packagegroup-core-buildessential-rust.bb
@@ -0,0 +1,23 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+SUMMARY = "Essential build dependencies for building rust kernel modules in image"
+
+PACKAGE_ARCH = "${TUNE_PKGARCH}"
+
+inherit packagegroup
+
+RDEPENDS:${PN} = "\
+ bindgen-cli \
+ libclang \
+ rust \
+ rust-src-lib \
+ rust-tools-rustfmt \
+"
+
+RDEPENDS:${PN}:append:riscv64 = "\
+ clang \
+ lld \
+ llvm-bin \
+"
--
2.51.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 2/4] packagegroups: add nativesdk-packagegroup-sdk-host-rust 2026-07-17 12:18 [PATCH 1/4] packagegroup-core-buildessential-rust: add new packagegroup Harish.Sadineni @ 2026-07-17 12:18 ` Harish.Sadineni 2026-07-17 12:18 ` [PATCH 3/4] packagegroups: add nativesdk-packagegroup-sdk-clang Harish.Sadineni ` (2 subsequent siblings) 3 siblings, 0 replies; 7+ messages in thread From: Harish.Sadineni @ 2026-07-17 12:18 UTC (permalink / raw) To: openembedded-core; +Cc: Sundeep.Kokkonda From: Harish Sadineni <Harish.Sadineni@windriver.com> Add a new nativesdk packagegroup providing the dependencies needed to build external/out-of-tree rust modules in sdk. Set PACKAGE_ARCH to TUNE_PKGARCH instead of the packagegroup default of "all", since nativesdk-libclang is dynamically renamed per build (e.g. nativesdk-libclang22.1), which is incompatible with an allarch packagegroup. Add this to TOOLCHAIN_HOST_TASK to include it in the SDK. Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> --- .../nativesdk-packagegroup-sdk-host-rust.bb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-rust.bb diff --git a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-rust.bb b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-rust.bb new file mode 100644 index 0000000000..b10d420acd --- /dev/null +++ b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-rust.bb @@ -0,0 +1,16 @@ +# +# SPDX-License-Identifier: MIT +# + +SUMMARY = "Dependent packages for building external rust modules" + +PACKAGE_ARCH = "${TUNE_PKGARCH}" + +inherit packagegroup +inherit_defer nativesdk + +RDEPENDS:${PN} = "\ + nativesdk-rust-src-lib \ + nativesdk-bindgen-cli \ + nativesdk-libclang \ +" -- 2.51.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/4] packagegroups: add nativesdk-packagegroup-sdk-clang 2026-07-17 12:18 [PATCH 1/4] packagegroup-core-buildessential-rust: add new packagegroup Harish.Sadineni 2026-07-17 12:18 ` [PATCH 2/4] packagegroups: add nativesdk-packagegroup-sdk-host-rust Harish.Sadineni @ 2026-07-17 12:18 ` Harish.Sadineni 2026-07-17 12:18 ` [PATCH 4/4] populate_sdk_base: add kernel-devsrc via SDK_TOOLCHAIN_LANGS Harish.Sadineni [not found] ` <18C312FCD6D6FB0F.1068600@lists.openembedded.org> 3 siblings, 0 replies; 7+ messages in thread From: Harish.Sadineni @ 2026-07-17 12:18 UTC (permalink / raw) To: openembedded-core; +Cc: Sundeep.Kokkonda From: Harish Sadineni <Harish.Sadineni@windriver.com> Add a new nativesdk packagegroup providing the clang, lld, and llvm-bin dependencies needed to build external/out-of-tree modules in the SDK using the LLVM/Clang toolchain. Rust support in the kernel on riscv64 requires the LLVM/Clang toolchain rather than gcc, so this packagegroup is intended to be added alongside nativesdk-packagegroup-sdk-rust when the SDK targets riscv64. Add this to TOOLCHAIN_HOST_TASK to include it in the SDK. Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> --- .../nativesdk-packagegroup-sdk-host-clang.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-clang.bb diff --git a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-clang.bb b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-clang.bb new file mode 100644 index 0000000000..d6ee2120cf --- /dev/null +++ b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-clang.bb @@ -0,0 +1,14 @@ +# +# SPDX-License-Identifier: MIT +# + +SUMMARY = "Dependent packages for building external kernel modules using clang" + +inherit packagegroup +inherit_defer nativesdk + +RDEPENDS:${PN} = "\ + nativesdk-clang \ + nativesdk-lld \ + nativesdk-llvm-bin \ +" -- 2.51.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/4] populate_sdk_base: add kernel-devsrc via SDK_TOOLCHAIN_LANGS 2026-07-17 12:18 [PATCH 1/4] packagegroup-core-buildessential-rust: add new packagegroup Harish.Sadineni 2026-07-17 12:18 ` [PATCH 2/4] packagegroups: add nativesdk-packagegroup-sdk-host-rust Harish.Sadineni 2026-07-17 12:18 ` [PATCH 3/4] packagegroups: add nativesdk-packagegroup-sdk-clang Harish.Sadineni @ 2026-07-17 12:18 ` Harish.Sadineni 2026-07-30 10:41 ` [OE-core] " Richard Purdie [not found] ` <18C312FCD6D6FB0F.1068600@lists.openembedded.org> 3 siblings, 1 reply; 7+ messages in thread From: Harish.Sadineni @ 2026-07-17 12:18 UTC (permalink / raw) To: openembedded-core; +Cc: Sundeep.Kokkonda From: Harish Sadineni <Harish.Sadineni@windriver.com> Add a new "kernel" value for SDK_TOOLCHAIN_LANGS that pulls kernel-devsrc into TOOLCHAIN_TARGET_TASK. This allows kernel development headers/sources to be included in the SDK populate_sdk_base: add kernel-devsrc via SDK_TOOLCHAIN_LANGS Users who want kernel module development support in their SDK can now set SDK_TOOLCHAIN_LANGS = "kernel" explicitly. Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> --- meta/classes-recipe/populate_sdk_base.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes-recipe/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass index b427ff2761..1d9faecc16 100644 --- a/meta/classes-recipe/populate_sdk_base.bbclass +++ b/meta/classes-recipe/populate_sdk_base.bbclass @@ -80,6 +80,7 @@ TOOLCHAIN_TARGET_TASK ?= " \ ${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} \ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', multilib_pkg_extend(d, 'packagegroup-go-sdk-target'), '', d)} \ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', multilib_pkg_extend(d, 'libstd-rs'), '', d)} \ + ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'kernel', 'kernel-devsrc', '', d)} \ target-sdk-provides-dummy \ " TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= "" -- 2.51.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH 4/4] populate_sdk_base: add kernel-devsrc via SDK_TOOLCHAIN_LANGS 2026-07-17 12:18 ` [PATCH 4/4] populate_sdk_base: add kernel-devsrc via SDK_TOOLCHAIN_LANGS Harish.Sadineni @ 2026-07-30 10:41 ` Richard Purdie 2026-07-31 18:16 ` Trevor Woerner 0 siblings, 1 reply; 7+ messages in thread From: Richard Purdie @ 2026-07-30 10:41 UTC (permalink / raw) To: Harish.Sadineni, openembedded-core; +Cc: Sundeep.Kokkonda On Fri, 2026-07-17 at 05:18 -0700, Sadineni, Harish via lists.openembedded.org wrote: > From: Harish Sadineni <Harish.Sadineni@windriver.com> > > Add a new "kernel" value for SDK_TOOLCHAIN_LANGS that pulls > kernel-devsrc into TOOLCHAIN_TARGET_TASK. This allows kernel > development headers/sources to be included in the SDK populate_sdk_base: > add kernel-devsrc via SDK_TOOLCHAIN_LANGS > > Users who want kernel module development support in their SDK can now > set SDK_TOOLCHAIN_LANGS = "kernel" explicitly. > > Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> > --- > meta/classes-recipe/populate_sdk_base.bbclass | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/classes-recipe/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass > index b427ff2761..1d9faecc16 100644 > --- a/meta/classes-recipe/populate_sdk_base.bbclass > +++ b/meta/classes-recipe/populate_sdk_base.bbclass > @@ -80,6 +80,7 @@ TOOLCHAIN_TARGET_TASK ?= " \ > ${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} \ > ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', multilib_pkg_extend(d, 'packagegroup-go-sdk-target'), '', d)} \ > ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', multilib_pkg_extend(d, 'libstd-rs'), '', d)} \ > + ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'kernel', 'kernel-devsrc', '', d)} \ > target-sdk-provides-dummy \ > " > TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= "" There is a different thread where we are discussing adding SDK_FEATURES. I think this should become an SDK_FEATURE as part of that work. It should also probably be called "kernel-src" as "kernel" is a bit generic and could mean multiple things. Cheers, Richard ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH 4/4] populate_sdk_base: add kernel-devsrc via SDK_TOOLCHAIN_LANGS 2026-07-30 10:41 ` [OE-core] " Richard Purdie @ 2026-07-31 18:16 ` Trevor Woerner 0 siblings, 0 replies; 7+ messages in thread From: Trevor Woerner @ 2026-07-31 18:16 UTC (permalink / raw) To: richard.purdie; +Cc: Harish.Sadineni, openembedded-core, Sundeep.Kokkonda On Thu 2026-07-30 @ 11:41:15 AM, Richard Purdie via lists.openembedded.org wrote: > On Fri, 2026-07-17 at 05:18 -0700, Sadineni, Harish via lists.openembedded.org wrote: > > From: Harish Sadineni <Harish.Sadineni@windriver.com> > > > > Add a new "kernel" value for SDK_TOOLCHAIN_LANGS that pulls > > kernel-devsrc into TOOLCHAIN_TARGET_TASK. This allows kernel > > development headers/sources to be included in the SDK populate_sdk_base: > > add kernel-devsrc via SDK_TOOLCHAIN_LANGS > > > > Users who want kernel module development support in their SDK can now > > set SDK_TOOLCHAIN_LANGS = "kernel" explicitly. > > > > Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> > > --- > > meta/classes-recipe/populate_sdk_base.bbclass | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/meta/classes-recipe/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass > > index b427ff2761..1d9faecc16 100644 > > --- a/meta/classes-recipe/populate_sdk_base.bbclass > > +++ b/meta/classes-recipe/populate_sdk_base.bbclass > > @@ -80,6 +80,7 @@ TOOLCHAIN_TARGET_TASK ?= " \ > > ${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} \ > > ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', multilib_pkg_extend(d, 'packagegroup-go-sdk-target'), '', d)} \ > > ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', multilib_pkg_extend(d, 'libstd-rs'), '', d)} \ > > + ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'kernel', 'kernel-devsrc', '', d)} \ > > target-sdk-provides-dummy \ > > " > > TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= "" > > There is a different thread where we are discussing adding > SDK_FEATURES. I think this should become an SDK_FEATURE as part of that > work. It should also probably be called "kernel-src" as "kernel" is a > bit generic and could mean multiple things. Message received! > Cheers, > > Richard > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#242337): https://lists.openembedded.org/g/openembedded-core/message/242337 > Mute This Topic: https://lists.openembedded.org/mt/120313590/900817 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [twoerner@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <18C312FCD6D6FB0F.1068600@lists.openembedded.org>]
* Re: [OE-core] [PATCH 3/4] packagegroups: add nativesdk-packagegroup-sdk-clang [not found] ` <18C312FCD6D6FB0F.1068600@lists.openembedded.org> @ 2026-07-17 12:29 ` Harish Sadineni 0 siblings, 0 replies; 7+ messages in thread From: Harish Sadineni @ 2026-07-17 12:29 UTC (permalink / raw) To: openembedded-core Hi all, Please ignore this thread. I used the wrong packagegroup name in this commit header. It should be nativesdk-packagegroup-sdk-host-clang (not nativesdk-packagegroup-sdk-clang). i will send a v2. Thanks, Harish On 17-07-2026 05:48 pm, Sadineni, Harish via lists.openembedded.org wrote: > From: Harish Sadineni <Harish.Sadineni@windriver.com> > > Add a new nativesdk packagegroup providing the clang, lld, and > llvm-bin dependencies needed to build external/out-of-tree > modules in the SDK using the LLVM/Clang toolchain. > > Rust support in the kernel on riscv64 requires the LLVM/Clang > toolchain rather than gcc, so this packagegroup is intended to > be added alongside nativesdk-packagegroup-sdk-rust when the SDK > targets riscv64. > > Add this to TOOLCHAIN_HOST_TASK to include it in the SDK. > > Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> > --- > .../nativesdk-packagegroup-sdk-host-clang.bb | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > create mode 100644 meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-clang.bb > > diff --git a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-clang.bb b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-clang.bb > new file mode 100644 > index 0000000000..d6ee2120cf > --- /dev/null > +++ b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host-clang.bb > @@ -0,0 +1,14 @@ > +# > +# SPDX-License-Identifier: MIT > +# > + > +SUMMARY = "Dependent packages for building external kernel modules using clang" > + > +inherit packagegroup > +inherit_defer nativesdk > + > +RDEPENDS:${PN} = "\ > + nativesdk-clang \ > + nativesdk-lld \ > + nativesdk-llvm-bin \ > +" > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#241166): https://lists.openembedded.org/g/openembedded-core/message/241166 > Mute This Topic: https://lists.openembedded.org/mt/120313589/8054390 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [Harish.Sadineni@windriver.com] > -=-=-=-=-=-=-=-=-=-=-=- > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-07-31 18:16 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-17 12:18 [PATCH 1/4] packagegroup-core-buildessential-rust: add new packagegroup Harish.Sadineni
2026-07-17 12:18 ` [PATCH 2/4] packagegroups: add nativesdk-packagegroup-sdk-host-rust Harish.Sadineni
2026-07-17 12:18 ` [PATCH 3/4] packagegroups: add nativesdk-packagegroup-sdk-clang Harish.Sadineni
2026-07-17 12:18 ` [PATCH 4/4] populate_sdk_base: add kernel-devsrc via SDK_TOOLCHAIN_LANGS Harish.Sadineni
2026-07-30 10:41 ` [OE-core] " Richard Purdie
2026-07-31 18:16 ` Trevor Woerner
[not found] ` <18C312FCD6D6FB0F.1068600@lists.openembedded.org>
2026-07-17 12:29 ` [OE-core] [PATCH 3/4] packagegroups: add nativesdk-packagegroup-sdk-clang Harish Sadineni
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox