1. 程式人生 > >OpenWRT新增自啟指令碼

OpenWRT新增自啟指令碼

OpenWRT的啟動指令碼放在 /etc/init.d 目錄下,而系統開機時自動執行/etc/rc.d目錄下的指令碼。所以在rc.d目錄下、有init.d下指令碼的連結檔案。原始碼中init.d位置在:/package/base-files/files/etc/init.d

vi package/base-files/files/etc/init.d

這裡寫圖片描述

然後,我們加入自己的指令碼,實現模組驅動的載入、應用程式的開機自啟動等。
首先在/package/base-files/files/etc/init.d裡新增需要啟動的shell指令碼

vi package/base-files/files/etc/init.d/fscar

這裡寫圖片描述

設定許可權

chmod 777 package/base-files/files/etc/init.d/fscar

注:關於mjpg_streamer與ser2net啟動引數請檢視下面章節。

之後還需要在rc.d目錄下做一個連結,啟動時系統會按順序啟動rc.d目錄下的指令碼連結,對應執行init.d目錄下的啟動指令碼。指令碼的命名要符合系統規範,init.d下telnet指令碼在rc.d(沒有的話自建一個,在etc目錄下輸入命令mkdir rc.d)目錄下的連結檔名為S50telnet。所以連結檔案要在指令碼名前加S+啟動順序數字,啟動順序要等系統進行完必要的初始化。所以我們命名為S95+指令碼名。
命令:

ln -s /etc/init.d/fscar /etc/rc.d/s80fscar

現在實現了應用程式的開機自啟動。