linux内核编译:OpenBSD编译内核

=postbody>曾经装过次OpenBSD由于种种原因没有再继续使用现在简单把原来笔记整理下吧这个笔记是以3.6为例希望不算太过时估计思路方法应该没变

首先要下载安装所需
在官方发布OpenBSD光盘上可以获取源代码当然也可以从网上下载src.tar.gz、sys.tar.gz、ports.tar.gz文档
cp /home/jjp/src.tar.gz /usr/src/
tar zxvf src.tar.gz
cp /home/jjp/sys.tar.gz /usr/src/
tar zxvf sys.tar.gz
cp /home/jjp/ports.tar.gz /usr/
tar xzvf ports.tar.gz

可以cvsup到最新文件首先要安装cvsup
pkg_add cvsup-16.1g-no_x11.tgz
装完以后需要自己手工生成配置文件不象FreeBSD那样可以拷贝个example
cd /usr
mkdir cvsup
cd cvsup
编辑cvsup-supfile

mg cvsup-supfile
#注意需要用mg不是vi什么
=genmed>代码:

#Defaults that apply to all the collections
*default release=cvs
*default delete use-rel-suffix
*default umask=002
*default host=cvsup.uk.openbsd.org
*default base=/usr
*default prefix=/usr/cvsup

#If your network link is T1 or faster, comment out the following line.
*default compress

OpenBSD-all
#OpenBSD-src
#OpenBSD-www
#OpenBSD-ports
#OpenBSD-x11
#OpenBSD-xf4


=postbody>

然后执行cvsup
cvsup -g -L 2 cvsup-supfile

OpenBSD内核配置文件支持多平台所以相应平台配置
文件就存放在/usr/src/sys/arch/$ARCH/conf/里这里$ARCH就是你所用平台名称以i386为例介绍对内核有优化作用选项

cd /usr/src/sys/arch/i386/conf
cp GENERIC mine
vi mine

O 处理器及I/O部分有:
option I686_CPU
这个很简单和FreeBSD
#option GPL_MATH_EMULATE
别把它打开除非你机器老得连FPU都没有
option DUMMY_NOPS
把开机延迟关掉
option UVM
高级虚拟内存系统在系统进行交换时提高速度所用
#option MFS
这个也和FreeBSD含义用于建立内存盘以提升数据访问速度

O 网络部分有:
option NMBCLUSTERS="8192"
和FreeBSD含义提升高流量时网络操作速度并提高内核稳定性如流量低可用1024或2048
另外把不需要网卡设备都注释掉这样可以减小内核容量提升启动速度

O 磁盘设备部分有:
option BUFCACHEPERCENT=45
保留45%系统内存作为文件系统缓存Cache顾名思义根据实际系统内存数来取值推荐取低
另外和网络部分把不需要磁盘设备(scsi、ide)都注释掉

配完了内核依次打:
cd /usr/src/sys/arch/i386/conf ;
config mine
cd ../compile/mine ;
make depend && make
cp /bsd /bsd-old ; cp bsd /bsd
重启后就可以直接用刚才编译好新内核了如果它有任何问题可以重启后在boot>提示符上输入刚才换名旧内核命令格式为:
boot> boot device:/kernelold
把device换成你存放旧内核盘设备即可顺便提你可以在上述命令后加上个-c选项进入User Kernel Config界面它提供和FreeBSD下配置功能

其他内核选项可以参考:
http://www.openbsd.org/cgi-bin/man.cgi?query=options&sektion=4文档
Building the from Source可参考:
http://www.openbsd.org/faq/faq5.html#Options
Tags:  如何编译linux内核 ubuntu编译内核 内核编译 linux内核编译

延伸阅读

最新评论

发表评论