Running Your Own Application at Startup: Difference between revisions
No edit summary |
mNo edit summary |
||
Line 44: | Line 44: | ||
#either using vi:<br/><pre># vi /tmp/config/autorun.sh</pre> | #either using vi:<br/><pre># vi /tmp/config/autorun.sh</pre> | ||
##Get vi editor into edit mode: '''press a''' | # | ||
#Get vi editor into edit mode: '''press a''' | |||
##Edit whatever you need to | ##Edit whatever you need to | ||
##Exit edit mode: '''press ESC''' | ##Exit edit mode: '''press ESC''' | ||
Line 53: | Line 54: | ||
#'''IMPORTANT:''' Unmount the mounted flash partition:<pre># umount /tmp/config</pre> | #'''IMPORTANT:''' Unmount the mounted flash partition:<pre># umount /tmp/config</pre> | ||
== '''editautorun.sh: script to ease autorun.sh edit''' == | === '''editautorun.sh: script to ease autorun.sh edit''' === | ||
If you edit this file regularly you can save some time by creating a shell script (e.g. editautorun.sh) to automate the process. You can call the script by either putting it in the environment path, or add its folder to the path or call it by an alias. | If you edit this file regularly you can save some time by creating a shell script (e.g. editautorun.sh) to automate the process. You can call the script by either putting it in the environment path, or add its folder to the path or call it by an alias. |
Revision as of 22:54, 14 November 2016
Some advanced uses of your NAS may require you to run custom applications at boot-time. Even though QNAP NAS are Linux-based, you cannot use the usual Linux methods for launching an application at startup: default config files are reset on every startup.
Skills required
- must be able to remote login via ssh or telnet (e.g. use SSH PuTTY)
- must know how to edit files using nano, vi, or edit via SFTP (e.g. use WinSCP)
MTD-based method
autorun.sh is a script which will be executed on every startup of the TS-x09, TS-x19 and TS-x39. Editing this file allows you to start your own programs or overwrite config files with your own copies.
Manual edit of autorun.sh
- Log into your QNAP device using SSH or Telnet, for instance by using Putty
- Optional: install nano; use ipkg install nano & edit with nano instead of vi
- Mount config ramblock by finding your specific model below:
TS-201: Mount the config ramblock /dev/mtdblock4:
- mount -t ext2 /dev/mtdblock4 /tmp/config
TS-109, TS-109P, TS-110, TS-119,TS-209, TS-209P, TS-212, TS-219 (TS-219P II:since the new firmware update you maybe have to use ext4 instead of ext2), TS-409 (Marvell ARM), TS-412, TS-419P:
Mount the config ramblock /dev/mtdblock5:
mount -t ext2 /dev/mtdblock5 /tmp/config
TS-439, TS-509, TS-639, TS-809, TS-809U (x86):
Mount the config ramblock /dev/sdx6:
mount -t ext2 /dev/sdx6 /tmp/config
TS-269L: Mount the config ramblock /dev/sdc6:
mount -t ext2 /dev/sdc6 /tmp/config
All HAL-based Intel and AMD NAS:
mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config
Create/Edit /tmp/config/autorun.sh.
- either using vi:
# vi /tmp/config/autorun.sh
- Get vi editor into edit mode: press a
- Edit whatever you need to
- Exit edit mode: press ESC
- Save and exit: x
- or editing it using a desktop PC and e.g. SFTP
- Ensure that /tmp/config/autorun.sh is executable
# chmod +x /tmp/config/autorun.s
- IMPORTANT: Unmount the mounted flash partition:
# umount /tmp/config
editautorun.sh: script to ease autorun.sh edit
If you edit this file regularly you can save some time by creating a shell script (e.g. editautorun.sh) to automate the process. You can call the script by either putting it in the environment path, or add its folder to the path or call it by an alias.
The script contents are:
For TS-201 use ...
mount -t ext2 /dev/mtdblock4 /tmp/config vi /tmp/config/autorun.sh chmod +x /tmp/config/autorun.sh echo . echo "unmounting /tmp/config..." umount /tmp/config
For TS-109, TS-109P, TS-119, TS-209, TS-209P, TS-219, TS-412, TS-409 (Marvell ARM) use ...
mount -t ext2 /dev/mtdblock5 /tmp/config vi /tmp/config/autorun.sh chmod +x /tmp/config/autorun.sh echo . echo "unmounting /tmp/config..." umount /tmp/config
TS-439, TS-509, TS-639, TS-809, TS-809U (x86) use ...
mount -t ext2 /dev/sdx6 /tmp/config vi /tmp/config/autorun.sh chmod +x /tmp/config/autorun.sh echo . echo "unmounting /tmp/config..." umount /tmp/config
All HAL-based Intel and AMD NAS use ...
mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config touch /tmp/config/autorun.sh chmod +x /tmp/config/autorun.sh $EDITOR /tmp/config/autorun.sh umount /tmp/config