All of lore.kernel.org
 help / color / mirror / Atom feed
* [wrynose][PATCH] kernel-yocto-rust: skip recipe for riscv64 when Rust support is enabled
@ 2026-08-11 11:58 Harish.Sadineni
  2026-09-03 21:34 ` [OE-core] " Yoann Congal
  0 siblings, 1 reply; 4+ messages in thread
From: Harish.Sadineni @ 2026-08-11 11:58 UTC (permalink / raw)
  To: openembedded-core; +Cc: Sundeep.Kokkonda

From: Harish Sadineni <Harish.Sadineni@windriver.com>

Kernel Rust support on riscv64 requires building the kernel with Clang.
Since Wrynose does not provide Clang toolchian support for kernel
builds, skip the recipe when TARGET_ARCH is riscv64.

This avoids attempting an unsupported kernel Rust build and provides a
clear parse-time error explaining the limitation.

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
---
 meta/classes-recipe/kernel-yocto-rust.bbclass | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/meta/classes-recipe/kernel-yocto-rust.bbclass b/meta/classes-recipe/kernel-yocto-rust.bbclass
index 49f2bfc1ae..6be97c2db8 100644
--- a/meta/classes-recipe/kernel-yocto-rust.bbclass
+++ b/meta/classes-recipe/kernel-yocto-rust.bbclass
@@ -25,3 +25,12 @@ do_kernel_configme:append () {
 # More details in: https://lists.openembedded.org/g/openembedded-core/message/229336
 # Disable ccache for kernel build if kernel rust support is enabled to workaround this.
 CCACHE_DISABLE ?= "1"
+
+python () {
+    if d.getVar('TARGET_ARCH') == 'riscv64' :
+        raise bb.parse.SkipRecipe(
+            "Rust support in the kernel on riscv64 requires kernel to build with clang, "
+            "Wrynose doesn't have clang toolchain support for kernel. See "
+            "https://docs.kernel.org/rust/arch-support.html for details."
+        )
+}
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [OE-core] [wrynose][PATCH] kernel-yocto-rust: skip recipe for riscv64 when Rust support is enabled
  2026-08-11 11:58 [wrynose][PATCH] kernel-yocto-rust: skip recipe for riscv64 when Rust support is enabled Harish.Sadineni
@ 2026-09-03 21:34 ` Yoann Congal
  2026-09-04 11:40   ` Harish Sadineni
  0 siblings, 1 reply; 4+ messages in thread
From: Yoann Congal @ 2026-09-03 21:34 UTC (permalink / raw)
  To: Harish.Sadineni, openembedded-core; +Cc: Sundeep.Kokkonda

On Tue Aug 11, 2026 at 1:58 PM CEST, Harish via lists.openembedded.org Sadineni wrote:
> From: Harish Sadineni <Harish.Sadineni@windriver.com>
>
> Kernel Rust support on riscv64 requires building the kernel with Clang.
> Since Wrynose does not provide Clang toolchian support for kernel
> builds, skip the recipe when TARGET_ARCH is riscv64.

Hello,

OE-Core/wrynose indeed does not but meta-clang seem to do that:
https://github.com/kraj/meta-clang/blob/wrynose/conf/nonclangable.conf#L369

Wouldn't this patch needlessly prevent user from using meta-clang to get
a RISCV rust-enabled kernel?

I wonder if we need a patch more like master's:
2b228490b7e (kernel-yocto-rust: Add clang toolchain check for riscv64, 2026-08-05)

What do you think?

>
> This avoids attempting an unsupported kernel Rust build and provides a
> clear parse-time error explaining the limitation.
>
> Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
> ---
>  meta/classes-recipe/kernel-yocto-rust.bbclass | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/meta/classes-recipe/kernel-yocto-rust.bbclass b/meta/classes-recipe/kernel-yocto-rust.bbclass
> index 49f2bfc1ae..6be97c2db8 100644
> --- a/meta/classes-recipe/kernel-yocto-rust.bbclass
> +++ b/meta/classes-recipe/kernel-yocto-rust.bbclass
> @@ -25,3 +25,12 @@ do_kernel_configme:append () {
>  # More details in: https://lists.openembedded.org/g/openembedded-core/message/229336
>  # Disable ccache for kernel build if kernel rust support is enabled to workaround this.
>  CCACHE_DISABLE ?= "1"
> +
> +python () {
> +    if d.getVar('TARGET_ARCH') == 'riscv64' :
> +        raise bb.parse.SkipRecipe(
> +            "Rust support in the kernel on riscv64 requires kernel to build with clang, "
> +            "Wrynose doesn't have clang toolchain support for kernel. See "
> +            "https://docs.kernel.org/rust/arch-support.html for details."
> +        )
> +}

Regards,
-- 
Yoann Congal
Smile ECS



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [OE-core] [wrynose][PATCH] kernel-yocto-rust: skip recipe for riscv64 when Rust support is enabled
  2026-09-03 21:34 ` [OE-core] " Yoann Congal
@ 2026-09-04 11:40   ` Harish Sadineni
  2026-09-08  6:52     ` Yoann Congal
  0 siblings, 1 reply; 4+ messages in thread
From: Harish Sadineni @ 2026-09-04 11:40 UTC (permalink / raw)
  To: Yoann Congal, openembedded-core; +Cc: Sundeep.Kokkonda


On 04-09-2026 03:04 am, Yoann Congal 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 Tue Aug 11, 2026 at 1:58 PM CEST, Harish via lists.openembedded.org Sadineni wrote:
>> From: Harish Sadineni <Harish.Sadineni@windriver.com>
>>
>> Kernel Rust support on riscv64 requires building the kernel with Clang.
>> Since Wrynose does not provide Clang toolchian support for kernel
>> builds, skip the recipe when TARGET_ARCH is riscv64.
> Hello,
>
> OE-Core/wrynose indeed does not but meta-clang seem to do that:
> https://github.com/kraj/meta-clang/blob/wrynose/conf/nonclangable.conf#L369
>
> Wouldn't this patch needlessly prevent user from using meta-clang to get
> a RISCV rust-enabled kernel?
>
> I wonder if we need a patch more like master's:
> 2b228490b7e (kernel-yocto-rust: Add clang toolchain check for riscv64, 2026-08-05)
>
> What do you think?
Hi Yoann,

I understood what you meant, If someone uses 'linux-yocto_%.bbappend' to 
build the kernel with the clang toolchain [1],
this patch would prevent them from using rust in the kernel. Is my 
understanding correct?

If so, I'll implement the same clang toolchain check as 
'kernel-yocto-rust: Add clang toolchain check for riscv64' for wrynose,
and just adjust the error message accordingly.

[1]https://github.com/kraj/meta-clang/blob/wrynose/README.md#kernel-build-with-clang

<https://github.com/kraj/meta-clang/blob/wrynose/README.md#kernel-build-with-clang>Thanks,
harish
>> This avoids attempting an unsupported kernel Rust build and provides a
>> clear parse-time error explaining the limitation.
>>
>> Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
>> ---
>>   meta/classes-recipe/kernel-yocto-rust.bbclass | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/meta/classes-recipe/kernel-yocto-rust.bbclass b/meta/classes-recipe/kernel-yocto-rust.bbclass
>> index 49f2bfc1ae..6be97c2db8 100644
>> --- a/meta/classes-recipe/kernel-yocto-rust.bbclass
>> +++ b/meta/classes-recipe/kernel-yocto-rust.bbclass
>> @@ -25,3 +25,12 @@ do_kernel_configme:append () {
>>   # More details in: https://lists.openembedded.org/g/openembedded-core/message/229336
>>   # Disable ccache for kernel build if kernel rust support is enabled to workaround this.
>>   CCACHE_DISABLE ?= "1"
>> +
>> +python () {
>> +    if d.getVar('TARGET_ARCH') == 'riscv64' :
>> +        raise bb.parse.SkipRecipe(
>> +            "Rust support in the kernel on riscv64 requires kernel to build with clang, "
>> +            "Wrynose doesn't have clang toolchain support for kernel. See "
>> +            "https://docs.kernel.org/rust/arch-support.html for details."
>> +        )
>> +}
> Regards,
> --
> Yoann Congal
> Smile ECS


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [OE-core] [wrynose][PATCH] kernel-yocto-rust: skip recipe for riscv64 when Rust support is enabled
  2026-09-04 11:40   ` Harish Sadineni
@ 2026-09-08  6:52     ` Yoann Congal
  0 siblings, 0 replies; 4+ messages in thread
From: Yoann Congal @ 2026-09-08  6:52 UTC (permalink / raw)
  To: Harish Sadineni, openembedded-core; +Cc: Sundeep.Kokkonda

On Fri Sep 4, 2026 at 1:40 PM CEST, Harish Sadineni wrote:
>
> On 04-09-2026 03:04 am, Yoann Congal 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 Tue Aug 11, 2026 at 1:58 PM CEST, Harish via lists.openembedded.org Sadineni wrote:
>>> From: Harish Sadineni <Harish.Sadineni@windriver.com>
>>>
>>> Kernel Rust support on riscv64 requires building the kernel with Clang.
>>> Since Wrynose does not provide Clang toolchian support for kernel
>>> builds, skip the recipe when TARGET_ARCH is riscv64.
>> Hello,
>>
>> OE-Core/wrynose indeed does not but meta-clang seem to do that:
>> https://github.com/kraj/meta-clang/blob/wrynose/conf/nonclangable.conf#L369
>>
>> Wouldn't this patch needlessly prevent user from using meta-clang to get
>> a RISCV rust-enabled kernel?
>>
>> I wonder if we need a patch more like master's:
>> 2b228490b7e (kernel-yocto-rust: Add clang toolchain check for riscv64, 2026-08-05)
>>
>> What do you think?
> Hi Yoann,
>
> I understood what you meant, If someone uses 'linux-yocto_%.bbappend' to 
> build the kernel with the clang toolchain [1],
> this patch would prevent them from using rust in the kernel. Is my 
> understanding correct?

Yes, we don't know how downstream users derive our recipe, we have to
try to not break their use-case. In this case, it is even documented!
Thanks for the link!

> If so, I'll implement the same clang toolchain check as 
> 'kernel-yocto-rust: Add clang toolchain check for riscv64' for wrynose,
> and just adjust the error message accordingly.

Yes, I think e should do that. 

Thanks!

>
> [1]https://github.com/kraj/meta-clang/blob/wrynose/README.md#kernel-build-with-clang
>
> <https://github.com/kraj/meta-clang/blob/wrynose/README.md#kernel-build-with-clang>Thanks,
> harish
>>> This avoids attempting an unsupported kernel Rust build and provides a
>>> clear parse-time error explaining the limitation.
>>>
>>> Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
>>> ---
>>>   meta/classes-recipe/kernel-yocto-rust.bbclass | 9 +++++++++
>>>   1 file changed, 9 insertions(+)
>>>
>>> diff --git a/meta/classes-recipe/kernel-yocto-rust.bbclass b/meta/classes-recipe/kernel-yocto-rust.bbclass
>>> index 49f2bfc1ae..6be97c2db8 100644
>>> --- a/meta/classes-recipe/kernel-yocto-rust.bbclass
>>> +++ b/meta/classes-recipe/kernel-yocto-rust.bbclass
>>> @@ -25,3 +25,12 @@ do_kernel_configme:append () {
>>>   # More details in: https://lists.openembedded.org/g/openembedded-core/message/229336
>>>   # Disable ccache for kernel build if kernel rust support is enabled to workaround this.
>>>   CCACHE_DISABLE ?= "1"
>>> +
>>> +python () {
>>> +    if d.getVar('TARGET_ARCH') == 'riscv64' :
>>> +        raise bb.parse.SkipRecipe(
>>> +            "Rust support in the kernel on riscv64 requires kernel to build with clang, "
>>> +            "Wrynose doesn't have clang toolchain support for kernel. See "
>>> +            "https://docs.kernel.org/rust/arch-support.html for details."
>>> +        )
>>> +}
>> Regards,
>> --
>> Yoann Congal
>> Smile ECS


-- 
Yoann Congal
Smile ECS



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-09-08  6:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-11 11:58 [wrynose][PATCH] kernel-yocto-rust: skip recipe for riscv64 when Rust support is enabled Harish.Sadineni
2026-09-03 21:34 ` [OE-core] " Yoann Congal
2026-09-04 11:40   ` Harish Sadineni
2026-09-08  6:52     ` Yoann Congal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.