在嵌入式系統開發中,合理管理開機自啟動項目能夠優化系統啟動流程,確保關鍵服務和應用按時加載運行。本文將詳細介紹在ELF 2 開發板Linux5.10.209系統下基于 System V init 服務管理機制的開機自啟動配置方法,為開發者提供全面的配置參考。
System V init 服務管理機制概述
Buildroot構建的系統,使用的是System V init服務管理機制,負責管理 Linux 系統的啟動流程、服務管理和系統狀態轉換,其中服務管理可通過設置/etc/init.d中的運行腳本來實現。有些系統中引入了運行級別,根據不同的運行基本引用/etc/init.d中部分運行腳本,不過ELF 2開發板的系統中只有一種運行級別,會運行/etc/init.d中所有腳本。
/etc/init.d中的腳本通常以S或者K開頭,S表示啟動(Start),K表示停止(Kill)。System V init是串行運行機制,S或K后邊的數字表示的就是執行順序。
例如下圖中S99開頭的文件最后執行。

關閉默認啟動的應用
如果想關閉某個開機啟動的服務,可以直接刪除該腳本,或者將S改為K,例如默認不想啟動vsftpd,就可以將S70vsftpd改為K70vsftpd。
root@elf2-buildroot:/etc/init.d# mv S70vsftpd K70vsftpd

開機自啟Qt應用
默認啟動的是matrix-browser桌面,該桌面是通過/etc/init.c/S50matrix-browser文件啟動,文件包括了設置Qt相關環境變量,啟動桌面等操作。因此要啟動個人Qt應用,可以直接修改S50matrix-browser文件,將啟動桌面操作關掉,改為啟動個人Qt應用。
以下以開機自啟板子自帶的Qt demo為例,不再描述個人Qt應用拷貝到板端的操作。
首先使用vi編輯器打開S50matrix-browser。
root@elf2-buildroot:~# vi/etc/init.d/S50matrix-browser
打開文件后將/usr/bin/matrix-browser -no-sandbox --disable-gpu 127.0.0.1 >> /dev/null &和killall matrix-browser注釋掉,改為啟動和關閉自己的應用,以下以啟動關閉qtdemo_wifi應用為例:

需要注意啟動應用時要加絕對路徑(其中&符號表示后臺運行程序,不會導致阻塞)。
開機自啟非界面應用
以下以開機后實現WiFi自動撥號為例,在/etc/init.d/目錄下創建個S99開頭的腳本,把撥號的命令寫進去,腳本附上執行權限。
注意:撥號命令或者啟動其他應用時都需要使用絕對路徑。

通過以上步驟,便可實現在 ELF 2 開發板的開機自啟動。各位小伙伴在實際操作中,需注意腳本命名規范、執行權限設置以及命令絕對路徑的使用,確保自啟動配置的準確性和穩定性,如果在實踐中遇到問題,歡迎隨時交流探討!
-
單片機
+關注
關注
6072文章
45304瀏覽量
662380 -
嵌入式
+關注
關注
5184文章
20116瀏覽量
327888 -
Linux
+關注
關注
88文章
11608瀏覽量
217666 -
Linux系統
+關注
關注
4文章
609瀏覽量
29600 -
Linux開發
+關注
關注
0文章
44瀏覽量
7596
發布評論請先 登錄
ElfBoard技術貼|如何在【RK3588】ELF 2開發板上實現開機自啟應用
ElfBoard技術貼|如何在【RK3588】ELF 2開發板上進行UART引腳復用配置
RK3588 EVB開發板原理圖講解【八】 RK3588 power Tree
瑞芯微旗艦芯RK3588開發板開售 比亞迪為應達利頒獎
rk3588有哪些開發板?
瑞芯微RK3588開發板Linux系統添加自啟動命令的方法,深圳觸覺智能Arm嵌入式鴻蒙硬件方案商
ElfBoard技術貼|如何在【RK3588】ELF 2開發板用戶空間更換開機Logo

ElfBoard技術貼|【RK3588】ELF 2開發板開機自啟動詳解
評論