侧边栏壁纸
博主头像
fynn博主等级

我们应该有恒心,尤其是要有自信心,必须相信自己是有能力的,而且要不惜任何代价把这种能力发挥出来。

  • 累计撰写 51 篇文章
  • 累计创建 21 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

FreeBSD内核优化、编译步骤

fynn
2023-11-13 / 0 评论 / 0 点赞 / 688 阅读 / 698 字 / 正在检测是否收录...

老版本

参考 freebsd内核编译、优化

新版本

参考 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选择需要启动的内核。
image-1699860077007

0

评论区