目录
配置Ubuntu 20.04环境
VMware Workstation Pro 16
ubuntu-20.04.3-desktop-amd64
安装 qemu + gcc
安装依赖:
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
安装特定版本qemu:
sudo apt-get remove qemu-system-misc
sudo apt-get install qemu-system-misc=1:4.2-3ubuntu6
qemu-system-riscv64 --version
注:1:4.2-3ubuntu6 版本的 qemu-system-misc 软件包仅在 Ubuntu 20.04 发布
sudo apt install gcc-riscv64-unknown-elf
riscv64-unknown-elf-gcc --version
安装 gdb
GDB 需要支持 riscv64 才能对 xv6 进行调试,运行如下指令来查看本地 GDB 支持的架构, 其中 --target 参数指定了 debug 的架构:
gdb --configuration
安装 riscv64-unknown-elf-gdb 的依赖:
sudo apt-get install libncurses5-dev python python-dev texinfo libreadline-dev
下载GDB源代码(gdb-11.1.tar.gz),解压源代码,进入根目录,执行如下指令:
mkdir build
cd build
../configure --prefix=/usr/local --with-python=/usr/bin/python --target=riscv64-unknown-elf --enable-tui=yes
编译安装:
sudo apt install libgmp-dev
make -j$(nproc)
sudo make install
查看最终qemu、riscv版的gcc,gdb安装版本信息:
注:GDB也可以使用支持多种硬件体系架构的“gdb-multiarch”
sudo apt install gdb-multiarch
Boot xv6 (easy)
获取实验用的xv6源码并切换到util分支:
git clone git://g.csail.mit.edu/xv6-labs-2020
cd xv6-labs-2020
git checkout util
克隆下来的git代码库包含了多个分支,每个分支对应一个实验作业,查看此代码库所有分支:
git branch --remote
构建并运行xv6:在/home/kernel/Desktop/xv6-labs-2020目录下启动qemu
make qemu
使用 Ctrl+p 查看运行进程(xv6 无 ps 命令)
使用 Ctrl+a c 回到monitor
使用 Ctrl+a x 退出qemu
注:先按 Ctrl+a,再按c/x