文章目录

编译环境

这里选择轻量级的 Lubuntu,版本为19.10。

oslab环境搭建

感谢 Wangzhike提供开源的一键配置环境。

安装包下载

git clone https://github.com/Wangzhike/HIT-Linux-0.11.git

环境适配

按照 README中的环境搭建指南,实际测试不行。需要添加32位架构支持,然后再执行 setup.sh脚本。

sudo dpkg --add-architecture i386

环境安装

.cd HIT-Linux-0.11/prepEnv/hit-oslab-qiuyu/ 
./setup.sh

编译内核

cd ~/oslab/linux-0.11
make

运行 Linux

cd ~/oslab && ./run

结果如图:

gdb调试

联调分两个部分:

  1. dbg-asmdbg-c脚本启动调试,等待gdb连接
  2. rungdb脚本进行连接并调试

这里直接使用 ./rungdb 命令,如果报错:

./gdb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

那么需要安装对应的32位库

sudo apt install libncurses5:i386

如果继续出错:

/gdb: error while loading shared libraries: libexpat.so.1: cannot open shared object file: No such file or directory

同样安装对应的32位库即可

sudo apt install libexpat1-dev:i386

调试成功截图:

参考

https://www.cnblogs.com/tradoff/p/5693710.html