Table of Content

1. Why?

2. BIOS 설정

3. GRUB 설정


1. Why?

 x86 기반에서 작업을 하다보면 시리얼 때문에 고생하게 되는 경우가 종종 있다. 

 예를 들어 네트웍 관련 장비(라우터, Firewall, server)에서 작업할 경우, 장비에 VGA, keyboard, mouse 없이 딸랑 시리얼 포트만 달려있는 경우가 많은데 이런 장비에서 작업 하려면 모든 입,출력을 serial port 를 통해서 해야 한다. 

 보통의 상용 장비는 이런 준비가 다 되어 있지만, 처음부터 시작할 경우엔 개발자가 환경 준비를 모두 해 주어야 한다. 


2. BIOS 설정

 일반적으로 이런 장비들은 BIOS 에서 "모든 출력을 serial(console) 로 보내라" 고 설정하는 옵션이 있다. 이 옵션을 enable 시켜야 한다. 

 이 옵션을 살려주면 보통 부트로더 전까지 시리얼로 input/output 할 수 있다. 


3. GRUB 설정

 BIOS 에서 설정해 주었다고 하여도 GRUB Bootloader 가 동작되면 serial 로 아무런 메시지도 볼 수 없게 된다. 

 그 이유는 GRUB 가 동작하면서 text 기반에서 graphic 기반으로 모드를 바꾸기 때문에 시리얼로는 아무것도 볼 수 없게 되는 것이다. 

우선 아래와 같이 graphic 관련 기능을 모두 주석 처리하자. 

#if loadfind /use/share/grub/unicode.pf2 ; then

#  set gfxmode=auto

#  load_video

#  insmod gfxterm

.

.

.

#fi

#terminal_output gfxterm

# text 모드로 설정 

linux_gfx_mode=text


위와 같이 설정하면 일단 GRUB 부트로더까지는 시리얼로 볼 수 있다. 하지만 부팅을 시작하면 시리얼로는 아무것도 볼 수 없다. 이제는 kernel 옵션을 바꿔 주어야 한다. 

그 다음엔 아래와 같이 kernel option 을 설정하면 부팅로그까지 시리얼로 볼 수 있다. 

 linux /boot/vmlinuz-3.0.0-15-generic root=UUID=865f57fe-30a8-4e6e-9bf8 ro console=tty0 console=ttyS0,115200


하지만 커널 부팅이 완료되고 나면 로그인 창을 볼 수가 없다. 

아래와 같이 /etc/init/ttyS0 파일을 생성해 주어야 한다. 


poplinux@test : $ cd /etc/init

poplinux@test : /etc/init $ cp tty1.conf ttyS0.conf

poplinux@test : /etc/init $ vi 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 115200 ttyS0 vt100




이렇게 하면 로그인 쉘이 동작할때 시리얼로 메시지를 볼 수 있다. 




'linux' 카테고리의 다른 글

opensource 정보  (0) 2012.05.18
IPv4 packet forwarding  (0) 2012.05.03
iproute2  (0) 2012.02.07
ubuntu 에서 tftp server 설치하는법  (0) 2011.11.24
GNOME 설정  (0) 2011.09.27
블로그 이미지

김유석0

,