在很多嵌入式系統中,由於可用資源較少,常常在系統啟動後就直接讓應用程式自動啟動,以減少使用者操作和節省資源。如何讓自己的應用程式自動啟動呢?
在linux系統中,配置應用程式自動啟動的方法有以下三種:
1.通過/linuxrc指令碼直接啟動
(通過loader向核心傳入init=/program可以定製首先執行的程式)。
比如在桌面linux系統中,init程序會讀取/etc/inittab檔案,來決定執行級別和哪些指令碼和命令。嵌入式應用開發中,可以根據實際情況決定是否使用標準的init執行方式,也許這個init是個靜態程式,它能夠完成我們的嵌入應用的特定任務,那完全不用考慮inittab了,在這裡可以採用比較靈活的措施。
2.在/etc/init.d下新增啟動指令碼
一般情況下,大多數的linux作業系統使用/etc/init.d/(或/etc/rc.d/init.d)下的指令碼來配置應用程式的自動啟動。
例如,在某些linux系統中,corn程式通過/etc/init.d/corn指令碼啟動,apache通過/etc/init.d/httpd啟動,syslogd通過/etc/init.d/syslogd啟動,而sshd則通過/etc/init.d/sshd指令碼啟動。
通常這些指令碼通過來自特定rc.d目錄的符號鏈結執行。為了配置從哪個rc.d目錄執行指令碼,linux系統提供了許多不同的工具,同時也可以手工進行配置。linux系統有乙個包含所有實際啟動指令碼檔案的目錄。它可能是/etc/init.d,也可能是/etc/rc.d/rc.d。同時對應每個執行級別(runlevel)又有乙個另外的目錄,它們可能是/etc/rc2.d,也可能是/etc/rc.d/rc2.d。這些目錄中的檔案通常是指向實際指令碼檔案的符號鏈結。
3.直接在/etc/rc.d/rc.local指令碼中新增命令
在linux系統中,有乙個類似windows系統中autoexec.bat的檔案,它就是/etc/rc.d/rc.local,系統開機後自動執行使用者的應用程式或啟動系統服務的命令儲存在開發板根檔案系統的這個檔案中。因此可以編輯rc.local檔案,將要執行的程式(命令)新增到該資料夾中。linux系統在啟動後還未登入前,將自動執行該程式(命令),達到開機自動執行使用者的應用程式的目的。
下面具體說明:
首先解壓ramdisk.image.gz檔案,然後掛載到系統中。接著建立自己的應用程式資料夾hello,將所要自動執行的應用程式hello複製到該資料夾。
本文參考《基於arm9的嵌入式linux開發技術》,李新峰等編著。
嵌入式Linux中讓應用程式自動啟動
在很多嵌入式系統中,由於可用資源較少,常常在系統啟動後就直接讓應用程式自動啟動,以減少使用者操作和節省資源。如何讓自己的應用程式自動啟動呢?在linux系統中,配置應用程式自動啟動的方法有以下三種 1.通過 linuxrc指令碼直接啟動 通過loader向核心傳入init program可以定製首先...
嵌入式應用程式開發
嵌入式應用程式開發 實驗目的 1.編寫程式,用交叉工具鏈編譯連線 實驗原理 1.嵌入式應用程式的開發一般都在宿主機平台上進行,利用交叉編譯器編譯,生成可以在目標平台上執行的可執行 本實驗使用的交叉編譯器是arm linux gcc 實驗內容 l include include int main l2...
嵌入式LINUX應用程式開發詳解
本書主要分為3個部分,包括linux基礎 搭建嵌入式linux環境和嵌入式linux的應用開發。linux基礎部分從linux的安裝過程 基本操作命令講起,為linux初學者能快速入門提供了保證。接著系統地講解了嵌入式linux的環境搭建,以及嵌入式linux的i o與檔案系統的開發 程序控制開發 ...