1、C 开发环境配置

在实验或练习过程中,也会涉及部分基于C语言的开发,可以安装基本的本机开发环境和交叉开发环境。下面是以WSL Ubuntu 22.04为例,需要安装的C 开发环境涉及的软件:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu

注:上述软件不是Rust开发环境所必须的。且ubuntu 22.04的QEMU软件版本低,而本书实验需要安装7.0以上版本的QEMU。

2、Rust 开发环境配置

首先安装 Rust 版本管理器 rustup 和 Rust 包管理器 cargo,这里我们用官方的Linux安装脚本来安装:

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

这个命令将下载一个脚本,根据脚本内容开始安装 rustup 工具(新手直接Enter默认安装),此工具将安装 Rust 的最新稳定版本。可能会提示你输入管理员密码。

如果安装成功,将出现下面这行:

Rust is installed now. Great!

如果官方的脚本在运行时出现了网络速度较慢的问题,可选地可以通过修改 rustup 的镜像地址(修改为中国科学技术大学的镜像服务器)来加速:

export RUSTUP_DIST_SERVER=https://mirrors.tuna.edu.cn/rustup
export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.edu.cn/rustup/rustup
curl --proto '=https' --tlsv1.2 -sSf <https://sh.rustup.rs> | sh

安装完成后,我们可以重新打开一个终端来让之前设置的环境变量生效。我们也可以手动将环境变量设置应用到当前终端,只需要输入以下命令:

source $HOME/.cargo/env

可以看到当前安装的工具链的版本。

rustc 1.62.0-nightly (1f7fb6413 2022-04-10)

注:目前用于操作系统实验开发的 rustc 编译器的版本不局限在 1.46.0 这样的数字上,你可以选择更新版本的 rustc 编译器。但注意只能用 rustc 的 nightly 类型的版本。

使用 nightly 版本的 rustc 编译器能够体验到最新的功能和特性,但也可能会遇到不稳定性或兼容性问题。需要注意保持依赖的兼容性,尤其是在操作系统实验开发这样的复杂项目中。

可通过如下命令安装 rustc 的 nightly 版本,并把该版本设置为 rustc 的缺省版本。

rustup install nightly
rustup default nightly

我们最好把软件包管理器 cargo 所用的软件包镜像地址 crates.io 也换成中国科学技术大学的镜像服务器来加速三方库的下载。我们打开(如果没有就新建) ~/.cargo/config 文件,并把内容修改为: