【发布时间】:2014-01-27 21:37:08
【问题描述】:
我正在开发一些 linux 内核模块,我当前的内核是 3.8,我想将它升级到内核 3.10。
我想到了两种方法:
- 要么签出一个单独的
3.10分支,然后将它与我当前的3.8分支合并。 - 或用
3.9补丁修补3.8,然后用3.10修补它(kernel.org 上提供的补丁是当前版本和以前版本的差异,我相信)
我应该采用哪种方法?有没有更好的方法?
我使用 git 作为版本控制软件。
【问题讨论】:
-
AFAIK 为使您的模块工作,您也需要更换系统的内核,例如,如果您针对内核的 3.10 版本编译模块,那么您的系统也需要运行该版本。
-
1) 找到最接近您的基础且有 3.10 可用的版本。 2)将您当前的树与该树的 3.8 进行比较。 3) 将您的更改应用到该版本的 3.10,在可能的情况下自动和手动包括在需要时移植到新机制的范围。 4) 恢复向前发展进度
-
rendon :是的,我正在替换整个内核。 @ChrisStratton:感谢您的建议,我正在做类似于您建议的事情,我已经下载了内核树,我已经确定了最接近我的基础的版本,它有 3.10 可用。然后我将采用原始 3.8 和 3.9 的差异,将其应用于我的 3.8,然后再次使用原始 3.9 和 3.10。希望它会起作用。
-
与将您的私有版本与上游进行比较相比,这可能会是一个更大且信息量更少的差异。后者的一个附带好处是您会发现您需要的上游标准有哪些变化。
标签: linux git linux-kernel upgrade patch