如果想学习LInux 0.11源码那么可以去读赵炯博士的《Linux内核完全注释0.11.pdf》。
如果想深入了解linux 0.11的内核原理,那么搭建一套可编译运行的实验环境是很有必要的,正如Linux创始人在一篇新闻组投稿上所说(RTFSC - Read The Fucking Source Code)。系统本身是一个完整的整体,具有复杂性,不可见性,去真正的运行它调试它,要远胜于走马观花地看源码。
对于现今动辄百万行的Linux内核,也许我们穷尽一生都无法读完它,而0.11内核只有不到2万行代码,包含的思想与当今linux内核基本一样,正所谓麻雀虽小五脏俱全。
如今能在网上找到的编译内核的方法基本两种:
#一、创建原始环境
比如去https://github.com/Wangzhike/HIT-Linux-0.11下载,它模拟了一套运行环境来编译执行内核源码。对于想要快速上手的同学也是一种很好的选择。
#二、修改内核源码
通过修改内核源码的方式对于初学者尤其是对C语言和汇编不太熟悉的朋友,门槛过高这种方式去网上一搜一大把,但这正能跑起来的却寥寥无几。
#三、重构内核源码
都说了修改内核源码门槛过高,重构岂不是更困难?的确如此,但大家不必担心已经有人做了这个工作,大家请移步linux-0.11-imitae
作者重写了内核源码,使之可以在最新的gnu环境中编译,并且作者根据重构过程中出现的问题以及相对复杂的地方都做了相应的注释。对于理解和学习linux内核具有极大的帮助。
其中配套了作者编译的一个视频教程在yyt_下,大家可以酌情参考。
编译过程中可能会出现缺失开发包的情况,不必担心,一般通过错误提示去百度上搜索一下基本都能解决。
我介绍一下开发中用到的工具
1、bochs(虚拟机)
2、ubuntu 14.04
3、Source Insight 4.0(查看代码)
4、ida(反编译)
5、NASM 2.10.09
6、gcc 4.8.4
7、ld as 2.24
对于编译工具(gcc 等)下载最新即可。
由于项目中已经有了详细的安装教程,这里就不再叙述。
最后上传一张运行成功的图片:
如何快速搭建linux0.11实验环境
于 2022-01-25 13:20:31 首次发布