请问当前openEuler 21.03支持Rust模块吗?

rust-sig组成员您好:我是实习生王海涛,最近一个月在摸索openEuler 21.03 是否能支持Rust写成的模块。 但是发现linux对Rust的支持正在开发中,且基于的内核为5.12,比21.03的内核5.11要更新,因此官方可能暂不支持。 不过我在github上看到了跳过内核支持的办法,如使用bindgen,让Rust能调用内核header,进而编译出.ko。链接: fishinabarrel/linux-kernel-module-rust: Framework for writing Linux kernel modules in safe Rust (github.com) 但是这种方式使用当前nightly的Rust工具链,会编译错误。 请问大佬们是否有其他办法在21.03使用Rust编译的内核模块呢? 实习生 王海涛

目前最佳方案应该是等待 Rust for Linux 上游的工作。 如果你一定要尝试用 Rust 写 内核,建议参考下这篇文章:https://zhuanlan.zhihu.com/p/137077998 在 2021-06-15 09:30:59,"海涛" <wanghaitao.ouyang@qq.com> 写道: rust-sig组成员您好: 我是实习生王海涛,最近一个月在摸索openEuler 21.03 是否能支持Rust写成的模块。 但是发现linux对Rust的支持正在开发中,且基于的内核为5.12,比21.03的内核5.11要更新,因此官方可能暂不支持。 不过我在github上看到了跳过内核支持的办法,如使用bindgen,让Rust能调用内核header,进而编译出.ko。链接: fishinabarrel/linux-kernel-module-rust: Framework for writing Linux kernel modules in safe Rust (github.com) 但是这种方式使用当前nightly的Rust工具链,会编译错误。 请问大佬们是否有其他办法在21.03使用Rust编译的内核模块呢? 实习生 王海涛

另外,还有个比较安全的方案就是使用 eBPF: 用 Rust 编写 eBPF 程序,在内核中执行。 在 2021-06-15 09:30:59,"海涛" <wanghaitao.ouyang@qq.com> 写道: rust-sig组成员您好: 我是实习生王海涛,最近一个月在摸索openEuler 21.03 是否能支持Rust写成的模块。 但是发现linux对Rust的支持正在开发中,且基于的内核为5.12,比21.03的内核5.11要更新,因此官方可能暂不支持。 不过我在github上看到了跳过内核支持的办法,如使用bindgen,让Rust能调用内核header,进而编译出.ko。链接: fishinabarrel/linux-kernel-module-rust: Framework for writing Linux kernel modules in safe Rust (github.com) 但是这种方式使用当前nightly的Rust工具链,会编译错误。 请问大佬们是否有其他办法在21.03使用Rust编译的内核模块呢? 实习生 王海涛
participants (2)
-
Alex Zhang
-
海涛