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

适用于HUTB操作系统原理及安全分析实验课程中6.828环境配置的一种可行实操

阅前申明

请同学们遇到问题时先阅读《提问的智慧》
请务必善用搜索引擎,以及各类人工智能来辅助自己解决操作中遇到的问题

环境准备

虚拟机:VMware/VituralBox
操作系统:Ubuntu 22.04.4 LTS

笔者的运行环境为 Windows11 25H2 专业版、VMware® Workstation Pro 25H2、Ubuntu 22.04.5 LTS
此外,笔者还采用了ssh连接(使用XTerminal),有需要的读者可以自行配置(非必须)

1.VMware的下载/安装

未注册账号的读者请先自行前往注册页面注册账号
注册完毕后,可以通过链接直达免费版下载页面
展开列表中的「VMware Workstation Pro 25H2 for Windows」,然后点击版本号「25H2」image
点击右侧的「下载」按钮,开始获取安装程序(如果出现地址填写界面,随意填入信息即可)
image
下载完成后即可安装,安装教程可参考链接

2.Ubuntu的下载

点击链接前往下载Ubuntu 22.04.5 LTS,如果你不知道要下哪个,选择Desktop image即可
镜像的安装依旧可以参考链接中的步骤
请务必为虚拟机设置大一些的硬盘空间,选择多一点的CPU核心数量和内存(RAM)大小

笔者设置了8GB的内存、16核的cpu和120GB的硬盘空间
但实际上4核4GB即可实现基本不卡的系统运行

值得注意的是,在安装过程中就可以设置系统语言为中文
image
在这个界面点击quit即可回退至语言选择界面

ubuntu22.04 更换国内(阿里云)源

备份原有源文件

在修改源之前,最好先备份一下原来的源文件,以防出现问题可以恢复
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

修改源文件

打开 /etc/apt/sources.list 文件进行编辑,可以使用 nanovim 等文本编辑器
sudo vim /etc/apt/sources.list
将文件中的内容替换为以下阿里云源的内容:

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

更新源

保存修改后的源文件后,更新源以使其生效:
sudo apt update

以下是整理好的环境配置指令,按步骤执行即可

一、安装开发工具链

这一步是为了安装编译内核和模拟器所需的 gcc、make、git 等工具。

# 1. 更新软件包列表
sudo apt update# 2. 一键安装所需依赖 (gcc, git, binutils, python2, make 等)
sudo apt install -y binutils gcc git libpixman-1-dev python2 pkg-config zlib1g-dev libglib2.0-dev make gcc-multilib# 3. 升级已安装的 gcc 和 binutils (可选,确保版本较新)
sudo apt upgrade -y gcc binutils

第二步:编译并安装定制的 QEMU 模拟器

JOS 实验需要使用特定版本的 QEMU,不能直接使用系统自带的。这里使用了国内加速镜像,下载速度会更快。

# 1. 克隆针对 6.828 定制的 QEMU 源码 (使用了加速地址)
git clone https://gh.llkk.cc/https://github.com/mit-pdos/6.828-qemu.git qemu# 2. 进入 QEMU 目录
cd qemu# 3. 配置编译选项
# --disable-kvm: 禁用 KVM (实验通常不需要)
# --prefix=/usr/local: 安装路径
# --target-list: 指定编译 x86 架构的模拟器
# --python=python2: 指定使用 python2 (重要!)
./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="i386-softmmu,x86_64-softmmu" --python=python2# 4. 修复一个头文件缺失的编译错误 (针对较新版本的 glibc)
sed -i '1i #include <sys/sysmacros.h>' qga/commands-posix.c# 5. 编译 (这一步时间较长,建议找个视频看)
make# 6. 安装到系统 (需要 sudo 权限)
sudo make install

第三步:获取实验代码并测试环境

安装好 QEMU 后,拉取实验代码并运行,验证环境是否配置成功。

# 1. 返回上一级目录 (假设你现在还在 qemu 目录里)
cd ..# 2. 克隆 6.828 2018 年的 JOS 实验代码
git clone https://pdos.csail.mit.edu/6.828/2018/jos.git lab# 3. 进入实验目录
cd lab# 4. 编译实验代码
make# 5. 运行测试 (启动 QEMU 但不显示图形界面,通过串口输出)
make qemu-nox

⚠️ 常见问题与补充

如果在后续运行 make grade 或脚本时遇到 Python 相关错误,通常是因为 Ubuntu 新版本默认使用 Python 3,而该实验依赖 Python 2。
解决方法:
1.打开 grade-lab1 文件(或者报错提示的其他 grade 文件)。
2.将文件第一行的 #!/usr/bin/env python 修改为 #!/usr/bin/env python2
可以使用命令快速修改:
sed -i '1s|#!/usr/bin/env python|#!/usr/bin/env python2|' grade-lab1
(注意:如果有多个 grade 文件,可能需要对每个文件都执行一次,或者使用通配符)

http://www.jsqmd.com/news/436658/

相关文章:

  • 美国移民公司哪家强?2026年推荐与评测,针对教育创业场景专业指南 - 品牌推荐
  • 2026执医技能备考大揭秘:选对机构,通关无忧! - 品牌测评鉴赏家
  • C++11 三大特性深度解析 static_assert、委托构造函数、override/final
  • 2026年留学生海外找工作机构推荐:海外名企求职排名,涵盖金融科技与咨询核心场景 - 品牌推荐
  • 26年执医技能操作步骤培训推荐|精准避坑,高效通关不踩雷 - 品牌测评鉴赏家
  • 目前橡胶木品牌推荐排行榜单 - 品牌推荐(官方)
  • 为什么优秀的提示工程架构师都在学Agentic AI整合?这篇说透了
  • 2026执医技能操作品牌大揭秘,看这篇就够了! - 品牌测评鉴赏家
  • 2026技能考试机构大揭秘:如何找到你的理想之选? - 品牌测评鉴赏家
  • 战略屋引领数字化转型:全维度能力构建与落地实践
  • 2026年美国移民公司推荐:长期服务能力评价与排名,涵盖家庭与投资移民场景痛点 - 品牌推荐
  • Arduino IDE下使用STM32开发板脉冲控制步进电机(二)按钮控制 - 尼古拉
  • 2026年合肥殡葬服务机构实力榜:肥东殡葬服务、肥西殡葬服务、长丰殡葬服务、庐江殡葬服务、巢湖殡葬服务、安巢经开区殡葬服务 、五家机构凭专业与口碑出圈 - 海棠依旧大
  • java中泛型
  • 26年执医技能操作哪家好?博主实测3家顶流机构,避坑又高效 - 品牌测评鉴赏家
  • 留学生求职哪家强?2026年中国留学生求职机构推荐与评价,针对定制化与资源真实性 - 品牌推荐
  • 26年执医技能操作步骤培训哪家好?3大优选机构实测,避开坑高效通关 - 品牌测评鉴赏家
  • 探秘前端 ESLint 的核心工作原理
  • AI 学习笔记:Agent 的能力体系
  • 【网安面试题分享系列】红队面试题分享第二期
  • 2026执医刷题APP实测推荐|5款高口碑神器,避开坑高效冲关(附刷题攻略) - 品牌测评鉴赏家
  • 2026年美国移民公司推荐:基于行业趋势与合规标准评价,针对身份规划核心痛点 - 品牌推荐
  • 2026执医资料哪家强?博主实测避坑,不同考生精准抄作业 - 品牌测评鉴赏家
  • 26执医刷题软件哪家好?实测5款热门APP,避坑指南+精准推荐 - 品牌测评鉴赏家
  • 2026年中国留学生求职机构推荐:全球化求职趋势排名解决适配不足核心痛点 - 品牌推荐
  • 2026年 T恤厂家推荐排行榜:圆领T恤/短袖T恤/潮牌T恤/质感T恤,精选舒适休闲与时尚小众设计源头工厂 - 品牌企业推荐师(官方)
  • 市面上橡胶木源头厂家推荐排行榜单 - 品牌推荐(官方)
  • 26执医刷题APP实测推荐|避开3大坑,刷题高效不内耗,小白也能稳上岸 - 品牌测评鉴赏家
  • 2026执医刷题APP实测推荐|避开3大坑,选对1个就够了 - 品牌测评鉴赏家
  • 2026年留学生海外找工作机构推荐:长期服务跟踪评测,涵盖签证与跨文化沟通场景 - 品牌推荐