1.检测自带环境
检测环境,是为了知道你ubantu系统是否已经具备编译器工具链,具体具体操作可以直接看麻省理工6.828所提供的资料MIT6.828所需工具链。你可通过浏览器将其翻译成中文,同时你只需看Compiler Toolchain(编译器工具链)这一块内容即可。
2.开始安装
1.$ mkdir 6.828
建6.828文件夹在主目录下,或是直接在ubantu主文件夹下右击鼠标建立6.828文件夹
2.$ cd 6.828
进入6.828文件夹
3.$ add git
这一步的意思是在你的系统上安装git,如果已经你已经安装好了可以直接跳过这一步,如果没有就输入sudo apt-get install git
安装即可
4. ~/6.828$ git init
初始化Git仓库
5.把6.282官方给的的JOS源码拉取下来,~/6.828$ git clone https://pdos.csail.mit.edu/6.828/2018/jos.git lab 是直接从麻省理工仓库拉去下来,如果遇到一直克隆不成功,可以试试~/6.828$ git clone https://gitee.com/luo-baocheng/hutb6.828.git lab 这是我同学创建的仓库,包含从麻省理工clone下来的源代码
6.~/6.828$ cd lab
进入lab文件夹
自此我们已经把麻省理工的源码克隆到了本地,但是实验还需安装qemu来模拟PC,所以下一步就是安装qemu
3.安装QEMU
qemu的安装可能会出现很多问题,我走了不少弯路,最后总结出来我成功的步骤,如下
1.先安装qemu所需要的包,按顺序输入一下指令
1)sudo apt-get install libsdl1.2-dev
2)sudo apt-get install libglib2.0-dev
3)sudo apt-get install libz-dev
4)sudo apt-get install libpixman-1-dev
5)sudo apt-get install libtool*
2.拉去QEMU
这一步的前提是你已经在lab文件夹里了,我们要把QEMU clone到lab文件夹里,如果自己不小心把命令终端关了,输入 cd 6.828/lab 已经在的可以跳过这里
正式拉取,输入以下指令
~/6.828/lab$ git clone https://github.com/mit-pdos/6.828-qemu.git qemu
3.cd qemu进入QEMU文件夹
4.~/6.828/lab/qemu$ ./configure --disable-kvm --disable-werror --prefix=$HMOE --target-list="i386-softmmu x86_64-softmmu"
配置QEMU,其中最需要注意的是将$HMOE
为你qemu文件所在绝对路径,也就是你需要将$HMOE
替换成qemu的路径,路径的获取只需找到qemu文件,右击鼠标选择复制即可。
这一指令如果出现问题为ERROR: Python not found. Use --python=/path/to/python
添加 --python=python3
即为 ./configure --disable-kvm --disable-werror --prefix=$HMOE --target-list="i386-softmmu x86_64-softmmu" --python=python3
如果还是不行提示 Note that Python 3 or later is not yet supported
安装python2.7,sudo apt-get install python2.7 然后添加 --python=python2.7
即为 ./configure --disable-kvm --disable-werror --prefix=$HMOE --target-list="i386-softmmu x86_64-softmmu" --python=python2.7
5.找到commands-posix.c文件,可以直接在文件管理器搜索
在声明里加上:
#include <sys/sysmacros.h>
保存
6.~/6.828/lab/qemu$ su root
进入root权限,密码是每次开机以后随机的,可以通过:通过$ sudo passwd来设置即可,设置完成后要进入root权限
7.~/6.828/lab/qemu$ sudo apt-get install gc
c-multilib
安装开发环境需要的32位gcc,系统自带的是64位的
8.~/6.828/lab/qemu$ make && make install
最后一步,编译并安装,输入exit突出root权限
9.输入$ qemu-system-i386
,出现了QEMU仿真器的界面成功。
10.
在lab目录下输入~/6.828/lab$ make qemu
,出现如下界面,说明成功
自此MIT6.828实验环境就算搭建完成了 ,在此特别提醒,当输入make grade 来打印实验成绩出现以下报错
如果你用到是python2.7 ,以lab1为例子,则需要在lab文件夹下找到grade-lab1文件,在第一行python后面加上2.7并保存,如果是使用其他python版本,对应修改即可