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

2021-07-03 06:07:26 字數 1864 閱讀 6132

注意:/etc/profile檔案只在

登陸使用者後

,才會執行。並且每個使用者登陸,都會進行一次。

由/etc/init.d/rcs-->/etc/init.d/rc知道,需要新增的程式可修改rc檔案即可。

在rc末尾新增如下:

# add by qiuweibo 2014.5.21 start

if [ -e /etc/init.d/user.sh ]; then

echo "-qwb-:/etc/init.d/user.sh"

/etc/init.d/user.sh

fi# add by qiuweibo 2014.5.21 start

之後,再新建檔案,並且可執行屬性

/etc/init.d/user.sh

//******************************===

參考文件*************************==

init程序執行後,它會訪問/etc/inittab檔案,該檔案確定系統執行於上面的哪個級別。由於嵌入式系統的特性,我們要讓系統執行於級別1上,即單使用者模式,這只要在/etc/inittab檔案的id:3:initdefault行,將3改為0即可。同時

每個級別還對應了乙個啟動各種服務的指令碼目錄,一般在/etc/rc.d/下面

。接著init程序又分別啟動/etc/rc.d/rc.sysinit和與等級n相對應的

/etc/rc.d/rcn.d

目錄裡的初始化程序,最後init會執行使用者登陸程式,這時在終端上就會顯示login:的登入資訊,使用者登入成功後會啟動shell程式,shell啟動後,它會讀取並執行檔案

/etc/profile

,/etc/bashrc,和使用者主目錄下的檔案.bashrc,這些檔案負責建立使用者自己的環境

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系統在啟動後還未登入前,將自動執行該程式(命令),

達到開機自動執行使用者的應用程式的目的。

嵌入式應用程式開發

嵌入式應用程式開發 實驗目的 1.編寫程式,用交叉工具鏈編譯連線 實驗原理 1.嵌入式應用程式的開發一般都在宿主機平台上進行,利用交叉編譯器編譯,生成可以在目標平台上執行的可執行 本實驗使用的交叉編譯器是arm linux gcc 實驗內容 l include include int main l2...

嵌入式LINUX應用程式開發詳解

本書主要分為3個部分,包括linux基礎 搭建嵌入式linux環境和嵌入式linux的應用開發。linux基礎部分從linux的安裝過程 基本操作命令講起,為linux初學者能快速入門提供了保證。接著系統地講解了嵌入式linux的環境搭建,以及嵌入式linux的i o與檔案系統的開發 程序控制開發 ...

嵌入式linux應用程式移植方法總結

前段時間一直在做opencapwap的移植和除錯工作,現在工作已接近尾聲,編寫本文件對前段工作進行乙個總結,分享下opencapwap移植過程中的經驗和感悟。江浩寫的 capwap移植進展.docx 對opencapwap的移植過程有了比較詳細的描述,所以在此就不涉及技術細節了,本文件主要以open...