Как я могу настроить Serial-Over-Lan (SOL) на FreeBSD 10.0 с SuperMicro X9-SCM-F системная плата? Есть несколько ресурсов, но они противоречат друг другу, неясны и фактически не позволяют мне заставить SOL работать без загрузчика.
Это проверено на FreeBSD 10.0-RELEASE, но, вероятно, будет работать на FreeBSD 9.x.
Откройте настройки 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» (по умолчанию), если хотите. Вам нужно только изменить «Бит в секунду» на 115200, чтобы получить указанную выше конфигурацию.
Загрузите FreeBSD и добавьте следующие строки в /boot/loader.conf
:
console="comconsole vidconsole"
comconsole_speed=115200
comconsole_port="0x3E8"
0x3E8
порт для COM3 («SOL» в настройках BIOS). Вы можете узнать возможные значения, проверив 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
потому что это соответствует COM3 (поскольку TTY имеют нулевой индекс, а COM - нет), что и использует наш SOL. Если вам не нужно входить в систему (потому что, например, вам просто нужно ввести пароль для ГЕЛИ во время загрузки) можно оставить /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 кажется, вам не нужно компилировать собственное ядро.
Обратите внимание, что многие из них неверны, устарели или чрезмерно усердны в настройке параметров, которые на самом деле не нужны.
Недостаточно репутации, чтобы прокомментировать ответ выше, поэтому:
Я запускаю FreeBSD 9.2, и конфигурация Эндрю, приведенная выше, позволяет мне использовать SOL на COM 3 на X8SIL-F / X8SIE-F, от BIOS до приглашения входа в систему. Он полностью основан на его ответе выше, но протестирован на 9.2 с ядром GENERIC - спасибо, Эндрю!
Несколько примечаний:
Кажется, это порядок comconsole или vidconsole в строке "console = ..." в /boot/loader.conf
, который определяет, какая консоль станет собственно загрузочной, и, следовательно, где появятся сообщения консоли (и однопользовательское приглашение). Я не мог получить /boot.config
чтобы повлиять на это, ни поиск клавиатуры, -P, или двойной консоли, -D, см. boot(8)
, оказали влияние - поэтому у меня нет /boot.config
.
Настройки BIOS X8SIL для COM3 были правильными. Я только изменил тип терминала на VT-UTF8, как было предложено, хотя ANSI и VT100 тоже работают - я их протестировал.
Мне не нужно было устанавливать irq для uart2
в /boot/loader.conf
. О флагах см. uart(8)
.
В /dev/ttys
, Я установил ttyu2
на «небезопасный», потому что я не хочу, чтобы root входил через SOL (однопользовательский режим все равно даст вам root). Я также предлагаю сделать консоль небезопасной.
Если кто-то все еще не может получить вывод SOL - сбросьте BMC, это может быть так.