Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1737516
  • 博文数量: 358
  • 博客积分: 2180
  • 博客等级: 大尉
  • 技术积分: 1810
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-17 13:47
文章分类

全部博文(358)

文章存档

2016年(17)

2015年(55)

2014年(9)

2013年(67)

2012年(181)

2011年(29)

分类: LINUX

2012-09-12 15:46:31

  com 口 CONSOLE一般经历三个过程
  •    POST console ——开机自检就走COM口
  •    UNIX gru loader 启动信息走COM口
  •    完整的控制台操作(login,command)走COM口


    从POST(Power On Self Test)开始console
很多主板并不支持post to com功能
因此是否从POST开始CONSOLE主要取决于主板BIOS是否支持。
支持POST console的电脑完全不需要键盘和显示器,通常是服务器一类。


    UNIX gru loader 启动信息重定向到COM口(缺省CONSOLE是控制台——键盘和显示器)
即使机器不支持POST CONSOLE,配置成UNIX启动信息重定向COM口后,当完成自检后,控制台就转到CONSOLE口上了
在GRUB中,找到kernel语句
vi /boot/grub/menu.lst

kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
改成
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ console=tty0 console=ttyS0
                                                   当前键盘/显示器控制台  COM1口
Grub 中的kernel语句加的console=device,options语句的含义
device:    tty0        前台的虚拟终端(VGA)
          ttyX        虚拟终端(ALT-F1~F6)
          ttySx       串口,ttyS0=串口1
options:
格式:BBBBPN     
BBBB表示速率
P表示校验(n/o/e)
N表示停止位数
缺省是9600n8

Null modem cable对端的配置工作站的虚拟终端配置要按这个BBBBPN来配置


    接上节,两个CONSOLE“console=tty0 console=ttyS0”,到底哪个起作用
答:都起作用
但当进程打开/dev/console时,最后一个终端ttyS0将会作为当前终端,但系统也会在tty0(VGA)上回显和ttyS0一样的信息

   Grub loader官方的一种启动COM口的方法
# vi /boot/grub/grub.conf
# To enable grub serial console to ttya uncomment the following lines
# and comment out the splashimage line below
# WARNING: don't enable grub serial console when BIOS console serial
#       redirection is active!!!
   serial --unit=0 --speed=9600
   terminal serial

#splashimage /boot/grub/splash.xpm.gz
屏蔽掉gru loader启动时的图片


  工控机(完全无显卡)启动
工控机安装linux,工控机无板上显卡
所以工控机完全没有tty0,只有ttyS0
(但平常安装linux必定是插显卡安装的,哪怕是开盖插卡安装,所以当其后盖盖上启动后,LINUX肯定起不来(因为没显卡)。)


   开启ttys0 登陆: 修改gru loader只能解决启动启动信息重定向到COM,但启动信息显示完后,COM口仍不允许登陆
原理:
1.Linux启动信息都是由KERNEL显示的
2.启动完毕了后,init进程(系统第一个进程)运行mingetty程序来提供6个虚拟终端(ttyX,ALT-F1~F6))来登陆系统(见/etc/inittab
解决:
我们需要另外运行一个提供从串口登录能力的程序agetty,它是属于util-Linux软件包中的一员

vi /etc/inittab
加下面一行
S0:2345:respawn:/sbin/agetty -L 9600 ttyS0  
“2345”是运行级
“respawn”: 表示进程在无论任何时候终止,都会自动重启,即此进程永远挂着
 


   agetty程序支持串口终端 ,mingetty 程序不支持串口,支持键盘终端
[root@localhost mac]# /sbin/agetty
Usage: agetty [-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] baud_rate,... line [termtype]
or      [-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] line baud_rate,... [termtype]


    如果串口的终端服务初始化正常,通过ps -ef可以看到
#ps -ef
55 root root S /bin/agetty 19200 -L ttyS5 vt100
190 root root S /bin/agetty 19200 -L ttyS6 vt100
191 root root S /bin/agetty 19200 -L ttyS7 vt100
平常的键盘控制台,可以在ps -ef 看到6个minigetty进程


   允许直接ROOT CONSOLE登陆
[root@vm mac]# vi /etc/securetty

Console         允许键盘虚拟控制台(VGA)  root登录
vc/1
vc/2
vc/3
vc/11
tty1                允许虚拟终端root登录
tty2                允许虚拟终端root登录
tty3                允许虚拟终端root登录
tty6
pts/0               允许telnet  root登录
pts/1               允许telnet  root登录

加ttyS0          允许COM口root登录

阅读(2109) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~