环境搭建
建议在 docker
环境下搭建,构建的 Dockerfile
如下,如果对这部分有疑问,可以参考 Docker 搭建实验环境
Bug
如果你的位置在南方(例如香港,深圳,广州等),也就是局域网的 IP 地址为
172
或者175
开头的,可以参考 Docker 构建后无法 ssh 登录服务器或容器 进行解决。
这里考虑到从 原版 开始构建会比较麻烦,毕竟 Linux 0.11
是很早期的版本了,所以直接用了别人修改过的项目(当然关于源码的部分是肯定没改的)
输入命令:
进行镜像的构建,然后使用命令:
运行项目即可。
我在这里使用 VS Code
直接连接进入容器中,如下所示:
然后在此终端中输入 make && make start
即可运行。
如何查看 qemu 的窗口
由于我们在 docker
中没有开启 GUI
,所以这里 qemu
的窗口我们是无法直接看见的,但可以发现,make satrt
会开启一个 vnc server
,在端口 5900
,我们只需要在本机安装一个 vnc client
即可查看此远程桌面。
这里,我们可以选择 realvnc
,在 ArchLinux
下安装:
然后,启动此 vnc viewer
,在 url
里输入 localhost:5900
,打开即可看见 qemu
的窗口:
Debug
在 Debug
之前,我们需要修复一个 bug
,修改 Makefile
文件中的 debug
部分如图:
即,将 qemu-system-x86_64
修改为 qemu-system-i386
我们可以在终端输入 make debug
来启动一个 gdb server
,然后,启动另一个终端,输入:
进入 gdb
,然后输入:
即可连接到 gdb server
,然后输入:
即可得到下图:
而对于 qemu
的窗口,应该如下所示:
至此,环境已搭建完成。