Applicable Products:
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 (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, 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:
All HAL-based Intel and AMD NAS:
Note: Starting from QTS 4.3.3 it's required to enable the autorun.sh processing in the Control Panel -> Hardware -> General: Run user defined startup processes (autorun.sh)
TS-212P3, TS-230:Mount the config ramblock /dev/mmcblk0p5:
mount -t ext2 /dev/mmcblk0p5 /tmp/config
TS-269L:Mount the config ramblock /dev/sdc6:
mount -t ext2 /dev/sdc6 /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-109, TS-109P, TS-110, TS-119,TS-209, TS-209P, TS-212, TS-219, TS-409 (Marvell ARM), TS-412, TS-419P:Mount the config ramblock /dev/mtdblock5:
Note: On TS-219P II, you may have to use ext4 instead of ext2
mount -t ext2 /dev/mtdblock5 /tmp/config
TS-201:Mount the config ramblock /dev/mtdblock4:
mount -t ext2 /dev/mtdblock4 /tmp/config
Create/Edit /tmp/config/autorun.sh.
Edit autorun.sh by vi using this command # vi /tmp/config/autorun.sh then enter edit mode by pressing a
- Edit whatever you need to
- Exit edit mode: press ESC
- Save and exit: x
Or editing autorun.sh using a desktop PC and e.g. SFTP
Ensure that /tmp/config/autorun.sh is executable using this command # chmod +x /tmp/config/autorun.sh
IMPORTANT: Unmount the mounted flash partition using this command # 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:
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
All AL-based NAS(TS-x31+ and TS-x31X) and TS-x31 use ...
ubiattach -m 6 -d 2
/bin/mount -t ubifs ubi2:config /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "unmounting /tmp/config..."
umount /tmp/config
ubidetach -m 6
TS-230 use ...
mount -t ext2 /dev/mmcblk0p5 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "unmounting /tmp/config..."
umount /tmp/config
TAS-x68, TS-x28 use ...
/bin/mount -t ext4 /dev/mmcblk0p7 /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..."
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
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
Using "init" script to mount the flash
The QNAP GUI has the ability to view the autorun.sh content. As at V4.5.1.1540 on a TS-831XU-RP this is how the GUI does that:
/etc/init.d/init_disk.sh mount_flash_config
(displays /tmp/nasconfig_tmp/autorun.sh)
/etc/init.d/init_disk.sh umount_flash_config
Using these commands, you can create/edit the "autorun.sh" in the location given.
Allow running autorun.sh during startup
After completing the autorun.sh, please don't forget to enable the option to allow running autorun.sh during the system startup.

適用產品:
某些進階的 NAS 使用可能需要您在開機時執行自訂應用程式。即使 QNAP NAS 是基於 Linux,您也無法使用一般的 Linux 方法在啟動時啟動應用程式:預設的配置檔案會在每次啟動時重置。
所需技能
- 必須能夠透過 SSH 遠端登入(例如使用SSH PuTTY)
- 必須知道如何使用 nano、vi 編輯檔案,或透過 SFTP 編輯(例如使用WinSCP)
基於 MTD 的方法
Autorun.sh 是一個在每次 TS-x09、TS-x19 和 TS-x39 啟動時執行的指令碼。編輯此檔案可以讓您啟動自己的程式或用自己的副本覆蓋配置檔案。
手動編輯 autorun.sh
使用 SSH 登入您的 QNAP 裝置,例如使用 Putty
選擇性:安裝 nano;使用ipkg install nano並用 nano 編輯而非 vi
透過在下方找到您的特定型號來掛載配置 ramblock:
所有基於 HAL 的 Intel 和 AMD NAS:
注意:從 QTS 4.3.3 開始,需要在控制台 -> 硬體 -> 一般中啟用 autorun.sh 處理:運行使用者定義的啟動過程 (autorun.sh)
TS-212P3, TS-230:掛載配置 ramblock /dev/mmcblk0p5:
mount -t ext2 /dev/mmcblk0p5 /tmp/config
TS-269L:掛載配置 ramblock /dev/sdc6:
mount -t ext2 /dev/sdc6 /tmp/config
TS-439、TS-509、TS-639、TS-809、TS-809U (x86):掛載配置 ramblock /dev/sdx6:
mount -t ext2 /dev/sdx6 /tmp/config
TS-109、TS-109P、TS-110、TS-119、TS-209、TS-209P、TS-212、TS-219、TS-409 (Marvell ARM)、TS-412、TS-419P:掛載配置 ramblock /dev/mtdblock5:
注意:在 TS-219P II 上,您可能需要使用 ext4 而不是 ext2
mount -t ext2 /dev/mtdblock5 /tmp/config
TS-201:掛載配置 ramblock /dev/mtdblock4:
mount -t ext2 /dev/mtdblock4 /tmp/config
建立 / 編輯 /tmp/config/autorun.sh。
使用此命令 # vi /tmp/config/autorun.sh 編輯 autorun.sh,然後按 a進入編輯模式
- 編輯您需要的內容
- 退出編輯模式:按 ESC
- 儲存並退出:x
或者使用桌面 PC 和例如 SFTP 編輯 autorun.sh
使用此命令 # chmod +x /tmp/config/autorun.sh 確保 /tmp/config/autorun.sh 是可執行的
重要:使用此命令 # umount /tmp/config 卸載已掛載的快閃分區
editautorun.sh:簡化 autorun.sh 編輯的指令碼
如果您經常編輯此檔案,可以透過建立一個 shell 指令碼(例如 editautorun.sh)來節省一些時間以自動化過程。您可以將指令碼放在環境路徑中,或將其資料夾新增到路徑中,或透過別名呼叫它。
指令碼內容為:
所有基於 HAL 的 Intel 和 AMD NAS 使用...
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
所有 AL 架構的 NAS (TS-x31+ 和 TS-x31X) 和 TS-x31 使用...
ubiattach -m 6 -d 2
/bin/mount -t ubifs ubi2:config /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "unmounting /tmp/config..."
umount /tmp/config
ubidetach -m 6
TS-230 使用...
mount -t ext2 /dev/mmcblk0p5 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "unmounting /tmp/config..."
umount /tmp/config
TAS-x68、TS-x28 使用...
/bin/mount -t ext4 /dev/mmcblk0p7 /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) 使用...
mount -t ext2 /dev/sdx6 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "unmounting /tmp/config..."
對於 TS-109、TS-109P、TS-119、TS-209、TS-209P、TS-219、TS-412、TS-409 (Marvell ARM) 使用...
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-201 使用...
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
使用 "init" 指令碼來掛載快閃記憶體
QNAP GUI 能夠檢視 autorun.sh 的內容。在 TS-831XU-RP 上的 V4.5.1.1540 版本中,GUI 是這樣做的:
/etc/init.d/init_disk.sh mount_flash_config
(顯示 /tmp/nasconfig_tmp/autorun.sh)
/etc/init.d/init_disk.sh umount_flash_config
使用這些命令,您可以在指定位置創建 / 編輯 "autorun.sh"。
允許在啟動時執行 autorun.sh
完成 autorun.sh 後,請不要忘記啟用選項以允許在系統啟動時運行 autorun.sh。
