赞
踩
好吧,又开了个坑,不知道这个能写多久。。。。6.s081(现在貌似叫6.1810?)是MIT经典OS神课6.828拆出来的本科生课程,相对于之前的还是简单一些。。。个人环境为WSL(Ubuntu22)。
环境搭建
Lab1: Utilities
Lab2: System calls
Lab3: Page tables
Lab4: Traps
Lab5: Copy-on-Write Fork for xv6
官网链接
xv6手册链接,这个挺重要的,建议做lab之前最好读一读。
xv6手册中文版,这是几位先辈们的辛勤奉献来的呀!再习惯英文文档阅读我还是更喜欢中文一点,开源无敌!
个人代码仓库
官方文档
官方首先强烈反对在WSL上运行lab = =:
给出的理由是会有性能损耗,建议使用真机(双系统)或者Athena,这个Athena我查了一下貌似是MIT给他们学生用的一个服务器?反正我用不了!淦!
管他这么多,WSL开搞,有问题再说!
我的Ubuntu是22.04的,官方叫用的是20.04的,应该没啥问题。。吧?
先运行这俩,安装几个工具的RISC-V版本(友情提示:文件较大,建议先换源)。
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
耗时3min28s
测试一下工具链安装成功没有,成功的话会给出版本号。
qemu-system-riscv64 --version
riscv64-linux-gnu-gcc --version
然后安装xv6,这本来是lab1的内容,放在这里一并写了。
先创建一个文件夹并打开,免得下的东西到处都是,然后clone并打开代码库
mkdir 6.s081 && cd 6.s081
git clone git://g.csail.mit.edu/xv6-labs-2022
cd xv6-labs-2022
可以看到,clone完后你是在util分支上的。
没有我这个sh的用git status
检查一下就行
编译qemu
make qemu
完成后你会发现你在sh里面了,退出这个命令行使用Ctrl-a
x
(是先按Ctrl + a,然后按x)。退出后想再进去就再次make qemu
即可。
在里面执行ls
:
我们先把这代码推到我们自己的github上去,建立库什么的就不说了,
git remote rm origin # 删除当前远程库
git remote add origin + 远程仓库地址 # 连接到现有的自己的库
git branch -M main
git push -u origin main
我选用的编辑环境是Visual Studio 2022,点击这个克隆存储库
在存储库位置 输入库的ssh地址或者在登录github账号后直接选择存储库进行克隆即可。
不过这个项目是Makefile构建的,不是Cmake构建的,因此想调试啥的还是得编辑完后上传、拉取在wsl进行调试运行= =。也可以使用VScode直接连接wsl,也比较方便,不过我个人比较喜欢VS。
另外,如果你和我一样用的是VS,那么别忘了在.gitignore
里加上/.vs
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。