com 口 CONSOLE一般经历三个过程
从POST(Power On SelfTest)开始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=tty0console=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=tty0console=ttyS0”,到底哪个起作用?
答:都起作用
但当进程打开/dev/console时,最后一个终端ttyS0将会作为当前终端,但系统也会在tty0(VGA)上回显和ttyS0一样的信息
Grub loader官方的一种启动COM口的方法
# vi /boot/grub/grub.conf # To enable grub serial console tottya uncomment the following lines # and comment out the splashimageline below # WARNING: don't enable grub serial console when BIOS consoleserial #redirection is active!!! serial--unit=0 --speed=9600 terminalserial #splashimage/boot/grub/splash.xpm.gz 屏蔽掉gru loader启动时的图片 |
工控机(完全无显卡)启动
工控机安装linux,工控机无板上显卡
所以工控机完全没有tty0,只有ttyS0
(但平常安装linux必定是插显卡安装的,哪怕是开盖插卡安装,所以当其后盖盖上启动后,LINUX肯定起不来(因为没显卡)。)
开启ttys0 登陆: 修改gruloader只能解决启动启动信息重定向到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] [-Iinitstring] [-H login_host] baud_rate,... line [termtype]
or[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-Hlogin_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登录 |