Freebsd

帶有 SuperMicro X9-SCM-F 的 FreeBSD 10.0 上的 LAN 上串列

  • May 4, 2021

如何使用SuperMicro X9-SCM-F主機板在 FreeBSD 10.0 上設置 Serial-Over-Lan (SOL)?那裡有一些資源,但它們相互矛盾,不清楚,實際上不允許我讓 SOL 通過引導載入程序工作。

這在 FreeBSD 10.0-RELEASE 上進行了測試,但可能會在 FreeBSD 9.x 上執行。

BIOS 配置

  • 打開 BIOS 設置並導航到“高級→串列埠控制台重定向”並確保“SOL 控制台重定向”設置為“啟用”(您不需要啟用 COM1 或 COM2 或帶外管理)。
  • 打開“SOL控制台重定向設置”,配置如下:
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]

如果您願意,可以將“終端類型”設置為“VT100”(預設值)。您只需將“Bits per second”更改為 115200 即可實現上述配置。

FreeBSD 配置

  • 啟動 FreeBSD 並將以下行添加到/boot/loader.conf
console="comconsole vidconsole"
comconsole_speed=115200
comconsole_port="0x3E8"

0x3E8是 COM3 的埠(BIOS 設置中的“SOL”)。您可以通過如下檢查來發現可能的值dmesg

$ 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 功能。同樣,以下內容不需要,僅供參考。

  • /boot/loader.conf
boot_multicons="yes"
boot_serial="yes"
hint.uart.0.flags="0x00"
hint.uart.2.at="isa"
hint.uart.2.flags="0x10"
hint.uart.2.irq="10"
hint.uart.2.port="0x3E8"
  • /boot.config
-P

或者

-Dh

儘管FreeBSD 手冊似乎說了什麼,但您不需要編譯自定義核心。

參考

請注意,其中許多是錯誤的、過時的或在設置實際上不需要的選項時過於熱心。

引用自:https://serverfault.com/questions/574351