gpt4 book ai didi

linux - 快速内核重新编译

转载 作者:太空狗 更新时间:2023-10-29 12:30:06 28 4
gpt4 key购买 nike

我正在尝试自动执行重新编译升级内核的过程。 (我是说版本升级)

我的工作:

  1. 用rsync备份目标文件(*.o)

  2. 删除目录并使mrproper

  3. 提取新源和补丁

  4. 使用 rsync 恢复对象文件

但我发现它没有意义。由于跳过编译的东西需要得到一个散列,这应该删除它。

问题:我需要保留什么文件?或者它不存在?

顺便说一句:我已经知道 ccache,但它会因为一点配置更改而崩溃。

最佳答案

你做错了™ :-)

保持内核树原样,并使用适当的增量补丁简单地修补它。例如,对于 3.x,您可以在此处找到这些补丁:

https://www.kernel.org/pub/linux/kernel/v3.x/incr/

如果您当前已构建 3.18.11 并想升级到 3.18.12,请下载 3.18.11-12 补丁:

https://www.kernel.org/pub/linux/kernel/v3.x/incr/patch-3.18.11-12.xz

(或 .gz 文件,如果您没有安装 xz 实用程序。)

并应用它。然后“make oldconfig”和“make”。需要重建的都会重建。

但是,实际上最好不要依赖目标文件依赖机制。谁知道某些东西是否最终可能不会被重建,即使它应该由于错误而被重建。因此,我建议每次在应用补丁之前使用“make clean”开始清理,即使它会重建所有内容。

您真的非常需要节省构建时间吗?如果是,配置内核(“make menuconfig”)并禁用所有你不需要的功能(比如你没有的硬件的设备驱动程序,你不关心的文件系统,网络)可能是一个更好的主意你不会使用的功能等)这样一个针对我的需要优化的内核只需要大约 3 或 4 分钟来构建(通常,启用所有功能的完整内核需要半个多小时;或者这些天甚至更多,它已经自从我构建未优化的内核以来已经有很长一段时间了。)

关于内核补丁的更多信息:

https://www.kernel.org/doc/Documentation/applying-patches.txt

关于linux - 快速内核重新编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30122077/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com