命令一键安装
apt update
apt install -y git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu bc perl
git clone https://github.com/mit-pdos/xv6-riscv.git
如果上面的v6下载太慢
就下载源码压缩包
wget https://codeload.github.com/mit-pdos/xv6-riscv/zip/refs/heads/riscv -O xv6-riscv.zip
unzip xv6-riscv.zip
cd xv6-riscv-riscv
make qemu
如果是ubuntu20.04或者Ubuntu22.04那么可能qemu的版本不高
下载的这个 xv6-riscv 分支要求 QEMU >= 7.2
方案一:升级到 Ubuntu 24.04 或更高
sudo apt update
sudo apt install -y qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu gdb-multiarch build-essential
cd ~/xv6-riscv-riscv
make qemu
方案二:不升级系统,自己装新版 QEMU
这个适合继续用现在的 Ubuntu。
验证是否安装成功,按这个顺序看:
先装编译依赖:
sudo apt update
sudo apt install -y git ninja-build meson pkg-config libglib2.0-dev libpixman-1-dev zlib1g-dev libslirp-dev
下载并编译 QEMU 8.2.2:
cd ~
wget https://download.qemu.org/qemu-8.2.2.tar.xz
tar -xf qemu-8.2.2.tar.xz
cd qemu-8.2.2
./configure --target-list=riscv64-softmmu
make -j"$(nproc)"
sudo make install
装好后验证版本:
qemu-system-riscv64 --version
只要显示 7.2 以上,比如 8.2.2,就行。然后再回去跑 xv6:
cd ~/xv6-riscv-riscv
make qemu
把新版本加到当前终端路径:
export PATH=HOME/qemu-8.2.2-install/bin:PATH
qemu-system-riscv64 --version
riscv64-linux-gnu-gcc --version
cd xv6-riscv
make qemu
cd xv6-riscv
make qemu
成功时,make qemu 运行后通常会看到类似输出,最后进入 xv6 的 shell:
xv6 kernel is booting
init: starting sh
$
到了 $ 提示符后,可以再输:
ls
echo hello
以后每次开终端都默认用新版 QEMU,可以执行:
echo 'export PATH=HOME/qemu-8.2.2-install/bin:PATH' >> ~/.bashrc
source ~/.bashrc
能正常列目录、输出 hello,说明 xv6 跑起来了。退出 QEMU 用 Ctrl+a,再按 x。