Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

如何贡献 Rust for Linux Insides 项目

本项目主要采用了mdbook进行构建,本节主要介绍了如何在用户本地自行搭建Rust for Linux Insides进行贡献,并介绍贡献的一些规范。

本项目目前只支持Ubuntu/Debian发行版本的构建流程,对于Rocky/Fedora发行版本尚未完成

安装Rust

  • 国内用户

如果国内用户打算构建本项目,并且当前主机上没有rust,那么请参考rsproxy进行安装。

安装成功后,请检查对应版本,本项目要求\( rust \ version \ge 1.46 \)

cargo --version
cargo 1.91.0 (ea2d97820 2025-10-10)
  • 国外用户

国外用户请直接参考rust进行安装:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

安装mdbook

安装mdbook cli的方式有多种,本文档主要采用下方介绍的第一种方式,如有其他需要,请参考其他方式。

cargo install mdbook
wget https://github.com/rust-lang/mdBook/releases/download/v0.4.52/mdbook-v0.4.52-x86_64-unknown-linux-gnu.tar.gz

tar zxvf mdbook-v0.4.52-x86_64-unknown-linux-gnu.tar.gz
cargo install --git https://github.com/rust-lang/mdBook.git mdbook

安装完成后,可以通过运行如下命令进行检查:

mdbook --version
mdbook v0.4.52

构建项目

完成上面的依赖安装后(rustmdbook),读者可以fork本仓库后,进行克隆到本地(此处直接使用了上游仓库,请读者自行更换为对应的仓库链接):

git clone git@github.com:hust-open-atom-club/rust-for-linux-insides.git

cd rust-for-linux-insides

然后可以直接开始构建,或查看构建命令:

make help
Available targets:
  build     - Build the mdBook
  run       - Build and serve the book on 0.0.0.0
  watch     - Watch & rebuild the book on changes
  check-ci  - Run tests and custom CI checks
  clean     - Clean build & cargo artifacts

Use 'make <target>' to run a specific action.

使用build命令进行构建:

2025-11-14 03:30:55 [INFO] (mdbook::book): Book building has started
2025-11-14 03:30:55 [INFO] (mdbook::book): Running the html backend

虚拟机配置

如果用户在物理机上构建,那么不需要参考这一小节。 如果使用虚拟机,在有防火墙的情况下无法直接查看到Rust for Linux Insides在浏览器的页面(默认虚拟机是server version with no GUI);因此需要关闭虚拟机防火墙,并将运行的监听ip绑定为“0.0.0.0“

sudo systemctl stop ufw
sudo systemctl disable ufw

使用run命令启动服务:

make run
2025-11-14 03:35:35 [INFO] (mdbook::book): Book building has started
2025-11-14 03:35:35 [INFO] (mdbook::book): Running the html backend
2025-11-14 03:35:35 [INFO] (mdbook::book): Book building has started
2025-11-14 03:35:35 [INFO] (mdbook::book): Running the html backend
2025-11-14 03:35:35 [INFO] (mdbook::cmd::serve): Serving on: http://0.0.0.0:3000

提交代码规范

假设已经做完任何更改,请使用check-ci命令进行检查,以便提交Pull Request时能够通过CI检查。

make check-ci
number of HTML files scanned: 8
number of HTML redirects found: 0
number of links checked: 130
number of links ignored due to external: 10
number of links ignored due to exceptions: 0
number of intra doc links ignored: 0
errors found: 0
Link check completed successfully!
✅ Link checking completed successfully

🎉 All steps executed successfully. 🚀