Re: [OE-core] [PATCH v5 11/15] kernel.bbclass: Export artifacts needed for out-of-tree Rust compilation

Yoann Congal
2026-02-12T11:25:24Z

On Wed Feb 11, 2026 at 5:19 PM CET, Harish Sadineni wrote:
>
> On 1/29/2026 10:09 PM, Sadineni, Harish via lists.openembedded.org wrote:
>> From: Yoann Congal <yoann.congal@smile.fr>
>>
>> Publish artifacts from kernel compilation to allow out-of-tree Rust
>> compilation:
>> * scripts/target.json: target definition: architecture, ABI, compiler
>> options, ...
>> * rust/: the crates compiled by the kernel available to
>> out-of-tree-modules
> Hi Yoann,
>
> I am dropping this patch “kernel.bbclass: Export artifacts needed for
> out-of-tree Rust compilation” from my v6 patch series.
>
> Without this patch, target.json and the rust/ directory were already
> getting published for x86_64. On arm64, target.json will not be created,
> yet the module is still generated and works fine.
>
> When building rust-out-f-tree-module for arm64 with this patch applied,
> it emits a warning that Out-of-tree rust modules build will fail due to
> a missing target.json in kernel. However, in practice, the build
> completes successfully.
>
> I have tested without this patch on both arm64 and x86_64, both tests
> were successful.
>
> So, this patch does not appear to be necessary. Are you OK with dropping
> this patch?

Yes, as long as it builds without warnings and test succesfully, I'm fine with it.

> I have pushed the updated changes to the below oe-contrib branch:
> https://git.openembedded.org/openembedded-core-contrib/log/?h=deepesh/rust-in-kernel-v6
>
> Additionally, I have extended the ccache disabling to make-mod-scripts
> (as part of "kernel: Disable ccache when kernel rust support is enabled"
> patch) and updated "meta-skeleton: Add rust-out-of-tree-module recipe"
> to align with the new changes.

Shouldn't the KERNEL_RUST_SUPPORT check in
rust-out-of-tree-module_git.bb be moved to the module-rust class?

Generally, If you think that you rewrote some patches, I'm OK with you
taking authorship (leaving me as Co-developed-by). That should allow you
to edit patches more freely.

Regards,

> Thanks,
> Harish
>> Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
>> Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
>> ---
>> meta/classes-recipe/kernel.bbclass | 18 ++++++++++++++++++
>> 1 file changed, 18 insertions(+)
>>
>> diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass
>> index 30a10b0801..dfb8604a68 100644
>> --- a/meta/classes-recipe/kernel.bbclass
>> +++ b/meta/classes-recipe/kernel.bbclass
>> @@ -632,6 +632,24 @@ do_shared_workdir () {
>> cp -r scripts/gcc-plugins ${kerneldir}/scripts
>> fi
>>
>> + if ${@bb.utils.contains("DISTRO_FEATURES", "rust-kernel", "true", "false", d)}; then
>> + # Copy target.json file needed for out-of-tree rust modules
>> + if [ -e scripts/target.json ]; then
>> + bbnote "Copying scripts/target.json"
>> + mkdir -p ${kerneldir}/scripts
>> + cp scripts/target.json ${kerneldir}/scripts
>> + else
>> + bbwarn "scripts/target.json not found in compiled kernel. Out-of-tree rust modules will fail to build."
>> + fi
>> +
>> + # Copy rust/ needed by out-of-tree module (firstly for the core rust crate)
>> + if [ -e rust/ ]; then
>> + bbnote "Copying rust/"
>> + cp -r rust ${kerneldir}/
>> + else
>> + bbwarn "rust/ not found in compiled kernel. Out-of-tree rust modules will fail to build."
>> + fi
>> + fi
>> }
>>
>> # We don't need to stage anything, not the modules/firmware since those would clash with linux-firmware
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#230151): https://lists.openembedded.org/g/openembedded-core/message/230151
>> Mute This Topic: https://lists.openembedded.org/mt/117528980/8054390
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [Harish.Sadineni@windriver.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>

--
Yoann Congal
Smile ECS