Linux从启动到启动完成的所有输出均复制到Com口上,一共需要修改3个文件。在此之前还要确认/sbin/agetty文件是否存在,此文件用来把系统的输入输出映射到其它设备上。
1.首先在 /etc/inittab里面添加如下内容:
最后一行另加一行加上:sc:2345:respawn:/sbin/agetty ttyS0 1152000,115200 xterm
“sc”为改行ID,“2345”指改行的运行级别是2、3、4、5级;“respawn”是使命令退出后再执行一次,以便其他用户能够登录;“/sbin/agetty ttyS0 9600 vt100”表示具体的命令,即通过他来执行打开串口/dev/ttyS0(COM1),后面是波特率和终端模式
xterm是一个X Window System上的标准虚拟终端。用户可以在同一个显示器上开启许多xterm,每一个都为其中运行的进程提供独立的输入输出(一般来说此进程是Unix shell)。
2.修改/etc/securetty里面的内容:
第2行另加一行加上:ttyS0
该文件是允许root身份登录的tty设备列表,这些设备由/bin/login程序读取,为了使用户能以root身份通过串口登录,需要在该文件中添加“ttyS0”,www.linuxidc.com说明系统认为这里的COM1是安全的;
3.修改/etc/grub.conf文件里面的内容:
重定向grub:
在#Enable Serial Console下另加一行(有时可能有误差)加上:
serial --unit=0 --speed=115200 --word=8 --paity=no --stop=1
terminal --timeout=10 serial console
serial
初始化一个串口设备。
重定向console:
在/etc/grub.conf文件中kernel语句本行加上:
console=tty0 console=ttyS0,115200n8
其中“ttyS0”,“0”表示串口使用COM1;“9600”表示波特率为9600bps;“n”表示无校验位;“8”表示有8位数据位。
如果你的ttyS0出现乱码没有办法使用的话,可以尝试着从网络登陆,把/etc/inittab中ttyS0那一行注释,使用"init q"命令停止通过inittab启动的agetty,然后再重新取消/etc/inittab中的注释,再次"init q"命令启动agetty,不出意外就能恢复正常了。