1.Archlinux下rCore 实验环境配置

原文:rCore-Tutorial-Book 第三版 实验环境配置

  • 系统环境配置(使用Archlinux)
  • Rust开发环境配置
  • Qemu模拟器安装
  • GDB 调试支持

2.Rust 开发环境配置

首先安装Rust包管理器cargo和Rust版本管理器rustup

1
2
sudo pacman -S cargo
sudo pacman -S rustup

修改Rust Crates源 ustc,在 $HOME/.cargo/config 中添加如下内容:

1
2
3
4
5
[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

可通过如下命令安装rustc的nightly版本(rCore要求用rustc的nightly版本),并把该版本设置为rustc的缺省版本

1
2
rustup install nightly
rustup default nightly

接下来安装一些Rust相关的软件包

1
2
3
4
rustup target add riscv64gc-unknown-none-elf
cargo install cargo-binutils
rustup component add llvm-tools-preview
rustup component add rust-src

3.Qemu 模拟器安装

1
sudo pacman -S qemu-emulators-full

随后即可在当前终端 source ~/.bashrc 更新系统路径,或者直接重启一个新的终端。此时我们可以确认 Qemu 的版本

1
2
qemu-system-riscv64 --version
qemu-riscv64 --version

4.GDB 调试支持

os 目录下 make debug 可以调试我们的内核,这需要安装终端复用工具 tmux ,还需要基于 riscv64 平台的 gdb 调试器 riscv64-unknown-elf-gdb 。该调试器包含在 riscv64 gcc 工具链中。

1
yay -S riscv64-unknown-elf-gdb

5.运行 rCore-Tutorial-v3

如果是在 Qemu 平台上运行,只需在os目录下 make run 即可。在内核加载完毕之后,可以看到目前可以用的 应用程序。 usertests 打包了其中的很大一部分,所以我们可以运行它,只需输入在终端中输入它的名字即可。运行后,可以先按下 Ctrl+A ,再按下 X 来退出 Qemu。