반응형
빌드루트를 통해 임베디드 리눅스를 구성하게 되면 전원이 인가되고 목적 프로그램이 자동으로 실행되어야 한다.
이번 글에서는 빌드루트의 기본 초기화 시스템인 BusyBox의 init.d를 통해 시작 프로그램을 등록해보도록 하겠다.
Init system 설정

System configuration -> Init system -> BusyBox 선택을 하여 초기화 시스템을 BusyBox로 지정해준다.
빌드루트는 기본 초기화 시스템이 BusyBox로 지정되어 있다.
init.d 스크립트 작성
#!/bin/sh
case "$1" in
start)
echo "Starting Cluster App..."
# 필요한 환경 변수 설정
export LANG=ko_KR.UTF-8
# export QT_QPA_PLATFORM=eglfs
export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt/kms.json
export QT_QPA_EGLFS_KMS_ATOMIC=1
# 백그라운드(&)로 앱 실행
/root/ClusterTutorialApp &
;;
stop)
echo "Stopping Cluster App..."
killall ClusterTutorialApp
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
필자는 현재 진행중인 프로젝트의 애플리케이션 'ClusterTutorialApp'을 시작 프로그램으로 지정하도록 하겠다.
위 스크립트가 /etc/init.d 폴더에 오버레이 될 수 있도록 board/raspberrypi5/rootfs-overlay 폴더를 만들고 이어서 /etc/init.d 디렉토리를 구성하여 'S99cluster'라는 이름으로 넣도록 하자
rootfs-overlay 옵션이 활성화 되어있어야 하며 경로는 board/raspberrypi5/rootfs-overlay로 지정한다.
BusyBox는 init.d 폴더에 있는 S로 시작하는 이름의 스크립트들을 순서대로 실행한다.

그리고 재시작을 해보면 지정한 애플리케이션이 자동으로 시작하는 것을 볼 수 있다.
반응형
'Buildroot' 카테고리의 다른 글
| [Buildroot] 빌드루트를 올린 라즈베리파이5에서 Qt 애플리케이션 실행 (0) | 2025.12.26 |
|---|---|
| [Buildroot] cmdline.txt quiet 부팅 옵션으로 부팅 로그 숨기기 (0) | 2025.12.24 |
| [Buildroot] make -dirclean 빌드 최적화를 통해 Pakage, rootfs, cmdline.txt, config.txt 재구성 (0) | 2025.12.24 |
| [Buildroot] 빌드루트 menuconfig GUI 인터페이스(xconfig) 설정 (0) | 2025.12.21 |
| [Buildroot] 빌드루트 rootfs 오버레이 설정 (0) | 2025.12.21 |
