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

Leonid Krivoshein klark.devel at gmail.com
Sat Nov 6 22:32:55 MSK 2021


06.11.2021 21:29, Alexey Gladkov пишет:
> On Sat, Nov 06, 2021 at 09:03:49PM +0300, Leonid Krivoshein wrote:
>> 06.11.2021 20:41, Alexey Gladkov пишет:
>>> On Sat, Nov 06, 2021 at 07:52:52PM +0300, Leonid Krivoshein wrote:
>>>> Для апстрима bootchain/altboot проблемы нет. Даже не идеальную
>>>> bootchain-interactive можно заппстримить сейчас "как есть", а потом её
>>>> улучшать, переводить с openvt на screen или tmux.
>>> У меня, кстати, на компе всё в tmux и я умею сессии менеджить.
>> screen и tmux я пробовал запихнуть в initrd, но они там не хотят работать
>> без инициализированной utf8-консоли. С kbd сам видишь, какая свистопляска
>> сейчас. Главное "безобразие", которое нужно забороть -- инициализация
>> консолей разными фичами, блокировка консолей и нормальная работа с plymouth,
>> а то если инициализация консолей начинается до plymouth, всё портится при
>> загрузке DRM-модулей в некоторых конфигурациях.
> Когда загружаются drm, то kbd переинициализирует терминалы.
>
> Я не вижу смысла использовать kbd в случае bootchain. Эта фича всё-таки
> немного не для этого. Настроить unicode для запуска tmux можно и
> самостоятельно.
>
>> С tmux или screen для диалогов можно было бы реализовать более простой
>> вариант с открепляемыми терминалами (PTY). Тогда всем хватило бы
>> /dev/console.
> Я и хочу использовать /dev/console. Мне не очень нравится идея
> использовать другие терминалы.

Как мы тогда поступим?

1. Переделывать bootchain-interactive на использование tmux? Или 
апстримить "как есть", а потом уже переделывать? В принципе, даже на 
самом странном железе удалось добиться работоспособности с TTY'ами, см. 
баг #41097.
2. Как собирать bootchain-interactive? В одном задании с make-initrd, 
промежуточную версию которого ты одобришь?
3. Ничего, что фича bootchain-interactive пока не может использоваться 
совместно разными фичами? Просто, я озвучил, но не смогу сам решить эту 
проблему.
4. Ещё есть вариант: не апстримить пока bootchain-interactive до 
понимания того, как с ней взаимодействуют другие фичи -- она вклинилась, 
поскольку bootchain-core работает с ней совместно и использует некоторые 
её параметры загрузки.
5. Вопрос с разделением и перезапуском процесса для реализации 
интерактивности считаем решённым, или есть по нему ещё сомнения? Если 
делать через tmux, на мой взгляд, всё равно придётся делить и перезапускать.
6. Есть ещё оставшийся за кадром вопрос про специальный fatal() для 
bootchain и pipeline. В идеале перехватить бы внезапное завершение этих 
демонов каким-нибудь внятным диалогом. Речь о том, что есть у 
make-initrd глобальный rootdelay=180 сек., но его нет смысла ждать при 
методах загрузки pipeline или bootchain. Если демон зафейлился раньше, 
не нужно дожидаться rootdelay. Но я пока ничего не менял в коде для этого.


-- 
Best regards,
Leonid Krivoshein.



More information about the Make-initrd mailing list