当前位置:Linux教程 - Linux资讯 - 通过串口管理Linux主机可解决硬件短缺

通过串口管理Linux主机可解决硬件短缺

  在某些情况下,需要同时对两台或多台Linux主机进行管理和操作。如果手头缺少足够多的键盘和显示器,那么通过一台机器的串口对其余主机进行控制不失为一种快捷、有效的方法。    下面就以两台主机为例,简单介绍一下配置方法。假设这两台主机分别为A和B,它们都运行Red Hat 9.0。    A主机配置    A主机要选择一个合适的串口通信工具,本文中使用Linux自带的Minicom。    以root身份登录,运行如下命令:    # minicom -s    屏幕上出现Minicom的主配置选单,移动键盘的方向键,选择“Serial Port Setup”选单项,会出现如下配置项:    A - Serial Device : /dev/ttyS0  B - Lockfile Location : /var/lock  C - Callin Program :  D - Callout Program :  E - Bps/Par/Bits : 9600 8N1  F - Hardware Flow Control : No  G - Software Flow Control : No  Change which setting?    按照需要配置如下参数:    ◆ 串口设备 /dev/ttyS0;    ◆ 波特率 9600;    ◆ 帧格式 8N1(表示有8位数据、0位校验和1位停止位);    ◆ 软、硬件流控 No。    注意,串口设备号可以根据所连接的端口进行更改,比如,连接到COM2口就设置为/dev/ttyS1。波特率的设定要与B主机一致。    配置完成后回到主配置选单,选择“Modem and Dialing”选单项,清除掉“A - Init string”、“B - Reset string”和“K - Hang-up string”选项的值。然后重新返回主选单,选择“Save As Dfl”选单项,保存为缺省设置。选择“Exit from Minicom”退出后,用如下命令重新启动Minicom:    # minicom    B主机配置    B主机需要修改以下几个文件。    1.修改/etc/inittab文件    该文件是init程序的配置文件,用于设置缺省状态和终端连接。在该文件中增加如下一行,用来初始化串口终端:    tty:2345:respawn:/sbin/agetty ttyS0 9600 vt100    “tty”为该行ID;“2345”指该行的运行级别是2、3、4、5级;“respawn”使命令退出后再执行一次,以便其它用户能够登录;“/sbin/agetty ttyS0 9600 vt100”表示具体的命令,该命令通过/sbin/agetty程序打开串口/dev/ttyS0(COM1),波特率设置为9600bps,终端模式为vt100。    重启主机B后,在A主机中会显示B主机的登录界面。但是,此时还有两个问题:一个是无法在A主机以root身份登录B;另一个是A中无法显示B主机启动和关闭过程的相关提示信息。后者是因为Linux启动时的信息都是由内核显示的,默认输出到系统主控制台(tty1)。要解决这两个问题,还需要修改/etc/securetty文件和/etc/lilo.conf文件。    2.修改/etc/securetty文件    该文件是一个被允许以root身份登录的tty设备列表,这些设备由/bin/login程序读取。为了使用户能以root身份通过串口登录,需要在该文件中添加“ttyS0”,告诉系统COM1是安全的。    3.修改/etc/lilo.conf文件    本文假设系统使用LILO启动。为了使LILO和内核的启动信息能够输出到串口,必须修改/etc/lilo.conf文件,在“linear”一行后添加“serial=0,9600n8”,将“append="root=LABEL=/"”改为“append="root=LABEL=/ console=ttyS0,9600"”。    serial选项使LILO的启动信息输出到串口,以便选择不同的系统或内核进行启动。其中,“0”表示串口使用COM1;“9600”表示波特率为9600bps;“n”表示无校验位;“8”表示有8位数据位。    “append="root=LABEL=/ console=ttyS0,9600"”的作用是向内核传递参数,使系统启动信息输出到串口COM1,波特率设为9600bps。修改完成后,重新运行一下LILO命令使配置生效。    至此,将键盘和显示器等外设连接在主机A上,主机A再通过串口连接主机B,就可以对B进行管理和控制了。所需的硬件就是一条串口线,当然还要求两台主机都具备串口。

 

 

(出处:http://www.sheup.com)