使用串口控制FreeBSD Using Serial Console in FreeBSD

Using Serial Console in FreeBSD(使用串口控制FreeBSD)
========================================
作者:黑夜编码人(Matthew)
日期:2003年04月23日
Mail:matthew@Linuxforum.net
Web:http://www.arbornet.org/~matthew/

**声明:
作者写这篇文章只是将自己如何配制Serial Console的过程写出来并且希望能给需要的朋友一点帮助,对于文中所写的内容如果对你造成了任何损失概不负责,特此声明!
任何转载或摘抄请保留以上信息 。


FreeBSD支持使用Serial Console来远程控制计算机,并且支持在启动的时候就使用Serial Console来对机器进行控制 。

好了,费话少说,下面让我们来看看在FreeBSD上如何使用和配制Serial Console 。

1)准备Null-Modem连线 。
我跑便了整个电脑城都没有买到这种连线,后来没有办法就买了一根”母“COM口的连接线(注意别买成“公”的了,母的连接处应该是针孔,而不是针),然后自己做了一根null-modem连接线 。
我制作的是标准Null-Modem连接线,其连接交叉图如下:


2)设置FreeBSD
在设置前请确定你的当前Kernel已经支持Serial Console,你可以使用dmesg | grep sio来查看当前Kernel是否支持Serial Console,如果支持的话将会出现类似以下的信息:
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
如果你没有看到以上信息说明你的Kernel不支持Serial Console,你需要重新配制你的Kernel,在内核配制文件中加入以内存:
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
然后重新编译你的内核 。(如果你不知道如何编译内核,请参阅Handbook)

当内核支持Serial Console并且已经用Null-Modem将两台计算机的COM口连接好以后,你可以使用以下命令来测试你的连接是否已经正常工作:
# cu -l /dev/cuaa0 -s 9600
(注:这里FreeBSD使用的连接端口是COM1,如果你使用的是COM2请将cuaa0换成cuaa1)
如果显示“connected.”表示连接成功,此时你可以使用Windows的超级终端连接到FreeBSD Box,连接时设置端口属性:
每秒位数:9600
数据位:8
奇偶校验:无
停止位:1
数据流控制:硬件

当超级终端连接上FreeBSD Box之后,超终端终上不能看到任何内容,也不能进行任何操作,但你可以在刚才执行的cu -l /dev/cuaa0 -s 9600命令之后输入字符(当然,你在FreeBSD的终端上看不到任何显示),这时这些字符将在超级终端里显示出来,这表明你的硬件设置已经正常工作,可以继续下面的工作了 。

编辑/etc/ttys更改其中的ttyd0和ttyd1设置如下:
ttyp0 "/usr/libexec/getty std.9600" unknown on secure
ttyp1 "/usr/libexec/getty std.9600" unknown on secure
这样的设置允许root权限的用户从Serial Console上登录,如果你比较重视安全,你可以将这里的secure改为insecure来限制root权限的用户登录 。
编辑/boot/loader.conf并设置默认控制台为Serial Console,你需要加入以下设置:
console="comconsole"
此时打开你的超级终端并且连接上FreeBSD,这里你将看不到任何信息,因为你刚才在FreeBSD上的设置还没有生效 。
现在重新启动你的FreeBSD机器 。
当机器重新启动后,在FreeBSD上显示出:
Loading /boot/defaults/loader.conf
|
之后,如果此时你的配制正确的话便可以在超级端上看到FreeBSD的启动信息,等启动完成后就可以看到熟悉的login:提示了 。
如果你在重新启动的时候没有打开超级端也没有关系,等机器启动完之后,打开超级终端连接上FreeBSD,然后在超级终端里按回车键(注意,一定要按回车来激活),这时login:提示也将出现,你现在便可以登录并管理你的机器了 。

推荐阅读