这学期开了操作系统,所以跟着大名鼎鼎的MIT 6.828期望真的学到知识。配环境的时候跟着别人的博客和MIT首页的操作也捣鼓了很久,下面把具体的操作步骤和踩得坑记录一下。

环境
Ubuntu18.04实体环境

步骤
6.828首页,找到顶部栏 Labs,点击Labs,再点击次出现的Tools进入工具页面。

我们首先在主目录下创建一个名叫6.828的文件夹,后面会clone一个qemu的文件夹装用来跑JOS系统的虚拟机,另外一个lab文件夹用来装JOS系统。创建目录就不说了。

首先输入

% objdump -i
第二行应该出现 elf32-i386字样;然后输入

% 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位的库,之前没装就make了,出现了"__udivdi3"和"__muldi3"的错误,所以安装一下。

% sudo apt-get install gcc-multilib
因为我是实体机,所以不需要按照它官网上给的提示安装用于ubuntu的虚拟机。工具链已经安装完,接下来安装qemu。qemu需要从github上clone下来,鉴于有些博客提到了如果用其他的qemu版本后面debug时候可能会有坑,所以我还是忍着速度慢的痛苦clone的原版。

git clone https://github.com/mit-pdos/6.828-qemu.git qemu
如果出现大意是EOF提前终止的提示,应该是因为git缓存不够,在命令行里输入

% sudo git config --global http.postBuffer 2000000000
% sudo git config --global https.postBuffer 2000000000
网上博客一般都只有http的buffer设置,但是github的协议是https的,我寻思着应该使用https的设置,但为了保险两个都设置了。然后安装以下几个文件:

sudo apt install libsdl1.2-dev
sudo apt install libtool-bin
sudo apt install libglib2.0-dev
sudo apt install libz-dev
sudo apt install libpixman-1-dev.
然后设置config

./configure --disable-kvm --disable-werror --target-list=“i386-softmmu x86_64-softmmu”
这里原指示是有一个PFX的选项,如果不填就默认存在/user/local里。

注意要看你的系统有没有python2,因为我的环境里只有python3.6但是后面报错了,如果没有python2要安装一下。

sudo apt install python
然后cd进qemu目录下,命令行输入

make
make install
这时候应该可以一次成功。

然后去到6.828目录下,输入以下命令clone JOS

git clone https://pdos.csail.mit.edu/6.828/2018/jos.git lab
如果环境都一样,按照我的步骤来现在应该没有问题,如果有问题百度或者谷歌大概都能解决了。这时候clone成功,来到lab文件夹下,命令行make即可。

make后会提示有出现一个kernel的img镜像文件,有这个,你就可以在lab文件夹下打开终端输入

make qemu
如果正常,会出现一个新的控制台窗口,这代表已经完成了。

mit6.828实验环境配置步骤相关推荐

  1. manjaro下6.828实验环境配置

    1.课程官网git clone课程推荐的qemu,https://pdos.csail.mit.edu/6.828/2018/tools.html 2.配置:./configure --disable ...

  2. 2022-2-16 MIT 6.828 实验环境安装

    前期参考:MIT6.828 实验环境安装教程 但是中途遇到了一个问题: 参考这个解决 最终的成果

  3. 【一生一芯】Chap.1 “一生一芯”实验环境配置| VMware安装Ubuntu20.04 | PA工程配置 | 解决llvm版本问题

    [一生一芯]Chap.1 "一生一芯"实验环境配置| VMware安装Ubuntu20.04 | PA工程配置 | 解决llvm版本问题 0. 什么是PA? 1. 安装VMware ...

  4. 系统如何安装到租的服务器,租用服务器后,检查及环境配置步骤

    原标题:租用服务器后,检查及环境配置步骤 我们从IDC服务商那里拿到我们租的服务器时,一般的服务商都会根据客户的要求,装好系统,那么我们要做的是什么呢? 第一.检查服务器的配置与我们订购的机器配置是否 ...

  5. eclipse配置python开发环境_Python开发环境配置步骤

    Python开发环境配置步骤 导语:Python开发环境配置,你懂吗?下面的是百分网小编为大家搜集的Python开发环境配置步骤,希望可以帮到你. 1:安装python2.7 python-2.7.3 ...

  6. Golang环境配置步骤

    Golang环境配置步骤 需要下载的软件 1.下载 .安装 go 1.19.1 https://studygolang.com/dl 2.下载.安装 golang 2022.2.2 3.注册golan ...

  7. 论文中的实验环境配置

    论文查看各种版本配置 写在最前面 操作系统 开发语言 框架 CPU GPU 内存 写在最前面 论文中的实验环境配置 操作系统 cat /proc/version Ubuntu 22.04 开发语言 进 ...

  8. 病毒木马查杀实战第001篇:基本查杀理论与实验环境配置

    前言 <病毒木马查杀>系列以真实的病毒木马(或统称为恶意程序)为研究对象,通过现有的技术手段对其分析,总结出它的恶意行为,进而制定出相应的应对方法(如编写专杀工具),对其彻底查杀.当然,本 ...

  9. Alphapose - Windows下Alphapose(Pytorch 1.1+)版本2021最新环境配置步骤以及踩坑说明

    文章目录 1 Alphapose 2 环境配置 2.1 官方安装说明 2.2 Anaconda创建虚拟环境Alphapose 2.3 获取Alphapose仓库 2.4 安装相关依赖库 2.4.1 激 ...

最新文章

  1. Windows 7下Eclipse搭建Android开发环境
  2. 移除集合效率高还是add高_效率比较--集合
  3. 自动根据键盘位置调整UITextView的高度
  4. 辞旧迎新:2018年的分区你们建了吗?
  5. vb 常量数组_用VB制作一个程序的基本步骤
  6. 随机森林(独立思考的重要性)
  7. 计算机软件行业职业病,IT行业的六大职业病,看看你有没有中
  8. q 与 blockquote 的区别
  9. 重命名Docker容器名称
  10. 【深扒】深入理解 JavaScript 中的异步编程
  11. (附源码)计算机毕业设计SSM基于Java网络游戏后台管理系统
  12. Cinnamon 任务栏网速
  13. 谨防企业管理者察人不慎,满盘皆输
  14. SDN开源框架:蝇量级选手Dragonflow究竟解决了什么问题
  15. Linux_+_Oracle_11g_R2_RAC_安装配置详细过程
  16. 狂神说Linux笔记
  17. 员工内斗,管理者要不要插手?
  18. 开源小程序CMS网站, JeeWx-App-CMS 1.0 首版本发布
  19. 马尔科夫链Markov以及空间Markov Matlab代码
  20. 第一台计算机是怎么输出,世界上第一台计算机是如何诞生的?

热门文章

  1. 有声小说php源码,魅雅有声小说联盟程序 v5.0(PHP免费版)
  2. 路由器与ospf协议的深入了解。
  3. OpenCv实时设置摄像头参数/获得摄像头参数值的方法论
  4. 18岁生日所经过的总天数
  5. SPSS Modeler18.0数据挖掘软件教程(三):逻辑回归分析
  6. java获取中国城市代码 中国城市ID(天气预报可用哦)
  7. asp.net MVC中使用EasyUI Treegrid 树形网格
  8. 目前市场上主流PDM软件是什么?
  9. html能控制佳能相机吗,EosCtrl:佳能单反联机拍摄开发控件,最新增加EOS 1300D,80D,7D,60D,600D,1100D,650D,700D,70D支持 - 数码相机开发天地...
  10. 浏览器的堆栈内存你知道多少