lcmust 发表于 2013-09-06 12:16

在双核CPU上编译openBSD的内核源码重启进入系统后是单核了?

在奔腾双核2GHZ的处理器,编译openBSD的内核源码,大约只要5分钟就编译完成(单核CPU上也只需要10来分钟)。这个可能跟openBSD内核比较精减、驱动比较少有关。
编译后,重启进入系统,发现系统是单核的了。 不知道咋搞?

gvim 发表于 2013-09-06 12:49

配置的时候没加 SMP 支持吧

lcmust 发表于 2013-09-06 16:08

回复 2# gvim


    谢谢提醒。经仔细查看,发现在配置目录下有一个为多核CPU的配置文件为GENERIC.MP其内容如下:
#       $OpenBSD: GENERIC.MP,v 1.8 2008/12/26 17:10:45 deraadt Exp $
#
#       GENERIC.MP - sample multiprocessor kernel
#

include "arch/i386/conf/GENERIC"

option          MULTIPROCESSOR# Multiple processor support

cpu*            at mainbus?
重新编译:
config GENERIC.MP
cd ../compile/GENERIC.MP
make clean
make depend
make -j2
make install
新生成的内核文件bsd与系统原生内核同样大小,:em21:用hexdump /bsd与原内核比较,也只有大概20行不同。
重启后在top中查看,是支持双核了,但是空闲状态下的CPU占用与原来也差不多,看来真没有必要自己编译openBSD内核????

f5b 发表于 2013-09-07 10:52

一般确实没有必要编译内核

如果确实要编译,可就是在跟最新current代码的时候用的上。

lcmust 发表于 2013-09-08 09:42

回复 4# f5b


    记得在LINUX下编译内核,感觉速度比原生内核要快一点呢? 看来是LINUX与BSD这2个之间有较大差别.

fly3ds 发表于 2013-10-12 11:42

本帖最后由 fly3ds 于 2013-10-12 11:48 编辑

lcmust 发表于 2013-09-06 16:08 static/image/common/back.gif
回复 2# gvim




呃,“cd ../compile/GENERIC.MP”

cd一个文件是什么意思?


当然有必要。比如要个加个驱动模块、修改下内核调度算法这些对我们来说可能碰到的机会不多,不过极小的修改比如改下启动时打印的输出信息,这些都是要重新编译的。

f5b 发表于 2013-10-12 16:56

本帖最后由 f5b 于 2013-10-12 16:56 编辑

fly3ds 发表于 2013-10-12 11:42 static/image/common/back.gif
呃,“cd ../compile/GENERIC.MP”

cd一个文件是什么意思?




cd ../compile/GENERIC.MP


这里../compile/GENERIC.MP实际上是个目录来的,如果你有src的完整目录就知道了。

fly3ds 发表于 2013-10-27 13:18

确实,NetBSD也有相同的配置文件。不过遍5分钟,实在太快了。 我编译之前先成成了各种工具花了半小时以上,配置内核都还没做呢。

leeqiand 发表于 2013-11-04 18:36

这个似乎不需要吧 你cp bsd.mp bsd 然后reboot就OK了 或者做个链接 默认应该是自动识别核心数量的 如果本地的被删了 直接到ftp下载个就成
页: [1]
查看完整版本: 在双核CPU上编译openBSD的内核源码重启进入系统后是单核了?