海涛同学:

您好,StratoVirt是属于用户态的虚拟化软件,仅使用内核模块的相关功能,不涉及到使用Rust编写内核模块。因此没有相关Rust内核模块开发经验可以提供给您参考。

非常感谢您的提问!!!

 

发件人: 海涛 [mailto:wanghaitao.ouyang@qq.com]
发送时间: 2021615 9:44
收件人: virt <virt@openeuler.org>
主题: [Virt] 请问StratoVirt/Isula使用Rust重构进度如何?是否能支持Rust内核模块?

 

virt-sig组成员你们好:

我是王海涛,新来的实习生,正在探索openEuler 21.03 是否支持Rust写成的内核模块。

 

听闻StratoVirtIsula有想使用Rust重构的计划。虚拟化技术应该会与内核打交道,应该要使用内核模块对吧?也就是应该要使用Rust编写内核模块对吧?

 

所以请问是否有在21.03上编译Rust模块并成功insmod的方案呢?

 

我当前探索了两个方式,都不能支持Rust内核模块:

1. linuxRust的官方分支,由于其正在开发中,且基于的内核为5.12,比21.03的内核5.10要更新,因此官方linux可能暂不支持Rust模块。

Rust-for-Linux/linux: Adding support for the Rust language to the Linux kernel. (github.com)

 

2. 非官方仓库,使用nightlyRust工具链,会编译错误。

fishinabarrel/linux-kernel-module-rust: Framework for writing Linux kernel modules in safe Rust (github.com)

 

所以想来求教,请问现在是否已经有解决方案了呢?

 

祝工作顺利

实习生

王海涛