当前位置: 首页 > news >正文

MIT s6.828环境搭建

前言:建议ubuntu镜像版本在22.04以下,亲测新版本会报错

本文默认读者ubuntu搭建完成,且可以联网

sudo apt update

开始配置环境前先更新软件包列表

sudo apt install -y binutils gcc git libpixman-l-dev python2 pkg-config zliblg-dev libglib2.0-dev make gcc-multilib

记得在这里下载一下待会配置实验环境要用到的工具

sudo apt upgrade -y gcc binutils

升级一下已安装的工具包

 git clone https://gh.llkk.cc/https://github.com/mit-pdos/6.828-qemu.git/qemu

克隆针对6.828定制的QEMU(使用github加速网址https://gh.llkk.cc/)如果报错说没有git就用sudo apt install git下载一下git

cd qemu

切换到qemu的目录下面

./configure --disable-kvm --disable-sdl --target-list="i386-softmmu x86_64-softmmu" --python=/usr/bin/python2

配置QEMU编译选项:--disable-werror,不把警告当做错误(不然待会报一堆warning看着都吓人,报warning没问题就怕他报error);指定/usr/local为make install后的二进制文件安装路径;--target-list="x86_64-softmmu":指定只编译生成x86架构64位CPU的硬件模拟器:使用python2(s6.828的环境好像要求必须是python2.x的版本,之前下载了python3.x的版本报错说版本过高)

sed -i '/#include/i#include <sys/sysmacros.h>' qga/commands-posix.c

qga/commands-posix.c文件的第一行插入#include <sys/sysmacros.h>,注意这里运行代码后不会有任何回显就直接进下一条命令输入了(比如下图我就直接执行make命令了)

make

编译QEMU,在当前目录下可以看到一个新的可执行文件qemu-system_x86-64

sudo make install

安装QEMU,此后QEMU可以从shell启动(这两条命令比较长,至少五分钟以上)

cd ../(返回上级目录)git clone https://pdos.csail.mit.edu/6.828/2018/jos.git lab(克隆实验代码合集(不显示进度,一般一两分钟内可以完成))cd lab(进入实验室目录)make 
make qemu-nox(编译)

所有命令运行完以后结果和最后一张图一样就说明环境已经搭建完成

http://www.zskr.cn/news/11865.html

相关文章:

  • kubernetes事件监控工具--Kube-Event
  • 企业档案管理系统:精准破局制造行业档案管理困境 - 指南
  • 喵喵大王の新日记
  • 什么是Delphi4Python?
  • 实用指南:Python的大杀器:Jupyter Notebook处理.ipynb文件
  • 25.9.25随笔联考总结
  • 2025/9/25 模拟赛总结
  • 完整教程:C 语言宏函数进阶:逗号表达式与 GNU 拓展的妙用
  • 当日总结(课后作业2)
  • AI 低代码平台:不止于 “快”,解码技术融合的深层逻辑
  • 动态内存管理(2) - 详解
  • Nano-Banana免费使用指南:一键生成专属3D手办,附超详细提示词 - 指南
  • 绘制金融集团监控大屏的地图demo
  • AM1.5G 太阳光谱 - 教程
  • 常用注解汇总
  • 软件工程学习日志2025.9.25
  • java课基础问题整理与解答
  • 完整教程:(13)GPS/无GPS转换
  • 第四篇
  • CF Round 1053(2150 2151) 总结
  • AT_agc012_d [AGC012D] Colorful Balls
  • 9/25
  • 关闭Edge浏览器页面的圆角效果
  • 搜索二维矩阵II-leetcode
  • Rust/C/C++ 混合构建 - Cmake集成Cargo编译动态库
  • 学习敏捷课程PSM,自考证书分享
  • 详细介绍:基于卷积神经网络的人车识别技术:从原理突破到场景重构的深度探索
  • Rust/C/C++ 混合构建 - 用Bazel构建Rust与C
  • sync.pool 面试题
  • 深入解析:SpringBoot与反射