本课程你需要以下工具的RISC-V版本: QEMU 5.1、GDB 8.3、GCC和Binutils。
我们强烈建议使用Debathena机器(如athena.dialup.mit.edu)来完成实验。如果你使用运行Linux的MIT Athena机器,那么所有这些工具都位于6.828 locker中:只需输入'add -f 6.828'即可访问它们。如果你无法访问Debathena机器,可以直接安装这些工具,或者按照以下说明使用Linux虚拟机。
如果你在设置时遇到问题,请来办公时间或在Piazza上发帖。我们很乐意提供帮助!
ssh登录Athena拨号机器并添加工具:
$ ssh {your kerberos}@athena.dialup.mit.edu
$ add -f 6.828
首先,安装开发者工具:
$ xcode-select --install
接下来,安装Homebrew,macOS的包管理器:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
接下来,安装RISC-V编译器工具链:
$ brew tap riscv/riscv $ brew install riscv-tools
brew formula可能不会链接到/usr/local。你需要更新shell的rc文件(例如~/.bashrc) 以将相应目录添加到$PATH中。
PATH=$PATH:/usr/local/opt/riscv-gnu-toolchain/bin
最后,安装QEMU:
brew install qemu
请确保你运行的是"bullseye"或"sid"版本的debian(在ubuntu上可以通过运行cat /etc/debian_version来检查),然后运行:
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
("buster"上的QEMU版本太旧,所以你需要单独获取。)
$ sudo apt-get remove qemu-system-misc $ sudo apt-get install qemu-system-misc=1:4.2-3ubuntu6
sudo pacman -S riscv64-linux-gnu-binutils riscv64-linux-gnu-gcc riscv64-linux-gnu-gdb qemu-arch-extra
我们假设你正在全新的Ubuntu安装中将工具链安装到 /usr/local。编译这些工具需要相当多的磁盘空间(约9GiB)。如果你没有那么多空间,请考虑使用MIT Athena机器。
首先,克隆RISC-V GNU编译器工具链的仓库:
$ git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
接下来,确保你拥有编译工具链所需的软件包:
$ sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
配置并编译工具链:
$ cd riscv-gnu-toolchain $ ./configure --prefix=/usr/local $ sudo make $ cd ..
接下来,获取并解压QEMU 5.1.0的源代码:
$ wget https://download.qemu.org/qemu-5.1.0.tar.xz $ tar xf qemu-5.1.0.tar.xz
为riscv64-softmmu编译QEMU:
$ cd qemu-5.1.0 $ ./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu" $ make $ sudo make install $ cd ..
我们尚未测试过,但通过Windows Subsystem for Linux或自行编译工具,可能可以获得所需的一切。
然而,一个更简单的选择可能是运行上述其他操作系统之一的虚拟机。通过平台虚拟化,Linux可以与你的正常计算环境共存。安装Linux虚拟机是一个两步过程。首先,下载虚拟化平台。
VirtualBox稍慢且灵活性较低,但是免费的!
安装虚拟化平台后,下载你选择的Linux发行版的启动磁盘镜像。
这将下载一个名为类似ubuntu-18.04.3-desktop-amd64.iso的文件。启动你的虚拟化平台并创建一个新的(64位)虚拟机。使用下载的Ubuntu镜像作为启动磁盘;各虚拟机的操作过程略有不同,但非常简单。
要测试你的安装,你应该能够验证以下内容:
$ riscv64-unknown-elf-gcc --version riscv64-unknown-elf-gcc (GCC) 10.1.0 ... $ qemu-system-riscv64 --version QEMU emulator version 5.1.0你还应该能够编译和运行xv6:
# 在xv6目录中 $ make qemu # ... 大量输出 ... init: starting sh $要退出qemu,按:Ctrl-a x。
关于S6.081的问题或意见?请发送电子邮件至课程组 6S081@lists.csail.mit.edu。
返回顶部 //
S6.081 首页 //
最后更新于 Thursday, 04-Sep-2025 23:15:04 EDT