From: "Антон Мидюков" <antohami@basealt.ru> To: make-initrd@lists.altlinux.org Subject: Re: [make-initrd] Не запускать сервис, если запущен другой сервис Date: Tue, 2 May 2023 23:36:28 +0700 Message-ID: <faa5790f-5bfb-8b52-3b45-66b929a8ada0@basealt.ru> (raw) In-Reply-To: <ZFE718Aw2E06TuTm@example.org> 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>
next prev parent reply other threads:[~2023-05-02 16:36 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 ` Антон Мидюков [this message] 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
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=faa5790f-5bfb-8b52-3b45-66b929a8ada0@basealt.ru \ --to=antohami@basealt.ru \ --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