amlogic-s9xxx-armbian 内核从 5.15 升级到 6.6:一份面向新手的完整实操指南
amlogic-s9xxx-armbian 内核从 5.15 升级到 6.6一份面向新手的完整实操指南【免费下载链接】amlogic-s9xxx-armbianSupports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.项目地址: https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian你的电视盒子跑在 amlogic-s9xxx-armbian 上内核还停在 5.15而 6.6 已经能带来更好的抢占响应、BPF 网络和更完整的硬件支持——这次 amlogic-s9xxx-armbian 内核升级到底难不难本文用判断 → 迁移配置 → 编译点亮 → 体检 → 急救一条线带你走完不需要你懂 Linux 内核源码。读完你能带走一张升级信号清单帮你判断该不该升5.15 与 6.6 的关键差异速查以及配置文件的迁移手法一条可复制的编译 安装命令线含参数速查表出问题时按现象 → 定位 → 处理自救的急救通道升级前先做对三件事升级内核最大的风险不是命令本身而是没做对准备就开始升。三件事按顺序做判断时机、备好环境、源码就位。用升级信号清单判断该不该升你观察到的现象信号含义建议新驱动在 5.15 上找不到6.6 已合入主线硬件支持缺口值得升级网络/视频解码延迟偏高怀疑调度抢占策略调度与抢占改进可受益值得升级系统长期无大版本维护计划想跟进安全补丁补丁供应链更新值得升级5.15 上功能完全够用无新需求无明确收益暂缓先观察 6.6 稳定性反馈盒子内存/存储紧张编译空间不足 10GB环境不满足前提先扩容或换编译机一步装齐编译环境依赖项目在 compile-kernel/tools/script/armbian-compile-kernel-depends 里维护了完整依赖清单build-essential、libncurses-dev、flex、bison、openssl、libssl-dev、libelf-dev、ccache 等以 Ubuntu 为例sudo apt-get update -y sudo apt-get install -y $(cat compile-kernel/tools/script/armbian-compile-kernel-depends)直接在盒子上的 Armbian 里编译时先执行armbian-kernel -u更新本地编译环境脚本会自动拉齐工具链和依赖这一步能省掉大量环境不一致的排查时间。源码就位git clone --depth 1 https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian cd amlogic-s9xxx-armbian克隆完成后compile-kernel/README.cn.md 是本仓库的内核编译说明书后面用到的参数都以它为准。一眼看懂5.15 → 6.6 到底变了什么特性对比速查特性5.156.6对你的影响抢占式内核自愿抢占更完善的完全抢占交互延迟更低BPF基础支持增强 JIT网络栈可编程能力更强内存管理基本 CMA改进 CMA 算法分配更连贯碎片更少硬件支持有限新驱动扩展兼容性新芯片与外设覆盖更广安全基础防护增强控制流完整性攻击面更小关键 config 变更对比 5.15 与 6.6 两份配置文件真正值得你记住的变化只有这几行# 内存管理时钟频率 -CONFIG_HZ300 CONFIG_HZ250 # 抢占式调度 -CONFIG_PREEMPTy CONFIG_PREEMPT_VOLUNTARYy # BPF 支持 CONFIG_BPF_JIT_DEFAULT_ONy # 安全特性 CONFIG_ARM64_BTIy CONFIG_ARM64_MTEyHZ 从 300 降到 250是中断聚合与功耗之间的再平衡ARM64_BTI 和 MTE 属于 6.x 才成熟的安全特性。这些项你一般不用手动改但心里有数看 diff 时就不会慌。核心动作把旧配置翻译成新版本内核升级最容易翻车的地方是配置。思路是三步先用 diff 找到变化再用 olddefconfig 让新内核自动补默认值最后只人工确认三类高风险选项。用 diff 一步定位变化点项目把各版本配置模板放在 compile-kernel/tools/config/编译时若本地缺失-f stable参数会自动从内核仓库下载。拿到新旧两份后diff compile-kernel/tools/config/config-5.15 \ compile-kernel/tools/config/config-6.6 kernel_config_diff.txt打开 diff 文件重点扫三类行被删掉的CONFIG_XXXy旧功能没了、新增的CONFIG_XXX新能力、值改变的项。olddefconfig 一步救场配置冲突把 6.6 的配置作为基础cp config-6.6 .config进入源码树后不要逐条手改直接执行make olddefconfig它会对所有缺失或已变更的符号自动采用上游默认值并写回.config90% 的override / reassigning类警告会在这一步消失。三类必须人工确认的选项olddefconfig 之后打开 menuconfig 只查这三块处理器类型与特性确认 ARMv8.5-a 相关选项与你的 SoCs905x3/s912/rk3588 等匹配频率缩放策略保持默认。电源管理深度睡眠CPUs idle 状态保持开启盒子长期挂机才省电。设备驱动Amlogic 平台驱动、存储与网络控制器驱动必须为y或m——这是启动后有网有盘的底线。一条主线走到底编译并点亮设备编译脚本参数速查根目录的recompile脚本在 Ubuntu 下通过 Docker 容器编译盒子上的 Armbian 里则用armbian-kernel命令参数一致。核心参数如下完整说明见 compile-kernel/README.cn.md参数含义升级场景怎么填-k内核版本6.6.y多个用_分隔-a自动取同系列最新版true-n内核自定义签名默认-ophub可改自己的-m产物范围allImage、modules、dtbs-p应用 tools/patch 下的自定义补丁需要时true-t工具链gcc或clang-zinitrd 压缩格式xz-d编完删除源码true省空间-s静默日志false便于排错一次升级 6.6 的完整命令sudo ./recompile -k 6.6.y -a true -m all -p false -t gcc -z xz -d false -s false脚本内部流程是安装/检查工具链 → 拉取内核源码 → 注入配置与补丁见 compile-kernel/tools/script/armbian_compile_kernel.sh→make Image modules dtbs→ 生成 uInitrd → 打包。产物落在compile-kernel/output/版本号/下boot-*.tar.gz、modules-*.tar.gz、header-*.tar.gz、dtb-*.tar.gz。把编译好的内核装进 Armbian如果你的目标系统是本仓库构建的 Armbian最省事的方式是让armbian-update完成安装落位armbian-update -k 6.6 -u stable -d deb它会下载对应内核包、安装到/bootvmlinuz、zImage、uInitrd、dtb与/lib/modules并自动执行update-initramfs -c -k 内核版本重建 initrd。脚本同时会备份当前内核到/ddbr/backup保留最近 3 个版本——这是你回滚的保险。手动安装时对应关系是boot 产物进/bootmodules 解到/lib/modules再手动update-initramfs -c。验证启动顺序重启前先看一眼启动配置确认新内核排在前面sudo grub-editenv list在盒子上启动由 boot 分区的uEnv.txt/armbianEnv.txt驱动设备树文件名如meson-gxm.q200.dtb必须与新内核dtb-*.tar.gz里的文件一致。armbian-update安装后一般无需手改只有自定义 DTB 时才需要核对。升级后体检性能与稳定性基准测试命令sysbench cpu --cpu-max-prime20000 run sysbench memory --memory-block-size1M --memory-total-size1G run sysbench fileio --file-test-modeseqwr run前后对比示例数据测试项5.156.6变化CPU事件/秒4567523414.6%内存带宽MB/s1890214513.5%磁盘顺序写MB/s23428923.5%数字因 SoC 而异方向性参考即可CPU 与磁盘收益通常最明显。三件立即可做的调优透明大页设为neverecho never /sys/kernel/mm/transparent_hugepage/enabledI/O 调度器切mq-deadlineecho mq-deadline /sys/block/mmcblk0/queue/scheduler拥塞算法切 BBR写入/etc/sysctl.conf后sysctl -p卡住了这是急救通道编译报错先查工具链现象unrecognized command line option -marcharmv8.5-a之类的新架构参数报错。定位工具链版本低于内核要求。处理升级 GCC14.x 及以上或改用-t clangDocker 方式编译时删除旧容器让recompile拉最新 Armbian 镜像重跑环境即自动翻新。内核 panic 三步定位现象Kernel panic - not syncing: VFS: Unable to mount root fs。定位九成是 initrd 与新内核不匹配文件系统驱动没打进去。处理sudo update-initramfs -c -k 6.6版本重建 initrd 再重启仍不行就从/ddbr/backup恢复旧内核保证盒子不 brick。硬件兼容有网无盘或无网现象能进系统但网卡不识别或 eMMC 不挂载。定位对应驱动在新配置里没启用回到三类人工确认选项那一步核对。处理补开驱动重编临时过渡先回滚 5.15个别盒子需要为特定硬件打补丁把补丁放进compile-kernel/tools/patch/再用-p true编译。收尾把升级变成日常要点回顾配置迁移是关键动作diff 看差异、make olddefconfig消冲突、人工只盯处理器/电源/驱动三类选项。一条命令编译recompile -k 6.6.y ...、一条命令安装armbian-update -k 6.6其余交给脚本。升级前确认/ddbr/backup有旧内核备份出问题回滚一步到位。后续习惯定期跑armbian-update跟 stable 内核线自己改过配置的把最终.config归档进compile-kernel/tools/config/下次升级直接 diff 增量编译排错时保留-s false的完整日志。如果你在使用过程中遇到本文没覆盖的问题欢迎在仓库 issue 区分享你的机型与日志一起把 6.6 在这批盒子上磨得更稳。【免费下载链接】amlogic-s9xxx-armbianSupports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.项目地址: https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →