Make-initrd development discussion
 help / color / mirror / Atom feed
From: Alexey Gladkov <gladkov.alexey@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] Не запускать сервис, если запущен другой сервис
Date: Tue, 2 May 2023 20:14:01 +0200
Message-ID: <ZFFS6RgbOhYy+ghe@example.org> (raw)
In-Reply-To: <c88bde64-1f05-1263-683d-834553fb7af9@gmail.com>

On Tue, May 02, 2023 at 08:32:26PM +0300, Leonid Krivoshein wrote:
> 
> 
> 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, при этом 
> есть механизм блокировки.

Механизм блокировки не позволит занять консоль. Кроме того rdshell сам не
вызывается и нужно просто остановить отсчёт rootdelay. Сервисы же по
умолчанию пишут в свои логи, а не на console.

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



      reply	other threads:[~2023-05-02 18:14 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
2023-05-02 18:14                 ` Alexey Gladkov [this message]

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=ZFFS6RgbOhYy+ghe@example.org \
    --to=gladkov.alexey@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