You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将已手动升级至5.10.162内核的OpenWrt正确升级到5.10.165版本

如何将已手动升级至5.10.162内核的OpenWrt正确升级到5.10.165版本

嗨,我懂你碰到的麻烦了——你手动给OpenWrt打了内核升级到5.10.162的补丁,结果官方master分支直接从5.10.161跳到了5.10.165,导致本地的修改和官方更新冲突,没法顺利升级对吧?别慌,跟着下面的步骤一步步来就能解决:

  • 第一步:撤销本地的5.10.162补丁修改
    你之前打的补丁改动了两个文件:include/kernel-5.10 和 target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch。如果你的OpenWrt源码是用Git管理的,直接运行这条命令就能把这两个文件恢复到官方5.10.161的状态:

    git checkout HEAD -- include/kernel-5.10 target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch
    

    要是你没使用Git,就手动恢复这两个文件:

    • 编辑include/kernel-5.10,把内容改回补丁前的样子:
      LINUX_VERSION-5.10 = .161
      LINUX_KERNEL_HASH-5.10.161 = 7aaaf6d0bcd8a2cfa14ad75f02ca62bb2de08aad3bee3eff198de49ea5254079
      
    • 编辑910-unaligned_access_hacks.patch,把其中的行号部分改回原来的@@ -1470,8 +1470,8 @@(也就是补丁里带减号的那一行内容)。
  • 第二步:拉取官方最新代码
    现在本地的冲突文件已经恢复好了,直接拉取master分支的最新更新:

    git pull origin master
    

    这一步应该不会再出现冲突了,因为你已经把本地手动修改的部分撤掉,官方的5.10.165更新能顺利合并进来。

  • 第三步:确认内核版本已更新至5.10.165
    拉完代码后,打开include/kernel-5.10文件检查一下,你会看到官方已经把版本号和哈希值换成了5.10.165对应的内容,而且官方也已经处理好了所有需要重新适配的补丁(包括你之前修改的那个ath79补丁),不用你再手动调整。

  • 第四步:重新构建OpenWrt
    最后就是常规的编译流程了,先确认你的配置没问题:

    make menuconfig
    

    然后开始编译(把命令里的N换成你CPU的核心数,能加快编译速度):

    make -jN
    

简单说下冲突的原因:官方直接跳过了5.10.162到5.10.164的版本,直接升级到165,而你本地手动修改的162版本相关文件,和官方165的更新内容重叠了,所以才会出现冲突。只要先撤销本地的手动修改,再拉取官方更新,就能完美解决问题。

备注:内容来源于stack exchange,提问作者James78

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 15:47:54