开发环境配置

Linux / macOS

需要安装以下软件:

安装依赖:

# 安装Rust工具链
curl https://sh.rustup.rs -sSf | sh

# 手动安装QEMU,RV64/AArch64工具链
# macOS:brew install qemu

# 由于天朝特殊的网络环境,建议配置代理服务器
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

# 安装cargo工具
rustup component add rust-src
cargo install cargo-xbuild bootimage
git clone https://github.com/wangrunji0408/RustOS.git --recursive
cd RustOS/kernel
rustup override set nightly
make run arch=riscv32

IDE & Editor

Debug

注:不能使用普通gdb,会触发Bug:Remote 'g' packet reply is too long

macOS下使用homebrew安装 altkatz/gcc_cross_compilers/x64-elf-gdb

brew install altkatz/gcc_cross_compilers/x64-elf-gdb

使用make debug运行QEMU,再运行gdb连接

在CLion中可以使用GDB Remote Debug功能,进行GUI debug

Make

辅助命令:

  • make asm:查看kernel的反汇编(objdump -d)

  • make header:查看kernel的各段信息(objdump -h)

  • make sym:查看kernel的符号表(objdump -t)

参数:

  • arch:目标平台,可选:x86_64, riscv32, aarch64

  • mode:编译模式,可选:debug, release

  • LOG:输出调试信息等级,可选:off, error, warn, info, debug, trace,信息量依次递增

  • d:QEMU的调试参数,可输入qemu-system-riscv32 -d help 查看选项

  • smp:CPU核心数

  • board:目标硬件

Last updated