每当我在 VirtualBox 中安装 OpenBSD 时,我都需要在安装之前设置 CPU 计数,因为稍后更改计数不会使新核心可见。我可以运行一个命令来重置此计数并重新探测吗?
答案1
默认情况下,OpenBSD 安装两个内核:bsd.sp
和bsd.mp
。第一个用于单处理器 ( sp
) 机器,第二个用于多处理器机器 ( mp
)。安装程序会选择更合适的选项并将其安装为/bsd
,然后默认启动。另一个也将被安装(作为/bsd.sp
或/bsd.mp
),因此它将可用,但默认情况下不会启动。
如果您在安装 OpenBSD 时只有一个 CPU,它会将您的 VM 检测为一台sp
机器,并将其重命名/bsd.sp
为/bsd
,以便默认启动,并将mp
内核保留为/bsd.mp
。如果您确实想确定哪个是哪个,strings
将向您展示:
# strings /bsd.mp | grep ^OpenBSD
...
OpenBSD 6.9-current (GENERIC.MP) #12: Mon May 10 14:33:52 MDT 2021
# strings /bsd | grep ^OpenBSD
...
OpenBSD 6.9-current (GENERIC) #12: Mon May 10 14:22:32 MDT 2021
因此,普通多处理器内核将被命名GENERIC.MP
,而单处理器内核将被命名为GENERIC
。您可以使用 来查看当前正在运行的程序sysctl kern.osversion
。
如果您想启动不同的内核,只需在启动提示符处输入:
boot> boot /bsd.mp
并且多处理器内核将被引导。然后您可以检查dmesg
一切是否按计划运行(即GENERIC.MP
内核已启动并cpu*
显示多行)。
如果您想将其设为新的默认值,只需重命名/bsd
为/bsd.sp
,然后重命名/bsd.mp
为/bsd
(或更改/etc/boot.conf
)。