老版本
新版本
参考 FreeBSD12.1内核编译步骤
自己定制内核的好处:
- 加速开机,因为自己定制的内核只需要侦测定制系统上的硬件。
- 减少内存使用,因为内核必须一直存放在内存里。
- 增加额外硬件支持,自己定制内核可以加入一些核心没有提供的硬件支持模块。
内核编译步骤:
步骤1. 下载内核源码
删除旧的内核源码
rm -rf /usr/src/
下载同版本的内核源码
axel -n 10 -a https://mirrors.aliyun.com/freebsd/releases/amd64/12.1-RELEASE/src.txz
解压内核源码,默认解压到/usr/src
tar xzpf src.txz -C / #-p表示保留文件权限属性
步骤2:修改内核参数
方法1:直接编辑内核配置文件副本
复制一份内核配置文件,重命名为MYKERNEL
#切换到相应的架构目录下的conf
#/usr/src/sys/<架构>/conf
cd /usr/src/sys/amd64/conf
#新建一个目录,存放自定义内核配置文件
mkdir /root/kernels
cp GENERIC /root/kernels/MYKERNEL
直接编辑自定义内核配置文件
ee MYKERNEL
'''
ident MYKERNEL #修改内核配置文件名称
...
# Floppy drives
#device fdc #比如,禁用软盘驱动
...
'''
建立软连接
cd /usr/src/sys/amd64/conf
ln -s /root/kernels/MYKERNEL
方法2:使用include指令
新建一个空白的内核配置文件MYKERNEL
ee MYKERNEL
'''
include GENERIC #引入初始的GENERIC配置文件
ident MYKERNEL #本配置文件名称
...
#使用nooptions或nodevice选项来排除某些设定
nodevice fdc #禁用软盘驱动
#此方法适合对内核参数做少量更改的情况。
'''
建立软连接
cd /usr/src/sys/amd64/conf
ln -s /root/kernels/MYKERNEL
步骤3:重新编译内核
切换到/usr/src目录
cd /usr/src
指定自定义的内核设置文件,进行编译
make buildkernel KERNCONF=MYKERNEL
安装新内核
make installkernel KERNCONF=MYKERNEL
此指令将会复制新内核到/boot/kernel/kernel,并将旧内核备份到/boot/kernel.old/kernel
注意:每当新的内核被安装之后,kernel.old都会被最后安装的内核覆盖,有可能会无法开机,所以建议备份并重命令已经能正常运行的内核
cp -r /boot/kernel/ /boot/kernel.good
步骤4:选择内核开机启动
开机默认是使用最新编译的内核启动。如果想选择其他内核启动,当系统开机选单出现时,按数字5或者K,选择"Kernel:default/kernel"选项,再按K选择需要启动的内核。
评论区