Linux内核的更新非常的快,如何快速的了解这些更新呢?最一般的办法就是把新旧版本的内核源码下载下来,然后利用BCompare或别的什么工具进行源码对比,但这明显比较费力耗时,而本文将介绍一种更快捷简单的方法。
在官方http://git.kernel.org/网站可以找到linux的各种git更新记录,比如virt/kvm/kvm.git,通过这个链接,可以看到kvm的各种更新。
看我们重点关注的Linux 2.6内核的更新情况,我们知道Linux 2.6内核是由linus本人维护的,所以对应的git链接为:linux/kernel/git/torvalds/linux-2.6.git,从显示来看,这个和另外一个链接linux/kernel/git/torvalds/linux.git已经没有什么差别,估计是因为linux 3.x版本的引入以及版本仓库管理做了改进与优化,不过没关系,不影响我们继续了解这个官方web git库。
首先,查找我们关注的对应版本,这在linux/kernel/git/torvalds/linux-2.6.git页面上点击tags链接即可进入到所有版本列表,http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tags,打开界面如下:
在这个页面就能找到对应的版本,以2.6.38.8为例,对应的条目即为Linux 2.6.38-rc8:
这里有好几个链接,不过点几下会发现都链到同一处,所以我们直接看最快的路径,shortlog和log,这两个链接点开后显示的都是修改日志,只是shortlog显示得比较紧凑而已。点开shortlog:
点击第一个条目:
2011-03-08 Linus Torvalds Linux 2.6.38-rc8 v2.6.38-rc8 commit | commitdiff | tree | snapsho
的tree链接,在这里可以看到2.6.38.8的所有最终代码,也就是和从http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.8.tar.bz2下载的代码一致。
下面我们举个示例,查看一下nmi到2.6.38.8这个版本为止都大致有什么更新?
跟着“[linux/kernel/git/torvalds/linux-2.6.git] / arch / x86 / include / asm /”一路链接点一下来,到这里:
找到nmi.h文件(这个文件跟NMI相关)条目,点击后面的history链接:
可以看到,从2008-10-23到当前版本的所有变动都有了。比如第一个条目2011-01-07有对nmi做修改提交,后面的commitdiff就是提交的更新内容,diff to current当然就不要了,因为自然是commitdiff一致,而其他条目则需要diff to current,因为它们的commitdiff是与后面一个版本的不同,而diff to current是针对Linux 2.6.38-rc8的不同;如果要看从2008-10-23到Linux 2.6.38-rc8的所有更新,只需点击2008-10-23这个条目的diff to current链接即可。
上面示例比较简单,我也说得比较粗糙,主要是由于里面的链接非常的多,一个个描述起来比较麻烦,贴图太多也只是浪费我个人网站的服务器空间而已,最好的办法是自己动手去点下链接,查看一下内容,几个回合肯定就能摸索清楚个一二了。
转载请保留地址:http://lenky.info/archives/2012/07/17/1782 或http://lenky.info/?p=1782