Skip to content
Search Rocky Linux

This page uses Chinese content. Search opens the Chinese documentation.

    Browse this documentation

    Rocky Linux 内核模块与自定义内核

    This content is not available in your language yet.

    内核模块这一块最容易走偏的地方,是把「能查」当成「能改」:官方文档确实给了查看内核配置的方法,也确实给了自建内核的完整指南,但两者回答的不是同一个问题。本页先把官方给出的路径讲清楚,再谈第三方驱动的通用做法。

    内核配置怎么看:官方给出的方法

    Section titled “内核配置怎么看:官方给出的方法”

    官方文档在 Gemstones 的 Core 组里有一篇 View Current Kernel Configuration:它说明可引导内核的配置以 ASCII 文件形式保存在 /boot/config-*(用 uname -r 定位当前内核版本),并列出 lsmod、modinfo、sysctl 等查看运行中内核参数与模块的命令。

    读配置之前有三件事值得先明确,它们都属于通用工程判断:

    • 先对准版本:配置文件与模块目录都跟着具体内核版本走,先确认你在看的确实是当前运行的那个版本;
    • 区分静态与模块:同一个功能的两种存在形式,后续处理方式不同,看的时候就要分开记;
    • 把结论落到清单:读到的东西记进资产清单,而不是直接在运行时改文件里的值。

    需要自建或改动内核时,官方另有 Building and Installing Custom Linux Kernels 指南,内容覆盖内核源码与版本命名、构建依赖准备、内核配置、编译与安装,以及引导自定义内核后的验证。

    与上一节的分工可以直接这样理解:

    • 查看配置回答的是「当前这个内核里有什么」;
    • 自建内核回答的是「我要的内核怎么来」;
    • 两者互补,不能互相替代——想改一个编译期选项,只读配置文件是改不动的。

    引导与内核:Admin Guide 的对应章节

    Section titled “引导与内核:Admin Guide 的对应章节”

    官方 Admin Guide 的 System Startup 章覆盖引导流程(POST 与 MBR、GRUB2、内核与 systemd)和引导配置,并说明 GRUB2 的配置由 grub2-mkconfig 生成。

    下面几条是通用实践,不依赖具体发行版,也不构成对任何驱动可用性的判断:

    • 模块来源要可追:模块来自官方仓库、厂商仓库还是自行编译,必须记录在案,否则内核更新时无法判断依赖关系;
    • 内核更新与模块重建一起排期:更新内核前先确认依赖模块有没有匹配的新版本,避免更新之后设备直接不可用;
    • 保留可回退的旧内核:确认引导菜单里仍有可用条目、并且确实能起来,再谈清理旧版本;
    • 变更放进可回退窗口:内核与驱动相关的动作放在有快照的窗口内执行,回滚点先于变更准备好;
    • 先取证再处置:模块加载失败时先记录现象、日志与当前状态,再决定修复还是回退。
    • 「看了配置就等于改了配置」:查看方法是只读证据,要改编译期选项只能走自建内核这条路;
    • 「内核更新后模块自然跟着更新」:第三方模块与内核版本是一对一的关系,更新顺序安排错了会直接失去设备;
    • 「新内核装完就完事」:装完还要能引导、能加载依赖模块,验证缺一不可;
    • 「出问题先把安全机制关掉」:把强制访问控制或模块校验关掉,通常会把一个问题变成两个问题。