[make-initrd] [PATCH v6 21/22] bootchain-core: adds ability to bring the daemon to the foreground

Leonid Krivoshein klark.devel at gmail.com
Mon Nov 8 19:08:13 MSK 2021


Привет!


08.11.2021 16:09, Alexey Gladkov пишет:
> On Sat, Nov 06, 2021 at 10:54:13PM +0300, Leonid Krivoshein wrote:
>>> Когда загружаются drm, то kbd переинициализирует терминалы.
>>>
>>> Я не вижу смысла использовать kbd в случае bootchain. Эта фича всё-таки
>>> немного не для этого. Настроить unicode для запуска tmux можно и
>>> самостоятельно.
>> Если мы вдруг захотим прикрутить сюда локализацию диалогов или сделать на
>> базе bootchain простой текстовый инсталлятор, то с фича kbd уже реализует
>> необходимый функционал.
> Она реализует функционал для использования в живой системе. Сейчас нет
> механизма, чтобы понять консоль проинициализирована. Реализовать такой
> механизм будет сложно.

Понятно.


>> В случае tmux у меня всё же остаётся вопрос о том, как правильно
>> инициализировать консоль в фичах
> Почему ты используешь множественное число ? Насколько я знаю сейчас что-то
> делать с консолью нужно только bootchain.

В этой рассылке ранее запрашивалась фича pseudo-gui. Работа с диалогами 
могла бы быть полезной не только altboot. Сейчас TUI используется только 
altboot. Но, если какая-нибудь другая фича захочет вывести диалог, то 
как ей это лучше сделать? Тут два концептуальных момента:

1. Хотелось бы сделать фичу interactive пригодной для всего, что 
работает в initrd, а не только в altboot.
2. Как обратиться к API "прозрачно", без дополнительной артподготовки. 
Например, понадобилось ввести PIN-код, обратились к API для вывода 
диалога ввода -- тут работа демона должна заблокироваться, пока нужные 
данные не будут получены. На каком терминале это должно происходить? 
Должен ли он переключаться автоматически на передний план, если никаких 
данных от пользователя не ожидается, а выводятся только информационные 
сообщения? Диалоги от разных фич не должны перемешиваться и наезжать 
друг на друга.

Было бы хорошо, если бы нам удалось сделать более общую фичу. Но для 
апстрима bootchain это сейчас неактуально.


> Остальные фичи работаеют без
> дополнительной настройки с /dev/console.
>
> Причём даже внутри bootchain далеко не всему нужна как-то специально
> настроенная консоль, а только altboot. Остальные шаги не требуют консоли.

Совершенно верно.

Как-то уже обсуждали, что вариант использования диалогов в рамках 
bootchain тоже не стоит снимать со счетов. Фича bootchain-waitdev 
демонстрирует комбинацию event-driven подхода и пошаговой работы в 
рамках концепций bootchain. То есть, если кому-то нужны диалоги, их 
можно засунуть в bootchain и таким образом тоже снять потребность в 
общей фиче pseudo-gui.

Почему это вопрос лучше решить именно тебе: даже сейчас в условиях 
единственной /dev/console возникает борьба между rdshell и любыми 
диалогами, а ещё сюда демоны выводят то, что запущено, что остановлено. 
Запрос PIN-кода в некоторых фичах, диалоги вообще должны следовать 
какой-то общей концепции во избежании борьбы за ввод. Нужно 
централизованно решить вопрос с тем, на каком PTY (TTY) будут возникать 
такие диалоги, как избежать лишнего мелькания.


>> так как сейчас всё очень сильно зависит от
>> набора фич, попадающих в initrd.
> Каких фич ?

plymouth, kbd, rdshell -- в первую очередь.


-- 
Best regards,
Leonid Krivoshein.



More information about the Make-initrd mailing list