Linux 内核学习 — 实验环境
文章目录
编译环境
这里选择轻量级的 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调试
联调分两个部分:
dbg-asm
和dbg-c
脚本启动调试,等待gdb连接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
调试成功截图: