MIT6.828 环境配置

环境

虚拟机:VitrualBox,Centos8并安装有git
本篇博客主要讲解本人在环境配置遇到的问题的解决的方法.(初学MIT 6.828课程,如果有错误欢迎指出)

官网教程:
Lab1:Booting a PC

步骤

我们首先在主目录下创建一个名叫6.828的文件夹,后面会clone一个qemu的文件夹装用来跑JOS系统的虚拟机,另外一个lab文件夹用来装JOS系统。
cmd输入以下命令是讲JOS系统的源码clone到本地lab文件夹(lab文件夹自动创建):


athena% mkdir ~/6.828
athena% cd ~/6.828
athena% add git
athena% git clone https://pdos.csail.mit.edu/6.828/2017/jos.git lab
Cloning into lab...
athena% cd lab
athena% make

效果:
在这里插入图片描述如果提示undefined reference to `__udivdi3’ 就说明你没有32位的GCC multilib 下载一个对应GCC版本的multilib就可以解决的。记住要对应版本的。
编译工具链

编译工具链是一个工具集包括c编译器,汇编编译器,连接器。
在命令行下执行

gcc -m32 -print-libgcc-file-name

如果输出

/usr/lib/gcc/i486-linux-gnu/version/libgcc.a 

/usr/lib/gcc/x86_64-linux-gnu/version/32/libgcc.a

说明没有问题了。
否则执行

sudo apt-get install -y build-essential gdb

进行安装。在64位的机器上还需要安装32位支持库

sudo apt-get install gcc-multilib

否则后面make的时候可能会出现"__udivdi3 not found"的情况。

安装QEMU模拟x86机器

官网下载:
下载链接
以从git上下载为例:
在这里插入图片描述

1,2,3,4步直接执行。
第5步配置config语句替换为:

./configure --disable-kvm --disable-werror --target-list="i386-softmmu x86_64-softmmu"

报错:
出现:ERROR: Python not found. Use --python=/path/to/python
解决:添加–python=python3,
还是不行提示Note that Python 3 or later is not yet supported。安装python2.7,然后使用–python=python2.7选项。

安装python

报错2:
在这里插入图片描述Ninja是Google的一名程序员推出的注重速度的构建工具,一般在UnixLinux上的程序通过make/makefile来构建编译,
而Ninja通过将编译任务并行组织,大大提高了构建速度,而qemu现在采用的是基于ninja的构建系统,所以我们得先安装ninja
构造Ninja可使用CMake或python,需要先安装re2c

CentOS 7 安装 re2c 和 ninja

然后在qemu目录下执行make&&make install
在这里插入图片描述
在这里插入图片描述

再到lab下输入make qemu:
出现类似的界面就是成功了喔:
在这里插入图片描述
以上就是6.828实验的实验环境搭建部分,这里提示,如果出现安装过程混乱了的情况,可以把整个6.828文件夹删除重新再来,已经安装的包再安装不会冲突,系统会自动检测。只要每一步按顺序进行,就可以完成,这个过程中遇到的bug可以自己再查查,都能找到解决方案。
以上~

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值