[make-initrd] make pseudo GUI from bootchain-interactime common feature

Leonid Krivoshein klark.devel at gmail.com
Mon Jun 28 22:43:20 MSK 2021


28.06.2021 21:48, Alexey Gladkov пишет:
> On Mon, Jun 28, 2021 at 07:34:02PM +0300, Leonid Krivoshein wrote:
> [..]
>>>> Было бы здорово сделать весь bootchain частью
>>>> интерфейса make-initrd, и чтобы код разных его фич можно было более тесно
>>>> интегрировать с bootchain, при необходимости. В первую очередь network, да и
>>>> всё, что можно конфигурировать через диалоги, запрос паролей не только на
>>>> токены, но и crypto-luks. Но это такие мечты и отдалённые задачи, наверняка
>>>> решаемые уже после того, как удастся заапстримить bootchain.
>>> Ты наверно имел в виду не весь bootchain, а фичу с диалогами ?
>> Нет, имел ввиду весь bootchain. И даже более широко. Было бы хорошо в самом
>> make-initrd иметь наряду с параллельной событийно-ориентированной обработкой
>> интерфейс, позволяющий выполнять что угодно последовательно, не только с
>> диалогами. pipeline/bootchain эту задачу решают, но возможно на уровне
>> интерфейса make-initrd её можно решить ещё лучше, а bootchain со своими
>> "входами" и "выходами" сделать частным использованием этого общего
>> интерфейса make-initrd. Некоторые вещи нужно обрабатывать последовательно, а
>> не как карта ляжет. Например resume, fsck, создание оверлеев...
> Для общесистемного применения нужны usecases, иначе такой функционал будет
> лежать мёртвым грузом. Если же этот функционал нужен лишь иногда, то для
> этого есть фичи.

Конечно, но несколько штук перечислил. Мне-то не видно всех возможностей 
make-initrd, поэтому со своей колокольни для решения конкретных задач 
сходу пришло два варианта реализации: 1) перетащить названные фичи в 
bootchain или сделать зависимыми от него; 2) сделать в bootchain 
дубликаты этих фич. Тогда можно чётко выстраивать в цепочку: проверили 
диск fsck, проснулись, если это resume, построили оверлей над обычной 
rootfs. Т.е. речь не о диалогах, а о синхронизации, последовательном 
выполнении. Сейчас, если в bootchain шаг ничего не принимает на входе и 
не передаёт на выходе, он вызывает bypass_results(), связывая выход 
предыдущего шага со входом следующего. Расходуется при этом лишний 
каталог в tmpfs. Если на уровне make-initrd можно было бы выстраивать 
последовательность выполнения, то организация входов-выходов была бы 
дополнительным функционалом, в котором действительно намного меньше 
нуждающихся.


-- 
Best regards,
Leonid Krivoshein.



More information about the Make-initrd mailing list