您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页linux 串口输出

linux 串口输出

来源:爱够旅游网


1.修改/etc/inittab文件

tty:2345:respawn:/sbin/agetty -L ttyS0 9600 vt100

“tty”为该行ID;“2345”指该行的运行级别是2、3、4、5级;“respawn”使命令退出后再执行一次,以便其它用户能够登录;“/sbin/getty ttyS0 9600 vt100”表示具体

的命令,该命令通过/sbin/getty程序打开串口/dev/ttyS0(COM1),波特率设置为9600bps,终端模式为vt100。

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命令使配置生

效。

修改grub.conf

完整conf

default=0

timeout=10

password --md5 $1$wwmIqO$2vofKBDL9vZKeJyaKwIeT.

serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1

terminal --timeout=10 serial console

title Red Hat Linux (2.4.9-21)

root (hd0,0)

kernel /vmlinuz-2.4.9-21 ro root=/dev/hda6 console=tty0

console=ttyS0,9600n8

initrd /initrd-2.4.9-21.img

title Red Hat Linux (2.4.9-21) single user mode

lock

root (hd0,0)

kernel /vmlinuz-2.4.9-21 ro root=/dev/hda6 console=tty0

console=ttyS0,9600n8 initrd /initrd-2.4.9-21.img

title Debian GNU/Linux, kernel 2.6.8-2-386

root (hd0,0)

kernel /vmlinuz-2.6.8-2-386 root=/dev/mapper/rootvg-root ro console=ttyS0,9600n8 console=tty0

initrd /initrd.img-2.6.8-2-386

savedefault

boot

1 将BIOS输出重定向到串口

这一功能需要主版支持, 请参考主板用户手册.

2 将Grub输出重定向到串口

编辑grub的配置文件/boot/grub/menu.lst, 添加如下行:

QUOTE:

serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1

terminal --timeout=10 serial console

grub引导过程中, 会将输出同时发送到终端屏幕和串口. grub引导过程中将在终端和连接到串口的超级终端上提示Press any key to continue, 每秒钟提示一次, 共10次, 可

修改menu.lst文件terminal行中的--timeout=10改变提示次数, 在这一段时间内, 可以在终端的键盘, 或者连接到串口的超级终端中按任意键进入grub选择菜单. 如果10秒内没有

在终端和连接串口的超级终端上按任意键, 则grub的选择菜单将出现在连接串口的

超级终端上, 如果希望默认情况下, grub选择菜单出现在终端上, 则可修改menu.lst将serial

console修改为console serial.

3 将kernel输出信息输出到串口

修改kernel行, 在该行后增加增加

QUOTE:

console=ttyS0,9600n8 console=tty0

则kernel会将输出信息同时输出到串口和终端. 我的menu.list中修改过的记录如下:

QUOTE:

title Debian GNU/Linux, kernel 2.6.8-2-386

root (hd0,0)

kernel /vmlinuz-2.6.8-2-386 root=/dev/mapper/rootvg-root ro console=ttyS0,9600n8 console=tty0

initrd /initrd.img-2.6.8-2-386

savedefault

boot

在上例中, 服务启动的信息会显示在终端上(tty0), 如果进入单用户模式, 也只会在终端(tty0)上提示输入root密码, 如果需要将服务启动的信息也输出到串口上, 可修改两

个console参数的顺序, 既修改为

QUOTE:

console=tty0 console=ttyS0,9600n8

4 允许从串口登陆linux

修改/etc/inittab文件, 增加如下内容

QUOTE:

T0:23:respawn:/sbin/agetty -L ttyS0 9600 vt100

则会启动完成后会允许从串口登陆到linux.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务