Make-initrd development discussion
 help / color / mirror / Atom feed
* [make-initrd] Не запускать сервис, если запущен другой сервис
@ 2023-05-02 11:08 Антон Мидюков
  2023-05-02 11:17 ` Alexey Gladkov
  0 siblings, 1 reply; 17+ messages in thread
From: Антон Мидюков @ 2023-05-02 11:08 UTC (permalink / raw)
  To: make-initrd

Здравствуйте

А есть ли какая-то возможность указать в заголовке init-скрипта initrd, чтобы если он запускается, то другой init-скрипт не стартует?
Или как-то иначе решить такую задачу?
Конкретика:
Нужно, чтобы plymouth не запускался, если будет запускаться bootchain. А уже сам bootchain бы запускал plymouth.
Другой вариант: не запускать plymouth, пока bootchain не завершит работу.
Причина в том, что plymouth занимает консоль и не даёт bootchain ничего в ней нарисовать.
Сейчас bootchain запускается на tty2, и проблемы поэтому нет. Но, если запускать с параметром cmdline console=tty1, при запущенном plymouth bootchain вечно ждёт доступ к tty1.

-- 
С уважением, Антон Мидюков <antohami@basealt.ru>


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 11:08 [make-initrd] Не запускать сервис, если запущен другой сервис Антон Мидюков
@ 2023-05-02 11:17 ` Alexey Gladkov
  2023-05-02 11:20   ` Антон Мидюков
  0 siblings, 1 reply; 17+ messages in thread
From: Alexey Gladkov @ 2023-05-02 11:17 UTC (permalink / raw)
  To: make-initrd

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 .

Почему такой вариант не подходит ?

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 11:17 ` Alexey Gladkov
@ 2023-05-02 11:20   ` Антон Мидюков
  2023-05-02 11:36     ` Alexey Gladkov
  0 siblings, 1 reply; 17+ messages in thread
From: Антон Мидюков @ 2023-05-02 11:20 UTC (permalink / raw)
  To: make-initrd

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.

-- 
С уважением, Антон Мидюков <antohami@basealt.ru>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 11:20   ` Антон Мидюков
@ 2023-05-02 11:36     ` Alexey Gladkov
  2023-05-02 11:39       ` Антон Мидюков
  0 siblings, 1 reply; 17+ messages in thread
From: Alexey Gladkov @ 2023-05-02 11:36 UTC (permalink / raw)
  To: make-initrd

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.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 11:36     ` Alexey Gladkov
@ 2023-05-02 11:39       ` Антон Мидюков
  2023-05-02 12:03         ` Alexey Gladkov
  0 siblings, 1 reply; 17+ messages in thread
From: Антон Мидюков @ 2023-05-02 11:39 UTC (permalink / raw)
  To: make-initrd

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.
> 

Да. Если полностью остановить, то работать будет. Просто это же моргание будет дополнительное. Было бы лучше не запускать. 

-- 
С уважением, Антон Мидюков <antohami@basealt.ru>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 11:39       ` Антон Мидюков
@ 2023-05-02 12:03         ` Alexey Gladkov
  2023-05-02 12:46           ` Антон Мидюков
  2023-05-02 15:50           ` Leonid Krivoshein
  0 siblings, 2 replies; 17+ messages in thread
From: Alexey Gladkov @ 2023-05-02 12:03 UTC (permalink / raw)
  To: make-initrd

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 отключение можно сделать только через костыли.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 12:03         ` Alexey Gladkov
@ 2023-05-02 12:46           ` Антон Мидюков
  2023-05-02 12:57             ` Alexey Gladkov
  2023-05-02 15:50           ` Leonid Krivoshein
  1 sibling, 1 reply; 17+ messages in thread
From: Антон Мидюков @ 2023-05-02 12:46 UTC (permalink / raw)
  To: make-initrd

02.05.2023 19:03, Alexey Gladkov пишет:
> 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 отключение можно сделать только через костыли.
> 

Да, это то, что нужно. Спасибо!
А запускать plymouth нужно на другом tty, например на tty5, как делает это propagator  с опцией --tty=/dev/tty5

Но тогда может можно просто настроить запуск на tty5 при make-initrd? Или нельзя?

-- 
С уважением, Антон Мидюков <antohami@basealt.ru>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 12:46           ` Антон Мидюков
@ 2023-05-02 12:57             ` Alexey Gladkov
  2023-05-02 13:07               ` Антон Мидюков
  0 siblings, 1 reply; 17+ messages in thread
From: Alexey Gladkov @ 2023-05-02 12:57 UTC (permalink / raw)
  To: make-initrd

On Tue, May 02, 2023 at 07:46:34PM +0700, Антон Мидюков wrote:
> 02.05.2023 19:03, Alexey Gladkov пишет:
> > 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 отключение можно сделать только через костыли.
> > 
> 
> Да, это то, что нужно. Спасибо!
> А запускать plymouth нужно на другом tty, например на tty5, как делает это propagator  с опцией --tty=/dev/tty5
> 
> Но тогда может можно просто настроить запуск на tty5 при make-initrd? Или нельзя?

Я не очень понял идею. Вы хотите из фичи bootchain настраивать на каком
tty будет запущен plymouth ?

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 12:57             ` Alexey Gladkov
@ 2023-05-02 13:07               ` Антон Мидюков
  2023-05-02 13:46                 ` Alexey Gladkov
  0 siblings, 1 reply; 17+ messages in thread
From: Антон Мидюков @ 2023-05-02 13:07 UTC (permalink / raw)
  To: make-initrd

02.05.2023 19:57, Alexey Gladkov пишет:
> On Tue, May 02, 2023 at 07:46:34PM +0700, Антон Мидюков wrote:
>> 02.05.2023 19:03, Alexey Gladkov пишет:
>>> 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 отключение можно сделать только через костыли.
>>>
>>
>> Да, это то, что нужно. Спасибо!
>> А запускать plymouth нужно на другом tty, например на tty5, как делает это propagator  с опцией --tty=/dev/tty5
>>
>> Но тогда может можно просто настроить запуск на tty5 при make-initrd? Или нельзя?
> 
> Я не очень понял идею. Вы хотите из фичи bootchain настраивать на каком
> tty будет запущен plymouth ?
> 

Да. Но можно пойти более простым путём, не менять tty для bootchain с tty2 на другой, если указана не serial console.
Там ошибка сейчас, получается.

-- 
С уважением, Антон Мидюков <antohami@basealt.ru>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 13:07               ` Антон Мидюков
@ 2023-05-02 13:46                 ` Alexey Gladkov
  2023-05-02 15:12                   ` Антон Мидюков
  0 siblings, 1 reply; 17+ messages in thread
From: Alexey Gladkov @ 2023-05-02 13:46 UTC (permalink / raw)
  To: make-initrd

On Tue, May 02, 2023 at 08:07:30PM +0700, Антон Мидюков wrote:
> 02.05.2023 19:57, Alexey Gladkov пишет:
> > On Tue, May 02, 2023 at 07:46:34PM +0700, Антон Мидюков wrote:
> >> 02.05.2023 19:03, Alexey Gladkov пишет:
> >>> 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 отключение можно сделать только через костыли.
> >>>
> >>
> >> Да, это то, что нужно. Спасибо!
> >> А запускать plymouth нужно на другом tty, например на tty5, как делает это propagator  с опцией --tty=/dev/tty5
> >>
> >> Но тогда может можно просто настроить запуск на tty5 при make-initrd? Или нельзя?
> > 
> > Я не очень понял идею. Вы хотите из фичи bootchain настраивать на каком
> > tty будет запущен plymouth ?
> > 
> 
> Да.

Такое технически возможно. Можно сделать так чтобы tty был настраиваемым
на стадии сборки образа. 

> Но можно пойти более простым путём, не менять tty для bootchain с tty2 на другой, если указана не serial console.
> Там ошибка сейчас, получается.

Этого я не понял. Объясните пожалуйста.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 13:46                 ` Alexey Gladkov
@ 2023-05-02 15:12                   ` Антон Мидюков
  2023-05-02 16:35                     ` Alexey Gladkov
  0 siblings, 1 reply; 17+ messages in thread
From: Антон Мидюков @ 2023-05-02 15:12 UTC (permalink / raw)
  To: make-initrd

02.05.2023 20:46, Alexey Gladkov пишет:
> On Tue, May 02, 2023 at 08:07:30PM +0700, Антон Мидюков wrote:
>> 02.05.2023 19:57, Alexey Gladkov пишет:
>>> On Tue, May 02, 2023 at 07:46:34PM +0700, Антон Мидюков wrote:
>>>> 02.05.2023 19:03, Alexey Gladkov пишет:
>>>>> 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 отключение можно сделать только через костыли.
>>>>>
>>>>
>>>> Да, это то, что нужно. Спасибо!
>>>> А запускать plymouth нужно на другом tty, например на tty5, как делает это propagator  с опцией --tty=/dev/tty5
>>>>
>>>> Но тогда может можно просто настроить запуск на tty5 при make-initrd? Или нельзя?
>>>
>>> Я не очень понял идею. Вы хотите из фичи bootchain настраивать на каком
>>> tty будет запущен plymouth ?
>>>
>>
>> Да.
> 
> Такое технически возможно. Можно сделать так чтобы tty был настраиваемым
> на стадии сборки образа.
> 
>> Но можно пойти более простым путём, не менять tty для bootchain с tty2 на другой, если указана не serial console.
>> Там ошибка сейчас, получается.
> 
> Этого я не понял. Объясните пожалуйста.
> 

У bootchain в конфиге выставляется tty, на котором он будет запускаться (tty2). Но его можно переопределить, задав console=<такой-то> при загрузке (переменная CONSOLE в initrd).
Для решения проблемы достаточно, чтобы переопределение срабатывало только тогда, когда console=ttyS<такой-то>, т.е. serial console (и netconsole ещё).

Задачку решаю такую:
Есть компьютер с u-boot или edk2, у которого при загрузке ядра вывод уходит на UART. А пользователь под рукой usb-UART не имеет, да и пользоваться им уметь не обязан.
Чтобы вывод шёл на HDMI нужно прописать console=tty1. Но в этом случае bootchain не может поделить tty1 с plymouth, придётся отключать plymouth.
Если bootchain останется на tty2, несмотря на console=tty1, то проблема будет решена.

-- 
С уважением, Антон Мидюков <antohami@basealt.ru>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 12:03         ` Alexey Gladkov
  2023-05-02 12:46           ` Антон Мидюков
@ 2023-05-02 15:50           ` Leonid Krivoshein
  2023-05-02 16:09             ` Антон Мидюков
  1 sibling, 1 reply; 17+ messages in thread
From: Leonid Krivoshein @ 2023-05-02 15:50 UTC (permalink / raw)
  To: make-initrd

Добрый день!



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?


-- 
WBR, Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 15:50           ` Leonid Krivoshein
@ 2023-05-02 16:09             ` Антон Мидюков
  2023-05-02 17:32               ` Leonid Krivoshein
  0 siblings, 1 reply; 17+ messages in thread
From: Антон Мидюков @ 2023-05-02 16:09 UTC (permalink / raw)
  To: make-initrd

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 к примеру). Возможно, это более правильное решение.

-- 
С уважением, Антон Мидюков <antohami@basealt.ru>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 15:12                   ` Антон Мидюков
@ 2023-05-02 16:35                     ` Alexey Gladkov
  2023-05-02 16:36                       ` Антон Мидюков
  0 siblings, 1 reply; 17+ messages in thread
From: Alexey Gladkov @ 2023-05-02 16:35 UTC (permalink / raw)
  To: make-initrd

On Tue, May 02, 2023 at 10:12:46PM +0700, Антон Мидюков wrote:
> 02.05.2023 20:46, Alexey Gladkov пишет:
> > On Tue, May 02, 2023 at 08:07:30PM +0700, Антон Мидюков wrote:
> >> 02.05.2023 19:57, Alexey Gladkov пишет:
> >>> On Tue, May 02, 2023 at 07:46:34PM +0700, Антон Мидюков wrote:
> >>>> 02.05.2023 19:03, Alexey Gladkov пишет:
> >>>>> 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 отключение можно сделать только через костыли.
> >>>>>
> >>>>
> >>>> Да, это то, что нужно. Спасибо!
> >>>> А запускать plymouth нужно на другом tty, например на tty5, как делает это propagator  с опцией --tty=/dev/tty5
> >>>>
> >>>> Но тогда может можно просто настроить запуск на tty5 при make-initrd? Или нельзя?
> >>>
> >>> Я не очень понял идею. Вы хотите из фичи bootchain настраивать на каком
> >>> tty будет запущен plymouth ?
> >>>
> >>
> >> Да.
> > 
> > Такое технически возможно. Можно сделать так чтобы tty был настраиваемым
> > на стадии сборки образа.
> > 
> >> Но можно пойти более простым путём, не менять tty для bootchain с tty2 на другой, если указана не serial console.
> >> Там ошибка сейчас, получается.
> > 
> > Этого я не понял. Объясните пожалуйста.
> > 
> 
> У bootchain в конфиге выставляется tty, на котором он будет запускаться
> (tty2). Но его можно переопределить, задав console=<такой-то> при
> загрузке (переменная CONSOLE в initrd).  Для решения проблемы
> достаточно, чтобы переопределение срабатывало только тогда, когда
> console=ttyS<такой-то>, т.е. serial console (и netconsole ещё).

То есть это исправление на стороне bootchain. Правильно я понял ?

> Задачку решаю такую:
> Есть компьютер с u-boot или edk2, у которого при загрузке ядра вывод
> уходит на UART. А пользователь под рукой usb-UART не имеет, да и
> пользоваться им уметь не обязан.  Чтобы вывод шёл на HDMI нужно
> прописать console=tty1. Но в этом случае bootchain не может поделить
> tty1 с plymouth, придётся отключать plymouth.  Если bootchain останется
> на tty2, несмотря на console=tty1, то проблема будет решена.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 16:35                     ` Alexey Gladkov
@ 2023-05-02 16:36                       ` Антон Мидюков
  0 siblings, 0 replies; 17+ messages in thread
From: Антон Мидюков @ 2023-05-02 16:36 UTC (permalink / raw)
  To: make-initrd

02.05.2023 23:35, Alexey Gladkov пишет:
> On Tue, May 02, 2023 at 10:12:46PM +0700, Антон Мидюков wrote:
>> 02.05.2023 20:46, Alexey Gladkov пишет:
>>> On Tue, May 02, 2023 at 08:07:30PM +0700, Антон Мидюков wrote:
>>>> 02.05.2023 19:57, Alexey Gladkov пишет:
>>>>> On Tue, May 02, 2023 at 07:46:34PM +0700, Антон Мидюков wrote:
>>>>>> 02.05.2023 19:03, Alexey Gladkov пишет:
>>>>>>> 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 отключение можно сделать только через костыли.
>>>>>>>
>>>>>>
>>>>>> Да, это то, что нужно. Спасибо!
>>>>>> А запускать plymouth нужно на другом tty, например на tty5, как делает это propagator  с опцией --tty=/dev/tty5
>>>>>>
>>>>>> Но тогда может можно просто настроить запуск на tty5 при make-initrd? Или нельзя?
>>>>>
>>>>> Я не очень понял идею. Вы хотите из фичи bootchain настраивать на каком
>>>>> tty будет запущен plymouth ?
>>>>>
>>>>
>>>> Да.
>>>
>>> Такое технически возможно. Можно сделать так чтобы tty был настраиваемым
>>> на стадии сборки образа.
>>>
>>>> Но можно пойти более простым путём, не менять tty для bootchain с tty2 на другой, если указана не serial console.
>>>> Там ошибка сейчас, получается.
>>>
>>> Этого я не понял. Объясните пожалуйста.
>>>
>>
>> У bootchain в конфиге выставляется tty, на котором он будет запускаться
>> (tty2). Но его можно переопределить, задав console=<такой-то> при
>> загрузке (переменная CONSOLE в initrd).  Для решения проблемы
>> достаточно, чтобы переопределение срабатывало только тогда, когда
>> console=ttyS<такой-то>, т.е. serial console (и netconsole ещё).
> 
> То есть это исправление на стороне bootchain. Правильно я понял ?

Да.

> 
>> Задачку решаю такую:
>> Есть компьютер с u-boot или edk2, у которого при загрузке ядра вывод
>> уходит на UART. А пользователь под рукой usb-UART не имеет, да и
>> пользоваться им уметь не обязан.  Чтобы вывод шёл на HDMI нужно
>> прописать console=tty1. Но в этом случае bootchain не может поделить
>> tty1 с plymouth, придётся отключать plymouth.  Если bootchain останется
>> на tty2, несмотря на console=tty1, то проблема будет решена.
> 

-- 
С уважением, Антон Мидюков <antohami@basealt.ru>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 16:09             ` Антон Мидюков
@ 2023-05-02 17:32               ` Leonid Krivoshein
  2023-05-02 18:14                 ` Alexey Gladkov
  0 siblings, 1 reply; 17+ messages in thread
From: Leonid Krivoshein @ 2023-05-02 17:32 UTC (permalink / raw)
  To: make-initrd



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 явно и запускать его из себя, хотя пока не 
понимаю, как это лучше сделать.


>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [make-initrd] Не запускать сервис, если запущен другой сервис
  2023-05-02 17:32               ` Leonid Krivoshein
@ 2023-05-02 18:14                 ` Alexey Gladkov
  0 siblings, 0 replies; 17+ messages in thread
From: Alexey Gladkov @ 2023-05-02 18:14 UTC (permalink / raw)
  To: make-initrd

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



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2023-05-02 18:14 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-02 11:08 [make-initrd] Не запускать сервис, если запущен другой сервис Антон Мидюков
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

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