autorun.sh muncul dengan benar tetapi tidak berjalan saat boot

Saya telah mengatur autorun.sh pada TS-451+ dan semuanya tampak benar, tetapi saya tidak bisa membuatnya berjalan.

Ketika saya melihat autorun.sh yang sebenarnya (dengan me-mount /tmp/config), saya melihat:

-rwxr-xr-x 1 admin administrators 356 2026-03-20 08:09 autorun.sh*

drwx------ 2 admin administrators 12288 2010-01-10 23:41 lost+found/

-rw-r–r-- 1 admin administrators 11700 2026-03-20 07:47 smb.conf

-rw-r–r-- 1 admin administrators 9 2026-03-20 07:47 smb.conf.cksum

-rw-r–r-- 1 admin administrators 37 2026-03-20 07:38 system.map.key

-rw-r–r-- 1 admin administrators 11401 2026-03-20 08:12 uLinux.conf

Ketika saya melihat di ControlPanel→Hardware saya melihat

Ini terlihat benar bagi saya. Yang ingin saya lakukan adalah mematikan menu login ssh, mengatur beberapa variabel lingkungan, dan mengatur default route saya ke USB QNAP 5gbps ethernet adapter. Set perintah yang sama ini berjalan sempurna jika saya jalankan sebagai root dari sesi ssh tetapi tidak berjalan saat startup. Saya menambahkan delay jika autorun berjalan sebelum jaringan dan sistem file semua ter-mount.

Saran apa pun tentang cara membuat ini bekerja akan sangat dihargai.

Menu login SSH dapat dimatikan di GUI

Apakah autorun.sh Anda sudah diatur untuk dijalankan saat startup? (pengaturannya tersembunyi oleh popup pada tangkapan layar)

Maaf saya tidak menunjukkan itu, tapi sudah dinyalakan.

Saya akan mencari entri menu itu di GUI.

Saya masih perlu autoexec berjalan setiap kali boot untuk mengatur routing jaringan saya. Entah kenapa, QNAP tidak secara otomatis melakukan routing melalui USB ethernet, meskipun itu satu-satunya NIC yang terpasang di perangkat. Akibatnya, perangkat hanya bisa berkomunikasi dengan jaringan class C di rumah saya. Saya tidak tahu kenapa autoexec tidak berjalan.

Ada di sini

@tangential, coba tangkap output dari autorun.sh kamu (baik stdout maupun stderr) ke dalam file log dan periksa log tersebut nanti untuk mencari masalah.

Untuk melakukan ini, tambahkan baris baru berikut ke dalam autorun.sh kamu setelah baris hashbang:

exec > /var/log/autorun.log 2>&1

Terima kasih! Sedang saya uji sekarang!

Sudah saya coba. Ternyata eth4 belum aktif pada saat itu. Saya rasa saya butuh delay yang lebih lama di skripnya? Sekarang saya sudah set 60 detik, mungkin sebaiknya saya coba 180?

Berikut yang saya temukan:

[admin@NAS0ECB0C ~]# cd /var/log

[admin@NAS0ECB0C log]# ls -l au*

-rw-r–r-- 1 admin administrators 26 2026-03-20 16:22 autorun.log

[admin@NAS0ECB0C log]# cat autorun.log

Cannot find device “eth4”

[admin@NAS0ECB0C log]# ifconfig eth4

eth4 Link encap:Ethernet HWaddr 24:5E:BE:81:62:26

      inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0

      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

      RX packets:9574 errors:0 dropped:23 overruns:0 frame:0

      TX packets:3702 errors:0 dropped:0 overruns:0 carrier:0

      collisions:0 txqueuelen:1000

      RX bytes:1889384 (1.8 MiB)  TX bytes:3006272 (2.8 MiB)

Ya, atau kamu bisa membuat loop untuk memeriksanya dan hanya melanjutkan ketika sudah ditemukan. :nerd_face:

Saya perhatikan skrip kamu mencoba mengakses eth4 menggunakan perintah ip, tetapi kemudian kamu memeriksa eth4 dengan ifconfig. Mungkin relevan saat memeriksa eth4 di skrip kamu.

Bagaimana Cara Memastikan autorun.sh Benar-benar Berjalan Saat Boot | QNAP