У меня есть сценарий, который я хочу запустить при запуске.
Это очень простой скрипт, который вставляет несколько модулей ядра и запускает vino-server:
#!/bin/bash
sudo rmmod nvhost_vi
# Insert the camera modules
sudo modprobe videobuf2-dma-contig
sudo modprobe adv7280
sudo modprobe tegra_camera
# Start the VNC server
cd /usr/lib/vino
./vino-server &
И я добавил символическую ссылку в каталог /etc/rc2.d, я гарантирую, что к этому скрипту были применены разрешения на выполнение.
Если я перезагружу систему, я замечаю (проверяя dmesg), что сценарий не запускается примерно через 260 секунд после загрузки - не во время последовательности загрузки, как ожидалось.
Есть ли причина, почему это будет происходить? Эта версия Ubuntu (14.04.5 LTS) работает на плате NVIDIA Jetson TK1, которая является ядром ARM.
Чтобы выбросить муху в мазь, у меня есть идентичная настройка (из одного и того же образа развертывания), которая НЕ демонстрирует это поведение. Тот же скрипт в том же каталоге rc2.d запускается при запуске (через 13 секунд после загрузки).
Ваше сообщение не объясняет, как ссылка названа внутри папки /etc/rc2.d. Если вы хотите зарегистрировать собственный сценарий запуска, вы должны поместить его в каталог /etc/init.d и зарегистрировать его с помощью update-rc.d
sudo cp /home/user/mod_and_vnc /etc/init.d/
sudo update-rc.d mod_and_vnc defaults
ls -la /etc/rc*.d/*mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc0.d/K20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc1.d/K20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc2.d/S20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc3.d/S20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc4.d/S20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc5.d/S20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc6.d/K20mod_and_vnc -> ../init.d/mod_and_vnc
Ваше сообщение не объясняет, как ссылка названа внутри папки /etc/rc2.d. Если вы хотите зарегистрировать собственный сценарий запуска, вы должны поместить его в каталог /etc/init.d и зарегистрировать его с помощью update-rc.d
sudo cp /home/user/mod_and_vnc /etc/init.d/
sudo update-rc.d mod_and_vnc defaults
ls -la /etc/rc*.d/*mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc0.d/K20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc1.d/K20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc2.d/S20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc3.d/S20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc4.d/S20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc5.d/S20mod_and_vnc -> ../init.d/mod_and_vnc
lrwxrwxrwx 1 root root 21 Jul 19 15:11 /etc/rc6.d/K20mod_and_vnc -> ../init.d/mod_and_vnc