[Buildroot] Busybox 초기화 시스템의 init.d를 통해 시작 프로그램 등록

2025. 12. 24. 16:10·Buildroot
반응형

빌드루트를 통해 임베디드 리눅스를 구성하게 되면 전원이 인가되고 목적 프로그램이 자동으로 실행되어야 한다.

이번 글에서는 빌드루트의 기본 초기화 시스템인 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
'Buildroot' 카테고리의 다른 글
  • [Buildroot] 빌드루트를 올린 라즈베리파이5에서 Qt 애플리케이션 실행
  • [Buildroot] cmdline.txt quiet 부팅 옵션으로 부팅 로그 숨기기
  • [Buildroot] make -dirclean 빌드 최적화를 통해 Pakage, rootfs, cmdline.txt, config.txt 재구성
  • [Buildroot] 빌드루트 menuconfig GUI 인터페이스(xconfig) 설정
이니셜P
이니셜P
카카오톡 문의 : initial_p 유튜브 : https://www.youtube.com/@gun-ny
    반응형
  • 이니셜P
    #include <이니셜.P>
    이니셜P
  • 전체
    오늘
    어제
    • 분류 전체보기 (93)
      • 협력점 안내 (1)
      • 프로젝트 작업기 (11)
      • 프로젝트 포트폴리오 (3)
      • 끄적끄적 (2)
      • Arduino (11)
      • STM32 (0)
      • ESP32 (8)
      • EasyEDA (0)
      • QT (5)
      • LVGL (0)
      • Buildroot (14)
      • Yocto (2)
      • Git (2)
      • C언어, C++ (18)
      • 프로그래머스 (16)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      can
      계기판
      rootfs
      임베디드
      Qt
      linux
      리눅스
      라즈베리파이
      아두이노
      Overlay
      SError
      모닝
      SN65HVD230
      RaspberryPi
      esp32
      Embedded
      0xbe000011
      빌드루트
      Buildroot
      루트파일시스템
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.5
    이니셜P
    [Buildroot] Busybox 초기화 시스템의 init.d를 통해 시작 프로그램 등록
    상단으로

    티스토리툴바