linux-无法进入单用户-关于tty0和ttyS0

原文地址:

http://blog.sina.com.cn/s/blog_6151984a0100ejfo.html

工作中遇到centos无法进入单用户,console=tty0 console=ttyS0,115200n8


Method:

删除console=ttyS0,115200n8,添加single,进入单用户


 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登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值