2014년 9월 26일 금요일

Embedded Linux 자동 로그인 & 특정 Application 실행

Embedded Linux 자동 로그인 & 특정 Application 실행



1) /etc/inittab 수정
2) /etc/profile 에서 특정 Application 실행하도록 script 추가



inittab 수정

/etc/inittab에서
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty3

T0::respawn:/sbin/gettty tty4
위와 같은 기본값에서 아래와 같은 파라메터값을 추가해 준다.
 -n : no login
-l : script될 실행 화일, 일부 리눅스 Distribution에서는 화일이 추가되어 있긴하지만(디폴트는 제외)

T0:12345:respawn:/sbin/gettty -L -n -l/root/nologin ttySAC1 115200 vt100 # default 설정


다음과 같은 source 코드를 getty가 spawn 되었을때 아래의 프로그램이 실행하도록 해준다.

autologin_fred.c 


int main() {
   execlp( "login", "login", "-f", "fred", 0);
}

위의 소스에서 "fred"는 내가 원하는 특정 ID로 변경 시킬수 있다.
위의 화일을 compile 하면
# arm-linux-gnueabihf-gcc -o autologin autologin_fred.c
-o 옵션: 컴파일 완료후 출력물의 화일이름 지정


정리
1) /etc/inittab 파일 수정
1:2345:respawn:/sbin/gettty -L -n -l"myapplication or autologin" ttyS0 115200

2) /etc/profile 혹은 로그인 완료된 계정의 .bashrc를 수정하여 내가 원하는 script추가