2

У меня есть скрипт в /etc/init/ttyS0.conf . Я настраиваю гостя KVM для доступа к последовательной консоли, поэтому, даже если сетевой интерфейс не работает, я могу получить к нему доступ через последовательное соединение.

Я могу запустить ttyS0 , запустив sudo start ttyS0 и он прекрасно работает до перезагрузки. После перезагрузки системы ttyS0 больше не работает.

Как я могу получить этот скрипт для автоматической настройки при запуске?

Спасибо


Вот как выглядит мой скрипт:

# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 115200 ttyS0 xterm

3 ответа3

1

Отсюда

respawn
console none

start on (local-filesystems)
stop on [!12345]

script

exec start ttyS0
end script

Должен работать, я подозреваю. иначе замените start tty0 на скрипт, который запускает то, что вы хотите запустить

0

Есть несколько способов сделать это.

Если скрипт вызывает процесс, вы можете использовать /etc/init.d.

Поместите скрипт в /etc/init.d, вам нужно будет изменить права доступа к файлу, используя chmod a+x "script". Затем запустите update-rc.d "script" по умолчанию, который запускает все в работу. Сценарий должен запуститься при загрузке.

Вот еще несколько примеров:

Пример 1

Пример 2

0

Ubuntu использует запуск SYSV (так же, как Debian) на основе уровней запуска.

Вы должны добавить скрипт на уровень запуска, который вы используете в данный момент. Для Ubuntu уровень запуска, используемый процессом init, по умолчанию равен 2. Таким образом, вам нужно добавить ttyS0.conf в каталог rC2.d и указать, что вы хотите его запустить (не останавливая). Вы можете сделать это, добавив программную ссылку на скрипт следующим образом:

ln -s /etc/init/ttyS0.conf /etc/rc2.d/S99ttyS0.conf

Префикс S99 указывает "S" -> запустить сценарий и "99" порядок, в котором должен быть запущен сценарий (уменьшите это число, если другие сценарии должны быть запущены после этого).

Затем вам нужно остановить его при перезагрузке (уровень запуска 6) или при завершении работы (уровень запуска 0):

ln -s /etc/init/ttyS0.conf /etc/rc0.d/S99ttyS0.conf
ln -s /etc/init/ttyS0.conf /etc/rc6.d/S99ttyS0.conf

Префикс аналогичен за исключением того, что "S" -> stop script (только для уровней выполнения 0 и 6).

Надеюсь это поможет. Больше информации здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .