Terminal Type [VT-UTF8]
Bits per second [115200]
Data Bits [8]
Parity [None]
Stop Bits [1]
Flow Control [None]
VT-UTF8 Combo Key Support [Enabled]
Recorder Mode [Disabled]
Resolution 100x31 [Enabled]
Legacy OS Redirection Resolution [80x24]
Putty KeyPad [VT100]
Redirection After BIOS POST [Always Enable]
您只需将“终端类型”更改为 VT-UTF8 并将“每秒位数”更改为 115200 即可实现上述配置。复制粘贴到 SOL 会话时,不更改终端类型会导致一些问题。
$ dmesg | grep uart
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart0: console (115200,n,8,1)
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
uart2: <16550 or compatible> port 0x3e8-0x3ef irq 10 on acpi0
如果您希望通过 SOL 获得登录提示(从而能够登录),请编辑/etc/ttys更改以下行:
ttyu2 "/usr/libexec/getty std.9600" dialup off secure
至
ttyu2 "/usr/libexec/getty std.115200" vt100 on secure
我们更改ttyu2是因为这对应于我们的 SOL 使用的 COM3(因为 TTY 是零索引的,而 COM 不是)。如果您不需要登录(例如,因为您只需要在启动过程中输入GELI的密码),您可以保持/etc/ttys原样。
笔记
以上是完成这项工作所需的最低要求。许多人(参见下面的“参考资料”)建议或表示他们“需要”大量其他设置,对我来说,这些设置是不需要的,但也不会损害 SOL 功能。同样,以下内容不需要,仅供参考。
这最初是在 FreeBSD 10.0-RELEASE 上测试的,但可能会在 FreeBSD 9.x 上运行,并且已知至少可以在 13.0-RELEASE 上运行。不同主板的配置可能略有不同,但这仍然可能是一个有用的参考。
BIOS 配置
打开 BIOS 设置并导航到“高级→串行端口控制台重定向”并确保“SOL 控制台重定向”设置为“启用”(您不需要启用 COM1 或 COM2 或带外管理)。
打开“SOL控制台重定向设置”,配置如下:
您只需将“终端类型”更改为 VT-UTF8 并将“每秒位数”更改为 115200 即可实现上述配置。复制粘贴到 SOL 会话时,不更改终端类型会导致一些问题。
FreeBSD 配置
启动 FreeBSD 并将以下行添加到
/boot/loader.conf
:0x3E8
是 COM3 的端口(BIOS 设置中的“SOL”)。您可以通过如下检查来发现可能的值dmesg
:如果您希望通过 SOL 获得登录提示(从而能够登录),请编辑
/etc/ttys
更改以下行:至
我们更改
ttyu2
是因为这对应于我们的 SOL 使用的 COM3(因为 TTY 是零索引的,而 COM 不是)。如果您不需要登录(例如,因为您只需要在启动过程中输入GELI的密码),您可以保持/etc/ttys
原样。笔记
以上是完成这项工作所需的最低要求。许多人(参见下面的“参考资料”)建议或表示他们“需要”大量其他设置,对我来说,这些设置是不需要的,但也不会损害 SOL 功能。同样,以下内容不需要,仅供参考。
在
/boot/loader.conf
:在
/boot.config
:或者
尽管FreeBSD 手册似乎说了什么,但您不需要编译自定义内核。
参考
请注意,其中许多是错误的、过时的或在设置实际上不需要的选项时过于热心。尽管如此,它们还是有助于实现上述最终实现。
没有足够的代表评论上面的答案,所以:
我运行 FreeBSD 9.2,Andrew 的上述配置为我在 X8SIL-F / X8SIE-F 上启用了 COM 3 上的 SOL,从 BIOS 到登录提示。它完全基于他的上述答案,但在 9.2 上使用 GENERIC 内核进行了测试——谢谢你,安德鲁!
几点注意事项:
它似乎是“console=...”行中的“comconsole”或“vidconsole”的顺序
/boot/loader.conf
,它决定了哪个成为正确的引导控制台,因此控制台消息(和单用户提示)出现在哪里。我无法对此/boot.config
施加影响,无论是探测键盘 -P 还是双控制台 -D,参见boot(8)
,都没有任何效果——所以我没有/boot.config
.X8SIL 的 COM3 BIOS 设置是正确的。我只按照建议将终端类型更改为 VT-UTF8,即使 ANSI 和 VT100 也可以工作——我对它们进行了测试。
我没有必要为
uart2
in设置 irq/boot/loader.conf
。有关标志,请参阅uart(8)
。在
/dev/ttys
中,我设置ttyu2
为“不安全”,因为我不希望 root 通过 SOL 登录(单用户模式仍然可以让你获得 root)。我建议也将控制台设置为不安全。如果有人仍然无法获得 SOL 输出 - 重置 BMC,可能就是这种情况。
没有足够的代表发表评论,但这挽救了我的一天。
但是我确实需要添加这些,
/boot/device.hints
因为没有它,FreeBSD 看不到 SOL 控制台的 uart2 设备。我有一台 Supermicro X9SRi-3F,SOL 控制台在 COM3 上运行。即使您禁用其他两个板载串行端口,也无法更改此设置。我必须添加这些才能完全解锁 FreeBSD 12.2 上的串行控制台支持