For the complete documentation index, see llms.txt. This page is also available as Markdown.

10.5.构建并安装定制内核

保存自定义配置文件的编辑内容后,就可以按照以下步骤编译内核源代码:

过程:构建内核

  1. 切换到此目录:

    # cd /usr/src
  2. 通过指定定制内核配置文件的名称来编译新内核:

    # make buildkernel KERNCONF=MYKERNEL
  3. 安装与指定内核配置文件关联的新内核。此命令将新内核复制到 /boot/kernel/kernel 并将旧内核保存到 /boot/kernel.old/kernel

    # make installkernel KERNCONF=MYKERNEL
  4. 关闭系统并重启进入新内核。如果出现问题,请参考 内核无法引导

默认情况下,当编译定制内核时,所有内核模块都会重新编译。要更快地更新内核或仅构建定制模块,可以在开始构建内核之前编辑 /etc/make.conf

例如,以下变量指定要构建的模块列表,而不是默认构建所有模块:

MODULES_OVERRIDE = linux acpi

或者,此变量列出要从构建过程中排除的模块:

WITHOUT_MODULES = linux acpi sound

NO_MODULES 完全跳过模块构建,仅构建内核:

NO_MODULES = yes

Ports 框架包含依赖内核接口的驱动程序和模块(如 graphics/drm-kmodemulators/virtualbox-ose-kmod)。使用 PORTS_MODULES 变量,每次内核构建时,包含内核模块的 Port 都会根据更新的源代码重新构建,确保内核模块与内核本身保持同步。内核树和 Ports 树应一起更新以获得最大兼容性。PORTS_MODULES 可以添加到 /etc/make.conf,以确保你构建的所有内核也会重新构建这些模块。例如:

PORTS_MODULES = drm-kmod virtualbox-ose-kmod

还可以使用其他变量。有关详细信息,请参阅 make.conf(5)

最后更新于