MIT_6.S081_Lab学习笔记(一):环境准备

实验前推荐阅读:

https://pdos.csail.mit.edu/6.828/2020/labs/guidance.html

https://pdos.csail.mit.edu/6.828/2020/xv6/book-riscv-rev1.pdf

Lab1官网

Tools官网

参考:

编译qemu

环境准备

Lab0: Boot Xv6

操作环境:VMware+Ubuntu20.04/阿里云服务器Ubuntu20.04+Xshell

配置环境:

按照官网指示配置环境即可:

1
2
3
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu 
sudo apt-get remove qemu-system-misc
sudo apt-get install qemu-system-misc=1:4.2-3ubuntu6

如果这一步报错以下内容:

1
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc6-dbg_2.31-0ubuntu9.3_amd64.deb  404  Not Found [IP: 119.96.66.248 80]

解决方法:

  1. 去修改这个配置文件(vi用vim替代更好)
1
sudo vi /etc/resolv.conf
  1. 添加两个DNS
1
2
nameserver 223.5.5.5  
nameserver 223.6.6.6
  1. 更新
1
sudo apt-get update

再重新执行命令即可成功。

版本检查:

1
2
3
4
iscv64-unknown-elf-gcc --version
#官方网站里给的版本是10.0.1,我们安装的版本应该低一些,我的版本是9.3.0,应该影响不大
qemu-system-riscv64 --version
#官方版本是5.1.0,我们通过上述方式安装的版本应该过低,之后来说怎么自己build qemu

PS.如果检查没有gcc,使用 sudo apt install gcc-riscv64-unknown-elf安装即可。

  • build qemu

首先去官网下载5.1.0版本的qemu.

解压:tar -xvf qemu-5.1.0.tar.xz

配置:执行./configure。默认会编译target-list包含的所有包,可以执行./configure --help查看QEMU支持的架构。

编译安装:

1
2
make  -j4           # 视处理器个数增减,一般为处理器个数的2倍
sudo make install # 安装到系统目录(如/usr/local/bin/)需要root权限,

遇到包或者库未安装的情况,如pkg-config、glib、gthread、pixman,可以使用apt search glib查找安装。

我的情况缺乏如下几个包:

1
2
3
sudo apt install pkg-config
sudo apt install libglib2.0-dev
sudo apt install libpixman-1-dev

PS:编译安装的速度很慢(也可能是我的虚拟机配置不行,我大概编译了一个多小时),耐心等待编译安装结束即可。

安装结束后再次检查版本,正确即可。

XV6-Booting!!!

首先克隆官方仓库,之后切换到实验对应分支。

1
2
3
git clone git://g.csail.mit.edu/xv6-labs-2020
cd xv6-labs-2020
git checkout util

执行命令:make qemu

image-20211027084327554

出现$符号说明已成功进入Xv6,实验环境配置结束,可以开(tong)心(ku)地开始后续实验了。

PS.退出qemu快捷键是CTRL+a 再按下x即可。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2020-2022 Doke
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信