突然发现现在的工作不是真正制作补丁,也不是简单地打补丁。
而是手动机械地去改动内核,添加补丁。
学习后,再来总结吧。
===============================================================
源:linux-2.6.28.10
补丁:linux-2.6.33.5.patch
这里不是内核版本升级,看图说话:根据patch1的内容,在你所使用的28内核上打上相应的补丁,得到基于28内核的产品B。
1、要编一个基本的内核出来。
就将补丁里面凡是和arch/arm相关,nor或者nand相关,串口serial相关,这些都打好,你就可以跑一个内核了。
2、接下来加网络驱动。
网络驱动包括driver/net netfilter等模块。
其实就是这两步,每一步出来的东西都可以在板子上面进行验证。
由于版本相差太大,要做许多改动,不能完全照patch1来。切记要先理清代码的逻辑,再做相应的修改。我就因为没有看代码就注释了一个宏,后来内核卡起,才发现这个宏控制着整个中断流程。网络驱动部分可能还涉及到基础结构体net_device的改动,理清了逻辑之后,就大胆的修吧!
tiips:合并的时候,一般有宏控制可以放心加进去,其他情况就要注意了,有可能是内核版本本身的差异,合的时候应该根据代码逻辑来,避免出现意想不到的错误。强调one more time,不能随便去注释一些东西。