aESOP-6410의 경우 데비안 계열의 /etc 디렉터리 구성 방식을 채용하고 있습니다.
/etc 디렉터리를 다음과 같이 수정하여, 커널 부팅 시 자동으로 시작할 프로그램을 제어 할 수 있습니다.
타깃 시스템의 “/etc/” 디렉터리에 보면 다음과 같이 “rc0.d ~ rc6.d” 까지의 디렉터리가 각각 있는 것을 볼 수 있습니다.
타깃 시스템은 앞에서 설명한 Init Level에 따라 각각의 rcX.d 디렉터리 내부에 위치한 스크립트 파일을 실행합니다.
따라서, 사용자가 자동 시작 프로그램을 추가 하기 위해서는 “rc0.d ~ rc6.d” 디렉터리에서 현재 사용하는 Init Level에 맞는 곳에
수행을 하고자 원하는 스크립트 파일을 위치시키면 됩니다.
root@aESOP-S3C6410:/# cd /etc/
root@aESOP-S3C6410:/etc# ls
1q init.d rc0.d
X11 inittab rc1.d
alternatives inputrc rc2.d
angstrom-version rc3.d
apm ipkg rc4.d
asound.conf issue rc5.d
asound.state issue.net rc6.d
avahi keylaunchrc rcS.d
1) 자동 시작 프로그램 추가
예제에서는 부팅 시에 자동으로 현재 파일 리스트를 출력하는 스크립트를 작성하고 동작시켜 보도록 합니다.
다음의 내용으로 파일을 작성합니다.
▣ 자동 수행 파일 생성
# vi /etc/rc5.d/S99list-files
▣ 파일 내용
----------------------------------------------------------------------------------------------------
#!/bin/sh
ls -la
----------------------------------------------------------------------------------------------------
▣ 수행 결과
위와 같이 편집을 한 후 재 부팅을 하면, 아래와 같이 부팅하면서 자동으로 “ls -la” 명령이 수행 되는 것을 알 수 있습니다.
Starting system message bus: dbus.
Starting syslogd/klogd: done
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
*[fail]
Starting GPE display manager: gpe-dm
drwxr-xr-x 15 root root 4096 Feb 2 2009 .
drwxr-xr-x 15 root root 4096 Feb 2 2009 ..
drwxr-xr-x 2 root root 4096 Nov 25 01:42 bin
drwxr-xr-x 2 root root 4096 Nov 25 01:42 boot
drwxr-xr-x 12 root root 13620 Nov 25 10:49 dev
drwxr-xr-x 37 root root 4096 Feb 2 2009 etc
drwxr-xr-x 4 root root 4096 Nov 25 01:55 home
drwxr-xr-x 4 root root 4096 Nov 25 01:42 lib
drwxr-xr-x 10 root root 4096 Nov 25 01:42 media
drwxr-xr-x 3 root root 4096 Feb 2 2009 mnt
dr-xr-xr-x 43 root root 0 Jan 1 1970 proc
drwxr-xr-x 2 root root 4096 Nov 25 01:49 sbin
drwxr-xr-x 11 root root 0 Jan 1 1970 sys
lrwxrwxrwx 1 root root 8 Feb 2 2009 tmp -> /var/tmp
drwxr-xr-x 11 root root 4096 Nov 25 01:33 usr
drwxr-xr-x 7 root root 4096 Nov 25 01:18 var
_____ _____ _____ _____ _____
| _ | __| __| | _ |
| | __|__ | | | __|
|__|__|_____|_____|_____|__|.or.kr
(C)2009 aESOP Embedded Forum.
aESOP S3C6410 Embedded Linux Platform.
System : aESOP-S3C6410
Console : s3c_serial0
aESOP-S3C6410 login: Alignment trap: keylaunch (1174) PC=0x4024ffec Instr=0xe5902004 Address=0x0001aba5 FSR 0x011
Alignment trap: keylaunch (1174) PC=0x4024f920 Instr=0xe594c004 Address=0x0001aba5 FSR 0x011
Alignment trap: gpe-confd (1172) PC=0x401db428 Instr=0x15840000 Address=0xbe8b921b FSR 0x811
:)
2) 자동 시작 프로그램 제거
데비안 리눅스 계열에서 자동 시작 프로그램을 비활성화 하는 방법은 앞에서 작성한 “S99list-files”의 이름을 “K99list-files”으로
바꾸면 됩니다. 다음과 같이 명령어를 수행해 봅니다.
# mv /etc/rc5.d/ S99list-files /etc/rc5.d/ K99list-files
그리고 재 부팅을 해보면 아래와 같이 앞에서 만들어 놓은 자동 수행 파일이 동작하지 않는 것을 알 수 있습니다.
Starting system message bus: dbus.
Starting syslogd/klogd: done
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
*[fail]
Starting GPE display manager: gpe-dm
_____ _____ _____ _____ _____
| _ | __| __| | _ |
| | __|__ | | | __|
|__|__|_____|_____|_____|__|.or.kr
(C)2009 aESOP Embedded Forum.
aESOP S3C6410 Embedded Linux Platform.
System : aESOP-S3C6410
Console : s3c_serial0
aESOP-S3C6410 login: Alignment trap: keylaunch (1174) PC=0x4024ffec Instr=0xe5902004 Address=0x0001aba5 FSR 0x011
Alignment trap: keylaunch (1174) PC=0x4024f920 Instr=0xe594c004 Address=0x0001aba5 FSR 0x011
Alignment trap: gpe-confd (1172) PC=0x401db428 Instr=0x15840000 Address=0xbe8b921b FSR 0x81