[Ubuntu] 9.10 이후 버전에서 씨리얼 콘솔 (Serial Console) 사용 Computer Tip

Linux를 탑재한 박스를 만들다 보면 꼭 필요한 사항이
리눅스 박스에 RS-232C (최근에는 시스코 스위치의 콘솔 처럼 RJ45를 닮은 것이 대세 인듯..)
시리얼 연결이 필요한다.
이것이 필요한 이유는 모니터 키보드 등이 없이도 PC에 연결(지금의 노트북은 대부분 시리얼이 없으므로 대신 USB2Serail 필요)
하여 터미널 콘솔로 작업을 할 수 있기 때문이다.

우선 다음과 같이 4가지 단계의 Serial 출력 단계가 필요하다.

1) BIOS Booting
이는 BIOS 등에 옵션으로 Serial로 출력할 것인가 말 것인가 설저하는 부분이 있다.
일반적인 데스크탑 이라면 없는 경우가 많으나 서버 랙마운트 타입이면 대부분 있는 것 같다.

2) GRUB (V2) 설정
BIOS 가 끝난 다음 MBS에서 뜨는 프로그램이 GRUB인데, 버전9에서 Grub2로 변경이 되면서 설정 부분이 많이 변경되었다.
이 GRUB 메시지도 시리얼로 출력해야 한다.

3) Kernel Booting Message
커널이 부팅되면서 패러미터로 추가한다.

2,3번 모두 /etc/default/grub 파일을 열어 아래와 유사하게 수정한다.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=tty0 console=ttyS0,9600n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"

# update-grub
위의 명령을 수행하여 수정한 결과를 적용하도록 한다.

4) 시리얼 터미널 getty
과거의 *nix 기계에 있던 /etc/inittab 대신
/etc/init/*.conf 파일로 기술한다.

/etc/init/ttyS0.conf
파일을 만들거나 편집하여, 아래의 내용을 넣는다.
# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L 9600 ttyS0 vt102

# telinit 2
명령을 주어 실행하면
# root@NetSpear-4G:/etc/init# ps -ef | grep ttyS0
root      7363     1  0 14:11 ttyS0    00:00:00 /sbin/getty -L 9600 ttyS0 vt102
root      7381  6978  0 14:11 pts/1    00:00:00 grep ttyS0

와 같이 떠 있음을 확인할 수 있다.


핑백

덧글

댓글 입력 영역

구글애드텍스트