* [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 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
* 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
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