首页 文章

如何修补Linux内核?

提问于
浏览
0

我遇到了严重的问题 .
我手里拿着什么:

  • Linux内核2.6.29包含Android Eclair补丁和一些特定于板的补丁(如 .patch 文件) .

  • Linux内核2.6.32与Android Froyo补丁 .

我想要实现的目标:

  • 我想将 board specific patches 与我的Linux内核2.6.32与Android Froyo补丁合并 .

我无法知道如何做到这一点 . 我尝试将Board特定的补丁直接应用到2.6.32内核,但失败了很多错误 .

请指导我一些有 Value 的指示 .

谢谢,

1 回答

  • 2

    没有看到具体的错误,很难确定 .

    Patch会为每个文件/补丁提供一个“.rej”文件,它会显示它尝试执行的操作以及找到的内容,从而导致失败 . 它通常会告诉您它创建了这些文件,以便您可以修复它们 .

    你可能遇到的是更原始的东西 - 在那个补丁中甚至没有找到正确的文件 .

    这通常是由于路径在补丁文件中的布局不同而导致的,因为它们是您运行它的方式 . (我试着举个例子) .

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

    /original/src/drivers/mydriver.c /destination/src/drivers/mydriver.c

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

    /project/src/drivers/mydriver.c

    这个补丁会起作用 .

    比方说,例如,您运行了相同的补丁,但您当前的工作目录是:

    / project / src

    当你运行补丁时,它会寻找一个名为的文件:

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

    什么都行不通 .

    有两种补救措施:

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

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

    您还可以发布一些您获得更多帮助的错误...

相关问题