编译FreeBSD内核

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:48   1123   0

过去编译过Linux的内核,发现挺容易的。现在爱上了FreeBSD,发现编译FreeBSD的内核更加简单,时间更快

第一步是需要看看在现有的系统上是否存在有源码

# ls /usr/src/sys
若出现的结果是 ls: /usr/src/sys: No such file or directory,则需要先下载到FreeBSD的源码,可以使用两种方式:

  1. 是使用sysinstall的方式下载当前内核配套的源码
  2. 使用svn从FreeBSD的版本控制服务器上下载最新的版本

第二步执行下面的命令

# cd /usr/src/sys/i386/conf

然后

# cp GENERIC SUNRISE

下面再编辑SUNRISE文件

vi SUNRISE

里面包括一些选项,根据自己的需要来定制内核的功能、驱动、模块等,在整个过程中可以参考文档

http://www.freebsd.org/doc/en/books/handbook/kernelconfig.html

第三步是开始编译了

# cd /usr/src/sys/i386/conf
# /usr/sbin/config SUNRISE
# cd ../compile/SUNRISE
# make depend
# make
# make install

到现在为止,如果没有出错那么就是编译安装内核成功了,只需要重新启动机器,就加载刚刚编译的内核了.新的内核存放在目录/boot/kernel下,旧的内核存在/boot/kernel.old/下

第四步,如果在加载新的内核出问题的话,可以在启动等待10秒的时候输入如下命令

选择Escape to a loader prompt,第6项,然后输入unload kernel,再加载旧的内核

boot /boot/kernel.old/kernel

最后需要提醒的是,每一次编译都是将新编译的内核覆盖/boot/kernel目录,过去/boot/kernel覆盖/boot/kernel.old,但是不能够保证每一次编译都没有问题,所以有必要在/boot下保存一份好的内核,如

# cp /boot/kernel /boot/kernel_good
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP