How to auto start an application in openwrt?

后端 未结 3 2256
渐次进展
渐次进展 2020-12-28 21:49

I have created a shell with necessary functions such as start() stop() restart()

But my file is not getting started at boot time.

I have used

相关标签:
3条回答
  • 2020-12-28 22:31

    /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

    0 讨论(0)
  • 2020-12-28 22:34
    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!

    0 讨论(0)
  • 2020-12-28 22:37

    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
    
    0 讨论(0)
提交回复
热议问题