在FreeBSD 中,允许以下三种控制台(Console)类型:vidconsole、serial console和nullconsole。vidconsole就是我们通常使用的配有显示器和鼠标键盘的控制台,serial console是显示在串行口连接终端设备(serial terminal)上面的控制台,而nullconsole是指既不是vidconsole也不是serial console,也就是说主机上没有显示器、鼠标键盘以及串口终端。
要实现通过串口终端来访问FreeBSD很简单。从使用层次上可以分为三个阶段,下面将一一叙述:
阶段一:将登录提示符显示在你的串口终端上
要实现让用户从串口控制台上登录到FreeBSD,方法很简单,只需要修改/etc/ttys中的项即可。
FreeBSD使用/dev/目录下的ttyd*文件来表示串行口(接入用,另有cuad*来表示接出,不再累叙)。并且默认/etc/ttys中有以下几项:
ttyd0 “/usr/libexec/getty std.9600″ dialup off secure
ttyd1 “/usr/libexec/getty std.9600″ dialup off secure
ttyd2 “/usr/libexec/getty std.9600″ dialup off secure
ttyd3 “/usr/libexec/getty std.9600″ dialup off secure
虽然理论上可以使用任何一个/dev/中有的ttyd*文件来作为串口控制台,但是默认情况下FreeBSD使用ttyd0作为串口控制台,也就是说你的串口终端设备必须接到ttyd0所表示的COM1口上。
通过dmesg | grep sio可以看到类似如下的信息:
sio0: <16550A-compatible COM port> port 0×3f8-0×3ff irq 4 flags 0×10 on acpi0
sio0: type 16550A, console
sio1: <16550A-compatible COM port> port 0×2f8-0×2ff irq 3 on acpi0
sio1: type 16550A
这就是在不经过配置内核情况下࿰