OpenBSD3.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什么的
[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下一样的配置功能。

(0)

相关推荐

  • Linux编译内核

    Linux编译内核 - 准备工作 通常要运行的第一个命令是: #cd /usr/src/linux;make mrproper 该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖 配置 ?? ...

  • 使用yum更新时不升级Linux内核的方法

    RedHat/CentOS/Fedora使用 yum update 更新时,默认会 升级内核 。但有些服务器硬件(特别是组装的机器)在升级内核后,新的内核可能会认不出某些硬件,要重新安装驱动,很麻烦。 ...

  • 详解CentOS中更新系统而不更新Linux内核的方法

    今天在使用Ucloud的云服务器的时候,手贱使用了一下 复制代码 代码如下: yum upgrade -y 然后重启以后我的机器就连不上了. 与客服人员交流后发现是更新的时候不能更新内核. 其实方法也 ...

  • FreeBSD10安装内核源代码方法讲解

    安装FreeBSD10之后,发现没有安装内核源代码.(没有/usr/src/sys目录) 网上搜到的安装方法大都是用bsdinstall. 但我运行bsdinstall之后没有出现选单可以选择安装源代 ...

  • ubuntu12.04卡死的解决方法(ubuntu查看内核以及升级内核的方法)

    刚开始安装的时候用着还行,不过后来发现用了一会总是会出现卡死的状况 后来看了下ubuntu12.04的内核是3.2,后来把内核升级到3.5发现这种情况不会出现了。 查看内核以及升级内核 uname - ...

  • GD 编译出错解决方法

    编译最新的2.0.35版本,用默认的 ./configure编译 当make的时候,出现以下错误 configure.ac:64: error: possibly undefined macro: A ...

  • Ubuntu系统下升级内核的方法

    首先修改源 echo 'deb http://Ubuntu.cn99.com/ubuntu/ intrepid main restricted' | sudo tee -a /etc/apt/sour ...

  • apk反编译工具使用方法 快速反编译安卓apk软件

    学习安卓开发经常需要分析别人的apk,通过了解别人怎么编写的代码从而快速提高自己的编程水平,所以就需要用到apk反编译软件将别人的apk文件反编译出来,这样就可以查看其代码了.反编译是一种程序逆向编译 ...

  • centos:/tmp不能运行导致的安装编译错误问题解决方法

    [root@web1 ~]# pecl install apc downloading APC-3.1.9.tgz ... Starting to download APC-3.1.9.tgz (15 ...