Я пытаюсь настроить последовательную консоль на CentOS 6.2.
Мне удалось получить консоль входа в систему, но если я пытаюсь включить grub и отобразить журнал ядра на последовательном порту, grub продолжает завершаться каждые несколько секунд.
Вот моя текущая конфигурация:
/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
флага в конце переключателей команд ядра ( console=tty0 console=ttyS1,19200n8
). Если их убрать, проблема больше не проявляется, но я также теряю 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
ПРИМЕЧАНИЕ: Я видел, как другие люди получали сообщения в своих журналах о том, что «возрождение происходит слишком быстро», но этонетслучай здесь.
решение1
Попробуйте найти, где произошла ошибка.
Отключите последовательный порт везде, кроме конфигурации grub. Видно ли меню grub на последовательном порту во время загрузки?
Загрузитесь без каких-либо параметров последовательной консоли и попробуйте запустить agetty /dev/ttyS0 115200 -a root
. Эта команда не срабатывает? Можете ли вы войти в последовательный порт, когда эта команда запущена?
Затем попробуйте тот же тест сagetty /dev/ttyS0 115200 vt100-nav
решение2
Как я уже упоминал в одном из комментариев:
/etc/init/serial-ttyS1.conf
Оказывается, для получения оболочки не нужно добавлять конфигурацию .
Достаточно передать console
аргумент ядру (например, ).console=ttyS1,19200n8
Поэтому я предполагаю, что были два процесса, которые постоянно пытались запустить agetty (может быть, убивая друг друга?), что и приводило к постоянным сбоям.