Make-initrd development discussion
 help / color / mirror / Atom feed
From: Leonid Krivoshein <klark.devel@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] Не запускать сервис, если запущен другой сервис
Date: Tue, 2 May 2023 20:32:26 +0300
Message-ID: <c88bde64-1f05-1263-683d-834553fb7af9@gmail.com> (raw)
In-Reply-To: <29d6fab1-599d-2116-7dd9-6bc50c09a94a@basealt.ru>



On 5/2/23 19:09, Антон Мидюков wrote:
> 02.05.2023 22:50, Leonid Krivoshein пишет:
>> Добрый день!
>>
>>
>>
>> On 5/2/23 15:03, Alexey Gladkov wrote:
>>> On Tue, May 02, 2023 at 06:39:47PM +0700, Антон Мидюков wrote:
>>>> 02.05.2023 18:36, Alexey Gladkov пишет:
>>>>> On Tue, May 02, 2023 at 06:20:27PM +0700, Антон Мидюков wrote:
>>>>>> 02.05.2023 18:17, Alexey Gladkov пишет:
>>>>>>> On Tue, May 02, 2023 at 06:08:56PM +0700, Антон Мидюков wrote:
>>>>>>>> Здравствуйте
>>>>>>>>
>>>>>>>> А есть ли какая-то возможность указать в заголовке init-скрипта initrd, чтобы если он запускается, то другой init-скрипт не стартует?
>>>>>>> Таких зависимостей среди сервисов нет.
>>>>>>>
>>>>>>>> Или как-то иначе решить такую задачу?
>>>>>>>> Конкретика:
>>>>>>>> Нужно, чтобы plymouth не запускался, если будет запускаться bootchain. А уже сам bootchain бы запускал plymouth.
>>>>>>>> Другой вариант: не запускать plymouth, пока bootchain не завершит работу.
>>>>>>>> Причина в том, что plymouth занимает консоль и не даёт bootchain ничего в ней нарисовать.
>>>>>>>> Сейчас bootchain запускается на tty2, и проблемы поэтому нет. Но, если запускать с параметром cmdline console=tty1, при запущенном plymouth bootchain вечно ждёт доступ к tty1.
>>>>>>> bootchain может перед началом работы выполнить: plymouth --hide-splash .
>>>>>>>
>>>>>>> Почему такой вариант не подходит ?
>>>>>>>
>>>>>> plymouth при скрытии splash выводит тему details, т.е. сообщения идут через него. И вот через details bootchain почему-то не работает.
>>>>>> Помогает только nosplash, т.е. отключение запуска plymouth.
>>>>> Я очень плохо знаю опции этой утилиты. Я имел в виду опцию, которая его
>>>>> останавливает. Наверное это quit.
>>>>>
>>>> Да. Если полностью остановить, то работать будет. Просто это же моргание будет дополнительное. Было бы лучше не запускать.
>>> Если plymouth не должен запускаться совсем, то правильнее прописать его
>>> отключения ещё при сборке. В config.mk прописать:
>>>
>>> $(call feature-disables,plymouth)
>>>
>>> В самом initramfs отключение можно сделать только через костыли.
>> Мне тоже первая мысль пришла по поставленной задаче выставить именно такой конфликт сервисов, но дочитав тред до конца, вижу, что проблема специфична для определённых одноплатников и условий с серийной консолью. Прежде чем хвататься за перевод make-initrd-bootchain-interactive на tmux, а эта задача мне меньше всего пока понятна, возникает резонный вопрос: а как у пропагатора обстоит дело с плимутом и серийными консолями? Он же тоже использует TTY's?
>>
> plymouth запускает сам propagator на tty5, поэтому с ним не конфликтует. А выводит он в /dev/console, и выводит в неё только он, не с кем ему её делить.
> Ему нет разницы, что из себя представляет /dev/console. Но так как он выводит логи на tty4, с последовательной консоли их не получить.
> Если переделать bootchain на вывод в /dev/console, то придётся переделать запуск plymouth (на tty5 к примеру). Возможно, это более правильное решение.

/dev/console в make-initrd также используют демоны и rdshell, при этом 
есть механизм блокировки.

Так какое в итоге решение будет более правильным? Конфиг меняется вне 
bootchain, переменную можно запилить в m-p безусловно для 
соответствующих образов, это поможет? Можно сделать interactive 
зависящим от plymouth явно и запускать его из себя, хотя пока не 
понимаю, как это лучше сделать.


>



  reply	other threads:[~2023-05-02 17:32 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-02 11:08 Антон Мидюков
2023-05-02 11:17 ` Alexey Gladkov
2023-05-02 11:20   ` Антон Мидюков
2023-05-02 11:36     ` Alexey Gladkov
2023-05-02 11:39       ` Антон Мидюков
2023-05-02 12:03         ` Alexey Gladkov
2023-05-02 12:46           ` Антон Мидюков
2023-05-02 12:57             ` Alexey Gladkov
2023-05-02 13:07               ` Антон Мидюков
2023-05-02 13:46                 ` Alexey Gladkov
2023-05-02 15:12                   ` Антон Мидюков
2023-05-02 16:35                     ` Alexey Gladkov
2023-05-02 16:36                       ` Антон Мидюков
2023-05-02 15:50           ` Leonid Krivoshein
2023-05-02 16:09             ` Антон Мидюков
2023-05-02 17:32               ` Leonid Krivoshein [this message]
2023-05-02 18:14                 ` Alexey Gladkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c88bde64-1f05-1263-683d-834553fb7af9@gmail.com \
    --to=klark.devel@gmail.com \
    --cc=make-initrd@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
		make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
	public-inbox-index make-initrd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.make-initrd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git