1. 程式人生 > >嵌入式linux開機應用程式自啟動

嵌入式linux開機應用程式自啟動

1.通過/Linuxrc指令碼直接啟動
Linux核心一旦開始執行,它將通過驅動程式來初始化所有硬體裝置,這個初始化過程可以在啟動時的PC顯示器上看到,每個驅動程式都列印一些相關資訊。初始化完成後,通常呼叫的是init,通過loader呼叫init內的init=/app_program語句(通過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系統在啟動後還未登入前,將自動執行該程式(命令),達到開機自動執行使用者的應用程式的目的。