1、熟悉实验环境
1、Bochs 是一个免费且开放源代码的 IA-32(x86)架构 PC 机模拟器。
- 因为 Bochs 的是模拟器,其原理决定了它的运行效率会低于虚拟机。
- 但是,Bochs 有虚拟机无可比拟的调试操作系统的能力
2、GDB 调试器是 GCC 编译器的兄弟。做为自由软件领域几乎是唯一的调试器,它秉承了 Unix 类操作系统的一贯风格,采用纯命令行操作,有点儿类似 dos 下的 debug。
3、
tar -zxvf hit-oslab-linux-20110823.tar.gz \
-C /home/shiyanlou/
4、
运行后 bochs 会自动在它的虚拟软驱 A 和虚拟硬盘上各挂载一个镜像文件,软驱上挂载是 linux-0.11/Image
,硬盘上挂载的是hdc-0.11.img
。
5、编译内核
cd ./linux-0.11/
make all
make -j 2
make clean && make all
./run #启动Bochs
./dbg-asm #汇编级调试
./dbg-c ./rungdb #C语言级调试
5、文件交换
sudo ./mount-hdc #启动挂载脚本
#之后,hdc 目录下就是和 0.11 内核一模一样的文件系统了,可以读写任何文件
sudo umount hdc #卸载
实验环境的工作模式
- Image 文件
oslab 工作在一个宿