目前流行学习Linux内核代码热。怎样才能学好Linux内核代码,你是不是学习时,看到很多代码,很多目录,就不知道从何入手了。没关系,这里将介绍学习Linux内核代码的解决方法,在这里拿出来和大家分享一下。
先到kernel.org上先把Linux内核的代码下载下来,先把下面能看懂的文档看了一下。
然后,按照内核文档里面的要求,执行下make gconfig,配置了下内核,了解了在内核代码中有许多宏定义,这些宏定义就是一个个的开关,打开/关闭一个个特定的功能。通过这个,可以对数不清的宏有初步的了解。
接下来,可以生成下内核代码的API文档,如果没有这个文档,那么对着茫茫的代码,很多就搞不清楚是干什么的了。先在内核代码的根目录下执行make htmldocs,生成网页形式的帮助文档。当然,也可以生成别的方式的文档,例如man手册,pdf文档等。我最初想生成pdf的文档,但是执行报错了,没有去跟踪原因,所以我这里建议你生成html的文档。
根据这些文档,可以了解下每个API的概况。下面要进入真实的看代码了。如果你用的是windows平台的话,可以使用soure insight来做为代码的查看工具。我用的是Linux系统,使用kscope来查看Linux的内核代码,先安装kscope(我的博客里有ubuntu怎么安装kscope的文章),然后,创建一个内核代码的工程。
因为Linux内核代码支持多种硬件架构,所以再添加代码时,请把只加一种硬件架构的代码,和硬件架构相关的代码分别在arch目录下和include目录下有。我选择看x86的代码,所以把其它硬件架构的代码都删除掉了,这样在kscope里面查找函数时,就比较精确了。
这样你就轻松掌握了Linux内核代码reading入门。
【编辑推荐】