How to auto start an application in openwrt?

If you need to run your command only at system start (just after boot): edit /etc/rc.local that is your file.

By default it contains just comments (Designated Driver, but this was the case in some earlier versions also):

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

You can add commands here.

My example:

# 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

/etc/init.d/ - directory will by automaticly readed and searching for boot function or START STOP. Starts at boot time.

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

START-Position then to start

STOP-Position then to stop

START=10 
STOP=15

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

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

EDITED:

In /etc/rc.common directory files are compiled whoes going to start on boot.

Enable your function: /etc/init.d/your_script.sh enable

Here you will find more information about booting http://wiki.openwrt.org/doc/techref/process.boot


  1. Make sure the first line of your script reads:

    #!/bin/sh /etc/rc.common
    
  2. Copy your script to the /etc/init.d/ directory

  3. Make sure the execute bit is on

    chmod +x /etc/init.d/<your script>
    
  4. Enable your script

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

    Your script should now have a symlink in /etc/rc.d/

    ls -lh /etc/rc.d | grep <your script>
    
  5. Confirm your init script is enabled:

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

    If this command returns on, then you're all set. If this command doesn't return anything, then your script isn't enabled. Here's an example of a script that's enabled:

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

I've tested these steps on OpenWrt Chaos Calmer 15.05 but it should work on earlier versions. Good luck!