本文通过自身实践,介绍了在Linux下为内核打补丁的简单实例。
Linux下安装高版本补丁到低版本的步骤大体分为以下几步:
1、选取补丁
2、构建补丁
3、编译并处理编译错误
4、安装并验证补丁
环境
本文为Ubuntu 14.04版本,64位系统。
内核版本4.1.38。
内核安装补丁过程
1、选取补丁
补丁出处:
理论上讲,各大开源网站(如github,google的Android源码目录)的每次commit记录都可以作为补丁添加到我们的内核中,但是由于开源网站上分支众多、每个分支的代码更改次数也相当多,工作量巨大,所以我们需要针对性的寻找我们感兴趣并且比较重要的补丁。
选取原则:
一般来说,打补丁的困难程度取决于以下因素:
-补丁提交时间是否与我们的内核版本相近程度
-改动的文件数量
-改动的文件是否跨越了较多的模块
-涉及的模块改动是否频繁
-代码更改行数
本文选取补丁名称:“ipc/mqueue: Implement lockless pipelined wakeups”和“sched: Implement lockless wake-queues”
这两个补丁都是Linux4.2的重大补丁,涉及到了进程的唤醒切换,以提高系统的性能。
补丁“ipc/mqueue: Implement lockless pipelined wakeups”如下: