On 12/27/2025 8:39 PM, Bruce Ashfield wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know
the content is safe.
On Sat, Dec 27, 2025 at 7:33 AM <[email protected]> wrote:
From: Harish Sadineni <[email protected]>
In sdk while running: 'make prepare' in kernel-source directory after enabling
rust config,
it will throw errors since only makefile is present in rust kernel sources.
Can you show exactly how much of the infrastructure is needed for
make prepare to succeed ? We've gone through a lot of effort over
the years to not copy whole directories, many which have plenty
of source code just like the rust directories do.
If we can just copy the Makefiles and Kbuild files + a few elements
that are needed for regeneration, that is ideal.
Without this patch:
After populating the SDK and sourcing the environment, in the kernel
source directory I run 'make rustavailable', then 'make scripts',
and enable Rust support (RUST) in the kernel configuration. When running
'make prepare', the build fails.
The failure is due to missing Rust infrastructure. To understand the
minimum required set, I attempted to add files incrementally based on
the reported errors.
This resulted in the following dependency chain:
Initial failure during make prepare:
RUSTC L rust/core.o
EXPORTS rust/exports_core_generated.h
make[2]: *** No rule to make target 'rust/bindings/bindings_helper.h',
needed by 'rust/bindings/bindings_generated.rs'. Stop.
After adding rust/bindings/bindings_helper.h:
make[2]: *** No rule to make target 'rust/bindgen_parameters',
needed by 'rust/bindings/bindings_generated.rs'. Stop.
After adding rust/bindgen_parameters:
BINDGEN rust/bindings/bindings_generated.rs
make[2]: *** No rule to make target 'rust/helpers/helpers.c',
needed by 'rust/bindings/bindings_helpers_generated.rs'. Stop.
After adding rust/helpers/helpers.c, bindgen fails due to additional C
source dependencies:
rust/helpers/helpers.c:10:10: fatal error: 'auxiliary.c' file not found
rust/helpers/helpers.c:11:10: fatal error: 'blk.c' file not found
At this point, it becomes apparent that make prepare continues to pull
in further Rust and C source dependencies(chain of dependency is very
large),
and in practice ends up requiring most of the Rust infrastructure rather
than just a small set of Makefiles or files.
After applying this patch total size of rust directory is 1.8MB.
Bruce
Signed-off-by: Harish Sadineni <[email protected]>
---
meta/recipes-kernel/linux/kernel-devsrc.bb | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb
b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 23a9093ede..1505a1d70c 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -139,6 +139,10 @@ do_install() {
cd ${S}
cp -a scripts $kerneldir/build
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', 'true',
'false', d)}; then
+ cp -a rust ${kerneldir}/build
+ fi
# for v6.1+ (otherwise we are missing multiple default targets)
cp -a --parents Kbuild $kerneldir/build 2>/dev/null || :
--
2.49.0
--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#228598):
https://lists.openembedded.org/g/openembedded-core/message/228598
Mute This Topic: https://lists.openembedded.org/mt/116959156/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-