我正在努力LAN 上串行在运行 Linux 的 Tyan S8225 主板上工作。这个想法是能够在另一台运行 Linux 的 PC 上使用以下命令连接到它
ipmitool -I lanplus -H 192.168.0.208 -U username sol activate
我以前从未真正使用过 SOL,因此对于这些选项有点困惑。
BIOS 中的“远程访问配置”菜单中有 3 个串行端口选项:COM1,COM2和骨科医疗器械。
COMx 和 BMC 选项之间有什么区别?哪个选项允许我从另一台计算机远程访问带有 SOL 的 PC?
我应该指出的是,该主板物理上有一个 COM1 端口。COM2 可以在 BIOS 中启用,但主板上没有它的接头。
其次,波特率等配置为何重要吗?我将其保留为默认值 9600 8,n,1。
我将以下内容传递给内核启动控制台=tty0 控制台=ttyS0,9600n8。我可以在 vga 上看到输出,但尽管我可以使用 ipmitool 连接,但没有输出出现。我只剩下:
"[SOL Session operational. Use ~? for help]"
我究竟做错了什么?
注意:刚刚尝试按照这个串行控制台操作指南. 但是 ipmitool 仍然没有输出。
答案1
确保波特率BIOS,骨科医疗器械,核心, 和在里面是相同的。通常后两者在最近的 GNU/Linux 发行版中是同步的,因此你只需要确保核心
cmdline
是正确的。至于骨科医疗器械,您可以使用以下方法检查波特率ipmitool sol info
:查找关键字 (non-)volatile-bit-rate。将其设置为 9600(在您的情况下):sol set volatile-bit-rate 9600 sol set non-volatile-bit-rate 9600
确保BIOS设置有
on after POST
或on after boot
- 确保BIOS设置有控制台重定向。在你的情况下,这可能是
remote access configuration: BMC
前面 3 点将确保您会看到预引导加载程序输出和内核引导消息。现在您还需要确保您的操作系统将在串行线路上发送提示。如何实现这一点取决于您的 GNU/Linux 发行版,但结果通常是
agetty
由其生成的进程init
或替换进程,例如:$ pgrep -lf agetty 30907 /sbin/agetty /dev/ttyS0 115200 vt100-nav
您可以手动运行一个
tty
进程,用于测试目的,例如在内核检测到的所有串行设备上(grep
用于ttyS
输出dmesg
)。您还可以在设备中发送一些输出:date | sudo dd of=/dev/console
这可能会在您的控制台上显示为乱码,但至少它可以证明您的设置是正确的。