자유게시판

[퀘스트4] Systemd를 이용하여 보드 부팅시 M4펌웨어 자동실행방법
2020. 5. 14 (목) 00:04 칩헤드 조회 240 좋아요 2 스크랩 0 댓글 7

 


퀘스트4 단계에서 Systemd를 이용하여 부팅시 자동실행 방법을 궁금해 하시는 분들이 계셔서 이곳에 간단히 공유 드립니다. 

 

Systemd에 대한 이해는 아래의 주소에서 더 열람이 가능합니다. 
https://www.freedesktop.org/wiki/Software/systemd/

 

우리가 Systemd기반의 많은 Unit Service들이 부팅시에  [ok] ..............  이런식으로 실행되는 모습을 볼수 있습니다. 

 

요약하면, Systemd는 기존의 Sysv init을 대체하는 init 데몬입니다.  이 systemd는 기존의 sysv init과 달리 상당히 많은 기능들을 내재하고 있습니다. 

 

그중의 하나가 아래처럼 unit service 파일을 작성 하여 실행함으로써 서비스를 체계적으로 관리하고 통제할수가 있는 장점을 가지고 있습니다. 퀘스트 4단계에서 자동 부팅을 위한 systemd기반의 unit service 제작방법은 다음과 같습니다. 

 

        - 다 음 - 

 


stm32mp1# vi /etc/systemd/system/lightcontrol.service 
[Unit]
Description=Light Control Service for M4 firmware
After=multi-user.target
After=getty.target

[Service]
Type=oneshot
ExecStart=
ExecStart=/bin/bash -c "/bin/echo 'Starting a light control service for M4-firmware'"
ExecStart=/bin/bash -c "/bin/echo -n /lib/firmware/ > /sys/module/firmware_class/parameters/path"
ExecStart=/bin/bash -c "/bin/echo -n your_lightcontrol_CM4.elf > /sys/class/remoteproc/remoteproc0/firmware"
ExecStart=/bin/bash -c "/bin/echo start > /sys/class/remoteproc/remoteproc0/state"
ExecStop=/bin/bash -c "/bin/echo stop > /sys/class/remoteproc/remoteproc0/state"
User=root
StandardOutput=tty
TTYPath=/dev/ttySTM0

[Install]
WantedBy=getty.target


 

이제  아래의 명령을 수행하고 나면, 개발보드를 부팅시마다 자동으로 M4 펌웨어가 실행이 되게 됩니다. 

 

stm32mp1# systemctl enable lightcontrol.service 
stm32mp1# systemctl daemon-reload 
stm32mp1# systemctl start  lightcontrol.service 
stm32mp1# systemctl status lightcontrol.service 
stm32mp1# systemctl stop   lightcontrol.service 

 

 

퀘스트 4를 준비하시는 분들에게 도움이 되면 좋겠습니다. 

작업에 도움이 되셨다면 아래의  "추천" 아이콘을  살짝 눌러주시면 다음 팁을 작성해야 하는 동기가 되옵니다.  ^^


이상입니다. 

병아리꽃 2020.05.17 19:15 답글  | 
추천 누르고 갑니다. ㅎㅎㅎㅎ 항상 좋은정보 감사합니다.
3958 2020.05.15 01:37 답글  | 
좋은 정보 감사합니다.
칩헤드 2020.05.15 14:15
댓글
도움 되셨길 바랍니다. ^^
KHS 2020.05.14 07:41 답글  | 
이런 방법이 있군요. 해보니 되네요. 정보 감사합니다.
칩헤드 2020.05.14 12:07
댓글
^^
김용* 2020.05.14 01:10 답글  | 
좋은 정보 감사합니다.
칩헤드 2020.05.14 06:10
댓글
넵. 도움이 되셨다면 (추천) 버튼 한번 쿡... ^^

로그인 후
참가 상태를 확인할 수 있습니다.