[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