agetty不断终止

我试图在CentOS 6.2上设置串行控制台。

我已经能够获得一个login控制台,但是如果我尝试启用grub和显示在串口上的内核日志,那么grub会每隔几秒就终止一次。

这是我目前的configuration:

/etc/init/serial-ttyS1.conf

 # This service maintains a getty on /dev/ttyS1. start on stopped rc RUNLEVEL=[2345] stop on starting runlevel [016] respawn exec /sbin/agetty /dev/ttyS1 115200 vt100-nav 

/boot/grub/grub.conf

 #boot=/dev/sda default=0 timeout=5 #splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu serial --unit=1 --speed=19200 terminal --timeout=8 console serial title CentOS (2.6.32-220.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root quiet rd_NO_DM console=tty0 console=ttyS1,19200n8 initrd /initramfs-2.6.32-220.el6.x86_64.img 

请注意内核命令开关( console=tty0 console=ttyS1,19200n8 )末尾的两个console标志。 如果他们被删除,问题不再performance出来,但我也失去了grub和串行控制台的启动日志。

这是来自/var/log/messages的示例:

 Aug 27 14:14:24 ovesh-centos-62 init: serial-ttyS1 main process ended, respawning Aug 27 14:14:25 ovesh-centos-62 init: serial (ttyS1) main process (1614) terminated with status 1 Aug 27 14:14:25 ovesh-centos-62 init: serial (ttyS1) main process ended, respawning Aug 27 14:14:26 ovesh-centos-62 init: serial (ttyS1) main process ended, respawning Aug 27 14:15:25 ovesh-centos-62 init: serial-ttyS1 main process ended, respawning Aug 27 14:15:35 ovesh-centos-62 init: serial (ttyS1) main process (1731) terminated with status 1 Aug 27 14:15:35 ovesh-centos-62 init: serial (ttyS1) main process ended, respawning 

注意:我已经看到其他人在他们的日志中获得“重生太快”的消息,但在这里并不是这样。

尝试find错误发生的地方。

禁用串行到处,除了grubconfiguration。 你可以在启动时看到串口上的grub菜单吗?

在没有任何串行控制台选项的情况下启动,并尝试启动agetty /dev/ttyS0 115200 -a root 。 这个命令是否失败? 在这个命令运行的时候,你能用串口login吗?

然后用agetty /dev/ttyS0 115200 vt100-nav尝试相同的testing

正如我在其中一个评论中提到的那样:

原来你不需要添加/etc/init/serial-ttyS1.conf的configuration来获得一个shell。

consoleparameter passing给内核(例如, console=ttyS1,19200n8 )就足够了。

所以我猜测有两个进程不断试图启动agetty(也许是互相杀戮?),这导致它不断失败。