Скрипт запуска в rc2.d - отложенное выполнение
У меня есть скрипт, который я хочу запустить при запуске.
Это очень простой скрипт, который вставляет несколько модулей ядра и запускает vino-server
:
init-script.sh:
#!/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 секунд после загрузки).
1 ответ
Ваше сообщение не объясняет, как ссылка названа внутри /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