0%

CS6.828 环境配置

有机会再整吧

6.828: Learning by doing

课程官网

配置环境

VMWare + Ubuntu20.04

编译工具链配置

测试,先后分别输入

1
2
objdump -i
gcc -m32 -print-libgcc-file-name

我的机器上测试是没有问题的,PASS~~

QEMU 模拟器

Qemu 是纯软件实现的虚拟化模拟器,采用二进制指令翻译技术,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。

正因为 Qemu 是纯软件实现的,所有的指令都要经 Qemu 过一手,性能非常低,所以,在生产环境中,大多数的做法都是配合 KVM 来完成虚拟化工作,因为 KVM 是硬件辅助的虚拟化技术,主要负责 比较繁琐的 CPU 和内存虚拟化,而 Qemu 则负责 I/O 虚拟化,两者合作各自发挥自身的优势,相得益彰。

step 1 获取 qemu 源码

1
git clone https://github.com/mit-pdos/6.828-qemu.git qemu

step 2 安装需要的工具包

1
2
3
4
5
6
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
sudo apt install gccmultidev

step 3 查看属性

1
2
cd qemu
sudo ./configure --disable-kvm --disable-werror [--prefix=HMOE] [--target-list="i386-softmmu x86_64-softmmu"] --python=/usr/bin/python2

👋由于Ubuntu版本的原因,20.04版本用的是 python3 ,与2018年的实验环境不符,所以要安装python2 后才可以查看 ./configure

1
sudo apt install python2

tips:查看 python 路径的命令:

1
type python python2 python2

截图如下

image-20230301194718081

step 4 编译与安装

1
make && make install

但是会报错,因为权限不够,所以要加上 sudo,注意:两句命令都要加 sudo 才可以执行。

1
sudo make && sudo make install

image-20230301200044810

step 5 获取 JOS 并挂载到qemu 上

1
2
3
4
5
cd ;切回home文件夹
git clone https://pdos.csail.mit.edu/6.828/2018/jos.git lab
cd lab
make
make qemu

make 成功会显示:有一个 img 结尾的镜像文件。

之后才可以 make qemu

image-20230301201358737

此时环境配置完毕。

-------------本文结束感谢您的阅读-------------
请作者喝一杯蜜雪冰城吧!