MIT 6.S081 lab0: 环境搭建

参考:博客 B站

注:最好在Ubuntu 20.04下搭建!!!(这样就不需要编译工具链啦)

1、更新apt源:

1
sudo apt update && sudo apt upgrade

2、下载并解压qemu:

1
2
wget https://download.qemu.org/qemu-5.1.0.tar.xz
tar xf qemu-5.1.0.tar.xz

3、编译qemu:

1
2
cd qemu-5.1.0
./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu"

这里可能出现报错:

错误一:

1
ERROR: glib-2.48 gthread-2.0 is required to compile QEMU

解决方法:

1
sudo apt-get install libglib2.0-dev

错误二:

1
2
ERROR: pixman >= 0.21.8 not present.
Please install the pixman devel package.

解决方法:

1
sudo apt install libpixman-1-dev

两个错误解决之后,继续执行下方命令:

1
2
3
4
./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu"
make
sudo make install
cd ..

4、安装riscv64-unknown-elf-gcc:

1
sudo apt install gcc-riscv64-unknown-elf

5、下载课程代码:

1
git clone git://g.csail.mit.edu/xv6-labs-2020

6、验证实验环境是否搭建完成:

1
2
3
4
5
$ riscv64-unknown-elf-gcc --version
riscv64-unknown-elf-gcc () 9.3.0

$ qemu-system-riscv64 --version
QEMU emulator version 5.1.0

7、运行xv6:

1
2
3
4
5
6
$ cd xv6-labs-2020
$ git checkout util
$ make qemu
...
init: starting sh
$

8、成功啦!ctrl-a +x 退出QEMU。

附:git设置

一个repo对应多个remote

1、打开~/.ssh/id_rsa.pub文件,把里面的所有的内容都拷贝到你的github网站的ssh key里