| Message ID | 20251227113251.773795-7-Harish.Sadineni@windriver.com |
|---|---|
| State | New |
| Headers | show |
| Series | Enable rust support for linux kernel | expand |
And here's the answer to my previous question. To me, this patch should be squashed with 05/16. Bruce On Sat, Dec 27, 2025 at 7:33 AM <Harish.Sadineni@windriver.com> wrote: > > From: Harish Sadineni <Harish.Sadineni@windriver.com> > > To enable Rust integration in the Linux kernel build, this patch: > > - Adds `rust-native`, `clang-native` and `bindgen-cli-native` to `do_kernel_configme[depends]` > to ensure required tools are available for Rust support. > - Invokes `make rustavailable` inside `do_kernel_configme()` to prepare > the kernel for building Rust-based modules or core components. > > Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> > --- > meta/classes-recipe/kernel-yocto.bbclass | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/meta/classes-recipe/kernel-yocto.bbclass b/meta/classes-recipe/kernel-yocto.bbclass > index 2584cadf0d..dda235d4d0 100644 > --- a/meta/classes-recipe/kernel-yocto.bbclass > +++ b/meta/classes-recipe/kernel-yocto.bbclass > @@ -463,6 +463,11 @@ do_kernel_configme[depends] += "virtual/cross-binutils:do_populate_sysroot" > do_kernel_configme[depends] += "virtual/cross-cc:do_populate_sysroot" > do_kernel_configme[depends] += "bc-native:do_populate_sysroot bison-native:do_populate_sysroot" > do_kernel_configme[depends] += "kern-tools-native:do_populate_sysroot" > +RUST_KERNEL_TASK_DEPENDS ?= "${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', ' \ > + rust-native:do_populate_sysroot \ > + clang-native:do_populate_sysroot \ > + bindgen-cli-native:do_populate_sysroot', '', d)}" > +do_kernel_configme[depends] += "${RUST_KERNEL_TASK_DEPENDS}" > do_kernel_configme[dirs] += "${S} ${B}" > do_kernel_configme() { > if ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', 'true', 'false', d)}; then > @@ -513,6 +518,10 @@ do_kernel_configme() { > echo "# Global settings from linux recipe" >> ${B}/.config > echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config > fi > + > + if ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', 'true', 'false', d)}; then > + oe_runmake -C ${S} O=${B} rustavailable > + fi > } > > addtask kernel_configme before do_configure after do_patch > -- > 2.49.0 >
diff --git a/meta/classes-recipe/kernel-yocto.bbclass b/meta/classes-recipe/kernel-yocto.bbclass index 2584cadf0d..dda235d4d0 100644 --- a/meta/classes-recipe/kernel-yocto.bbclass +++ b/meta/classes-recipe/kernel-yocto.bbclass @@ -463,6 +463,11 @@ do_kernel_configme[depends] += "virtual/cross-binutils:do_populate_sysroot" do_kernel_configme[depends] += "virtual/cross-cc:do_populate_sysroot" do_kernel_configme[depends] += "bc-native:do_populate_sysroot bison-native:do_populate_sysroot" do_kernel_configme[depends] += "kern-tools-native:do_populate_sysroot" +RUST_KERNEL_TASK_DEPENDS ?= "${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', ' \ + rust-native:do_populate_sysroot \ + clang-native:do_populate_sysroot \ + bindgen-cli-native:do_populate_sysroot', '', d)}" +do_kernel_configme[depends] += "${RUST_KERNEL_TASK_DEPENDS}" do_kernel_configme[dirs] += "${S} ${B}" do_kernel_configme() { if ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', 'true', 'false', d)}; then @@ -513,6 +518,10 @@ do_kernel_configme() { echo "# Global settings from linux recipe" >> ${B}/.config echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', 'true', 'false', d)}; then + oe_runmake -C ${S} O=${B} rustavailable + fi } addtask kernel_configme before do_configure after do_patch