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를 시작하려고 하는 두 개의 프로세스(서로를 죽일 수도 있습니까?)가 있다고 추측합니다. 이로 인해 계속 실패하게 됩니다.