kingoal 发表于 2013-1-16 17:40:28

编译FreeBSD内核

过去编译过Linux的内核,发现挺容易的。现在爱上了FreeBSD,发现编译FreeBSD的内核更加简单,时间更快
 
第一步是需要看看在现有的系统上是否存在有源码

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


[*]是使用sysinstall的方式下载当前内核配套的源码
[*]使用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
页: [1]
查看完整版本: 编译FreeBSD内核