实验一: 配置HIT-oslab实验环境

慕课网: http://www.feemic.cn/mooc/icourse163/1002692015#。
百度云链接:https://pan.baidu.com/s/1h2aEk6A_DGpXkZvRtNmeUw 提取码:qoll
配套实验课:https://www.shiyanlou.com/courses/115

实验楼自带linux实验环境,但因为我曾经装了vmware+ubuntu 18.04 (64位) ,为了更好游戏体验,手动配置实验环境,总结了一下踩过的坑。
可能是网络问题,git无法clone,故直接下载压缩包。
百度云链接:https://pan.baidu.com/s/1_u_iGGST3HXdeN9KMgbmkQ 提取码:nnv3
解压后oslab下有如下文件:
实验一: 配置HIT-oslab实验环境_第1张图片
总结了前人的经验和自己踩的坑,更换软件源为清华:
https://mirrors.tuna.tsinghua.edu.cn/
sudo apt-get install安装以下软件包:

 gcc-3.4
 bin86
 libc6-dev-i386
 build-essential
 libsm6:i386
 libx11-6:i386
 libxpm4:i386
 libncurses5:i386
 libexpat1:i386

测试环境:

编译内核:
hit-oslab-linux-20110823/oslab/中打开终端

cd ./linux-0.11
make

无error即可

linux-0.11 目录下是全部的源代码,很多实验内容都是要靠修改这些代码来完成。修改后需要重新编译内核,还是执行命令:make all
make命令会自动跳过未被修改的文件,链接时直接使用上次编译生成的目标文件,从而节约编译时间。但如果重新编译后,你的修改貌似没有生效,可以试试先 make clean ,再 make all(或者一行命令:make clean && make allmake clean 是删除上一次编译生成的所有中间文件和目标文件,确保是在全新的状态下编译整个工程。
运行:

./run

应出现以下画面:
实验一: 配置HIT-oslab实验环境_第2张图片
运行汇编级调试:

./dbg-asm

应出现以下画面:
实验一: 配置HIT-oslab实验环境_第3张图片
运行C语言级调试:

  1. 执行以下命令
./dbg-c
  1. 再打开一终端窗口再执行以下命令
./rungdb

注意:不能更改启动顺序。
应出现以下画面:

文件交换:

执行:

sudo ./mount-hdc

之后,hdc 目录下就是和 0.11 内核一模一样的文件系统了,可以读写任何文件(可能有些文件要用 sudo 才能访问
实验一: 配置HIT-oslab实验环境_第4张图片
实验一: 配置HIT-oslab实验环境_第5张图片
读写完毕后卸载文件系统:

sudo umount hdc

注意 1:不要在 0.11 内核运行的时候 mount 镜像文件,否则可能会损坏文件系统。同理,也不要在已经 mount 的时候运行 0.11 内核。

注意 2:在关闭 Bochs 之前,需要先在 0.11 的命令行运行 “sync”,确保所有缓存数据都存盘后,再关闭 Bochs

你可能感兴趣的:(OS)