10.5.构建并安装定制内核
# cd /usr/src# make buildkernel KERNCONF=MYKERNEL# make installkernel KERNCONF=MYKERNEL
MODULES_OVERRIDE = linux acpiWITHOUT_MODULES = linux acpi soundNO_MODULES = yesPORTS_MODULES = drm-kmod virtualbox-ose-kmod最后更新于
保存自定义配置文件的编辑内容后,就可以按照以下步骤编译内核源代码:
过程:构建内核
切换到此目录:
# cd /usr/src通过指定定制内核配置文件的名称来编译新内核:
# make buildkernel KERNCONF=MYKERNEL安装与指定内核配置文件关联的新内核。此命令将新内核复制到 /boot/kernel/kernel 并将旧内核保存到 /boot/kernel.old/kernel:
# make installkernel KERNCONF=MYKERNEL关闭系统并重启进入新内核。如果出现问题,请参考 内核无法引导。
默认情况下,当编译定制内核时,所有内核模块都会重新编译。要更快地更新内核或仅构建定制模块,可以在开始构建内核之前编辑 /etc/make.conf。
例如,以下变量指定要构建的模块列表,而不是默认构建所有模块:
MODULES_OVERRIDE = linux acpi或者,此变量列出要从构建过程中排除的模块:
WITHOUT_MODULES = linux acpi soundNO_MODULES 完全跳过模块构建,仅构建内核:
NO_MODULES = yesPorts 框架包含依赖内核接口的驱动程序和模块(如 graphics/drm-kmod、emulators/virtualbox-ose-kmod)。使用 PORTS_MODULES 变量,每次内核构建时,包含内核模块的 Port 都会根据更新的源代码重新构建,确保内核模块与内核本身保持同步。内核树和 Ports 树应一起更新以获得最大兼容性。PORTS_MODULES 可以添加到 /etc/make.conf,以确保你构建的所有内核也会重新构建这些模块。例如:
PORTS_MODULES = drm-kmod virtualbox-ose-kmod还可以使用其他变量。有关详细信息,请参阅 make.conf(5)。
最后更新于