Android 如何修补Linux内核?

Android 如何修补Linux内核?,android,linux-kernel,Android,Linux Kernel,我的问题很严重。 我手上的东西: Linux内核2.6.29,带有Android Eclair补丁和一些特定于主板的补丁(如.patch文件) 带有Android Froyo补丁的Linux内核2.6.32 我想要达到的目标: 我想用Android Froyo补丁将特定于主板的补丁程序合并到我的Linux内核2.6.32中 我不知道该怎么做。我尝试将特定于板的补丁直接应用于2.6.32内核,但失败了,出现了许多错误 请给我一些有价值的建议 谢谢, Sen如果看不到具体的错误,就很难确定

我的问题很严重。
我手上的东西:

  • Linux内核2.6.29,带有Android Eclair补丁和一些特定于主板的补丁(如.patch文件)
  • 带有Android Froyo补丁的Linux内核2.6.32
我想要达到的目标:

  • 我想用Android Froyo补丁将特定于主板的补丁程序合并到我的Linux内核2.6.32中
我不知道该怎么做。我尝试将特定于板的补丁直接应用于2.6.32内核,但失败了,出现了许多错误

请给我一些有价值的建议

谢谢,

Sen

如果看不到具体的错误,就很难确定

修补程序将为每个文件/修补程序提供一个“.rej”文件,该文件/修补程序将向您显示它尝试执行的操作以及发现的导致失败的内容。它通常会告诉您它创建了这些文件,以便您可以修复它们

您可能会遇到一些更原始的问题—在该修补程序中,一开始甚至找不到正确的文件

这通常是由于路径在补丁文件中的布局与您运行它的方式不同所致。(我试着举个例子)

如果查看要修补的每个文件的每个文件条目,它将有一个“源”和“目标”文件名,如:

/原始/src/drivers/mydriver.c /destination/src/drivers/mydriver.c

这意味着,例如,您的项目位于名为“project”的目录中。您当前的工作目录将是“project”,您正在修补的文件将是:

/project/src/drivers/mydriver.c

这个补丁可以用

例如,您运行了相同的修补程序,但当前的工作目录是:

/工程/建造业监理

运行修补程序时,它将查找名为:

/project/src/src/drivers/mydriver.c

什么都不行

有两种补救办法:

  • 确保从正确的目录级别运行修补程序

  • 在补丁中使用“-p{num}”标志,这实际上告诉它忽略补丁文件中每个文件名开头的一定数量的目录


  • 您还可以发布一些错误,以获得更多帮助……

    您可能只是做错了(如果没有这些错误,就无法确定),但是错误也很可能是因为补丁根本不适用,而且需要人类的专业知识——在这种情况下,您可以选择阅读补丁,研究内核,并找出如何手动应用更改,或者找到一种新的方法。一个开始寻找的好地方是查看内核更改日志,以了解您已经在2.6.29和2.6.32之间的linux树中应用了部分或全部补丁。嗨,hoobs,我对linux的这一领域是新手,我是指补丁,所以我不理解您所说的内核更改日志。我从哪里能得到这个??