目前最佳方案应该是等待 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编译的内核模块呢?

实习生
王海涛