OpenBSD3.6编译内核的方法
<p>首先要下载<a target="_blank" href="#" class="UBBWordLink">安装</a>所需的包 <br />在官方发布的OpenBSD光盘上可以获取源代码,当然也可以从网上下载src.tar.gz、sys.tar.gz、ports.tar.gz文档 <br />
cp /home/jjp/src.tar.gz /usr/src/ <br />
tar zxvf src.tar.gz <br />
cp /home/jjp/sys.tar.gz /usr/src/ <br />
tar zxvf sys.tar.gz <br />
cp /home/jjp/ports.tar.gz /usr/ <br />
tar xzvf ports.tar.gz</p>
<p> 可以cvsup到最新的文件,首先要<a target="_blank" href="#" class="UBBWordLink">安装</a>cvsup。 <br />
pkg_add cvsup-16.1g-no_x11.tgz <br />
装完以后需要自己手工生成配置文件,不象FreeBSD那样可以拷贝一个example。 <br />
cd /usr <br />
mkdir cvsup <br />
cd cvsup <br />
编辑cvsup-supfile</p>
<p> mg cvsup-supfile <br />
#注意需要用mg,不是vi什么的 <br />
<br />
#Defaults that apply to all the collections <br />
*default release=cvs <br />
*default delete use-rel-suffix <br />
*default umask=002 <br />
*default host=cvsup.uk.openbsd.org <br />
*default base=/usr <br />
*default prefix=/usr/cvsup</p>
<p> #If your network link is T1 or faster, comment out the following line. <br />
*default compress</p>
<p> OpenBSD-all <br />
#OpenBSD-src <br />
#OpenBSD-www <br />
#OpenBSD-ports <br />
#OpenBSD-x11 <br />
#OpenBSD-xf4 <br />
</p>
<p> 然后执行cvsup <br />
cvsup -g -L 2 cvsup-supfile</p>
<p> OpenBSD的内核配置文件因为支持多平台,所以相应平台的配置 <br />
文件就存放在/usr/src/sys/arch/$ARCH/conf/里,这里的$ARCH就是你所用的平台名称。以i386为例介绍对内核有优化作用的选项。 </p>
<p> cd /usr/src/sys/arch/i386/conf <br />
cp GENERIC mine <br />
vi mine</p>
<p> 处理器及I/O部分有: <br />
option I686_CPU <br />
这个很简单,与FreeBSD一样 <br />
#option GPL_MATH_EMULATE <br />
别把它打开除非你的机器老得连FPU都没有 <br />
option DUMMY_NOPS <br />
把开机延迟关掉 <br />
option UVM <br />
高级虚拟内存<a target="_blank" href="#" class="UBBWordLink">系统</a>,在<a target="_blank" href="#" class="UBBWordLink">系统</a>进行交换时提高速度所用 <br />
#option MFS <br />
这个也与FreeBSD含义一样,用于建立内存盘以提升数据访问速度 </p>
<p> <a target="_blank" href="#" class="UBBWordLink">网络</a>部分有: <br />
option NMBCLUSTERS="8192" <br />
与FreeBSD含义一样,提升高流量时的<a target="_blank" href="#" class="UBBWordLink">网络</a><a target="_blank" href="#" class="UBBWordLink">操作</a>速度并提高内核稳定性。如流量低可用1024或2048 <br />
另外,把不需要的网卡设备都注释掉,这样可以减小内核容量提升启动速度。 </p>
<p> 磁盘设备部分有: <br />
option BUFCACHEPERCENT=45 <br />
保留45%的<a target="_blank" href="#" class="UBBWordLink">系统</a>内存作为文件<a target="_blank" href="#" class="UBBWordLink">系统</a>的缓存,顾名思义,根据实际<a target="_blank" href="#" class="UBBWordLink">系统</a>内存数来取值,推荐取低一些的值 <br />
另外,与<a target="_blank" href="#" class="UBBWordLink">网络</a>部分一样,把不需要的磁盘设备(scsi、ide)都注释掉。 </p>
<p> 配完了内核,依次打: <br />
cd /usr/src/sys/arch/i386/conf ; <br />
config mine <br />
cd ../compile/mine ; <br />
make depend && make <br />
cp /bsd /bsd-old ; cp bsd /bsd <br />
重启后就可以直接用刚才编译好的新内核了,如果它有任何问题,可以重启后在boot>的提示符上输入刚才换名的旧内核,命令格式为: <br />
boot> boot device:/kernelold <br />
把device换成你存放旧内核的盘设备即可。顺便提一下,你可以在上述命令后加上一个-c选项进入User Kernel Config界面,它提供与FreeBSD下一样的配置功能。</p>
頁:
[1]