OpenBSD3.6编译内核的方法
OpenBSD3.6编译内核的方法
发布时间:2016-12-27 来源:查字典编辑
摘要:首先要下载安装所需的包在官方发布的OpenBSD光盘上可以获取源代码,当然也可以从网上下载src.tar.gz、sys.tar.gz、por...

首先要下载安装所需的包

在官方发布的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什么的

[code:1:e1bf538bc9]

#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

[/code:1:e1bf538bc9]

然后执行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

处理器及I/O部分有:

option I686_CPU

这个很简单,与FreeBSD一样

#option GPL_MATH_EMULATE

别把它打开除非你的机器老得连FPU都没有

option DUMMY_NOPS

把开机延迟关掉

option UVM

高级虚拟内存系统,在系统进行交换时提高速度所用

#option MFS

这个也与FreeBSD含义一样,用于建立内存盘以提升数据访问速度

网络部分有:

option NMBCLUSTERS="8192"

与FreeBSD含义一样,提升高流量时的网络操作速度并提高内核稳定性。如流量低可用1024或2048

另外,把不需要的网卡设备都注释掉,这样可以减小内核容量提升启动速度。

磁盘设备部分有:

option BUFCACHEPERCENT=45

保留45%的系统内存作为文件系统的缓存,顾名思义,根据实际系统内存数来取值,推荐取低一些的值

另外,与网络部分一样,把不需要的磁盘设备(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下一样的配置功能。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Unix/BSD学习
热门Unix/BSD学习
操作系统子分类