web-dev-qa-db-ja.com

openwrtでアプリケーションを自動起動する方法は?

Start()、stop()、restart()などの必要な関数を含むシェルを作成しました

しかし、私のファイルは起動時に開始されません。

「ubuntu」でupdate-rc.dコマンドを使用して、このファイルを自動起動アプリケーションのリストに追加しました。そして、ブート時に正常に開始されました。

しかし、「openwrt」では、enable関数を見てきました。この有効化機能の使用方法を知っている人、または「openwrt」にupdate-rc.dのような同様のコマンドがありますか

ここにいくつかの参照がありました: http://wiki.openwrt.org/doc/techref/initscripts

8
runner

/etc/init.d/-ディレクトリは自動的に読み込まれ、ブート機能またはSTART STOPを検索します。起動時に開始します。

boot() {
        echo boot
        # commands to run on boot
}

START-位置、次に開始

STOP-位置、次に停止

START=10 
STOP=15

start() {        
        echo start
        # commands to launch application
}                 

stop() {          
        echo stop
        # commands to kill application 
}

編集済み:

/etc/rc.commonディレクトリには、ブート時に起動するファイルがコンパイルされています。

関数を有効にします:/etc/init.d/your_script.sh enable

ここにブートに関する詳細情報があります http://wiki.openwrt.org/doc/techref/process.boot

4
Noproblem
  1. スクリプトの最初の行が次のようになっていることを確認してください。

    #!/bin/sh /etc/rc.common
    
  2. スクリプトを/etc/init.d/ディレクトリにコピーします

  3. 実行ビットがオンになっていることを確認してください

    chmod +x /etc/init.d/<your script>
    
  4. スクリプトを有効にする

    /etc/init.d/<your script> enable
    

    スクリプトの/etc/rc.d/にシンボリックリンクが作成されます。

    ls -lh /etc/rc.d | grep <your script>
    
  5. Initスクリプトが有効になっていることを確認します。

    /etc/init.d/<your script> enabled && echo on
    

    このコマンドがonを返す場合、これで準備は完了です。このコマンドが何も返さない場合、スクリプトは有効になっていません。有効になっているスクリプトの例を次に示します。

    root@OpenWrt:~# /etc/init.d/system enabled && echo on
    on
    

OpenWrt Chaos Calmer 15.05でこれらの手順をテストしましたが、以前のバージョンでも動作するはずです。幸運を!

16
mmaraya

システムの起動時(ブート直後)にのみコマンドを実行する必要がある場合:edit / etc/rc.localこれがファイルです。

デフォルトでは、コメントのみが含まれています(指定ドライバーですが、以前の一部のバージョンでも同様でした)。

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

ここにコマンドを追加できます。

私の例:

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

if grep -q '/dev/sdb2' /proc/swaps ; then swapoff /dev/sda2 ; fi
comgt -s /etc/config/init-script.comgt
2
V-Mark