From: Alexey Gladkov <gladkov.alexey@gmail.com> To: make-initrd@lists.altlinux.org Cc: Leonid Krivoshein <klark@basealt.ru> Subject: Re: [make-initrd] make pseudo GUI from bootchain-interactime common feature Date: Mon, 28 Jun 2021 18:06:24 +0200 Message-ID: <20210628160624.gglemxc5st6ucqog@example.org> (raw) In-Reply-To: <e7a7ed90-3862-d8f1-0720-fbc1f7e6924a@basealt.ru> On Mon, Jun 28, 2021 at 05:43:48PM +0300, Leonid Krivoshein wrote: > > > Всем привет, > > > Рассматривая новые фичи из bootchain обнаружил, что > > > bootchain-interactive не завязана на работе других фич из bootchain.В > > > связи с этим предлагаю вынести ее как отдельную фичу pseudo-dialogs (или > > > что-то типа того), которую могут использовать другие. > > > Я нахожу ее функционал достаточно полезным, внутри моей фичи, которая > > > осуществляет загрузку с защищенного носителя Рутокен. Так я бы смог > > > отображать в процессе загрузки меню настройки, которой мог бы > > > пользоваться администратор или пользователь. Внутри этого меню он сможет > > > > > > * снять оверлей > > > * изменить права доступа к защищенным разделам > > > * разблокировать пин-код пользователя в случае необходимости > > > * > > > Все эти вещи конечно можно было бы сделать через grub или просто на > > > другой системе, но это будет уже не так удобно. > > > Так же предполагаю, что эта фича может быть использована и в других > > > сценариях общения с пользователем. > > > Что думаете по этому поводу? > > Я совсем не против добавить возможность интерактивно что-то спрашивать у > > пользователя в зависимости от возможностей терминала, если есть такая > > потребность. > > > > Правда с моей точки зрения было бы неплохо, если бы такая фича была > > работоспособна и c netconsole. > > > > Леонид, а у тебя какие планы на bootchain-interactive ? > > Планы -- как можно быстрее интегрировать всю связку в make-initrd. > > Идея переместить bootchain-interactive на верхний уровень и сделать частью > make-initrd, независимой от bootchain была с самого начала, поэтому весь код > этой фичи так написан, что он совсем не зависит от других модулей bootchain. > Есть, правда, пара "но". Именно bootchain-interactive, как концепция, > создана наспех, для написания остального кода altboot, поэтому её хорошо бы > поревьювить именно в части общей пригодности интерфейса и арифметики. Ну это не проблема. Кстати, однажды Олег Нестеров подсказал мне вот такой код: ttysz() { local esc cols rows echo -ne "\e[s\e[1000;1000H\e[6n\e[u" IFS=';[' read -s -t2 -dR esc rows cols || { echo >&2 'ttysz() FAILED'; return 0; } stty rows $rows cols $cols } Думаю, что его можно модифицировать и использовать для твоих нужд. > Второй момент куда более важный. bootchain (изначально pipeline) мне видится > как решение проблемы синхронизации последовательности выполняемых действий > независимо от последовательности входящих событий. Так, фича overlayroot в > bootchain сейчас может "гоняться" с фичей "resume" make-initrd. С ней вообще > много чего может "гоняться". Я специально не трогал pipeline, чтобы не ломать тебе ничего. Я решал примерно такую же проблему с kickstart. На время работы таких фич как kickstart и pipeline нужно выключать обработку эвентов в ueventd. Но не всех, а только тех, что отвечают за разбор того, что пришло из udev. Это реализовано в kickstart. Перед запуском kickstart ставит на паузу очередь udev и снимает с паузы после обработки сценария (если управление возвращается initramfs). Насколько это хорошее решение пока не знаю, но это работает. Примерно это же можно делать и в bootchain т.е. блокировать обработку очереди udev эвентов при заходе в условный main_loop. > Было бы здорово сделать весь bootchain частью > интерфейса make-initrd, и чтобы код разных его фич можно было более тесно > интегрировать с bootchain, при необходимости. В первую очередь network, да и > всё, что можно конфигурировать через диалоги, запрос паролей не только на > токены, но и crypto-luks. Но это такие мечты и отдалённые задачи, наверняка > решаемые уже после того, как удастся заапстримить bootchain. Ты наверно имел в виду не весь bootchain, а фичу с диалогами ? Мне сразу в голову пришло примерно как это сделано в dpkg-configure. У нас же примерно такая же задача. У нас есть параметры, которые могут быть заданы, если нет, то о них нужно спросить или же использовать некие дефолты если возможно. Нужно будет поизучать как это у них уже реализовано. > При написании документации (уже около 30 страниц) обнаружил пару > архитектурных изъяна в bootchain и сейчас их уже почти исправил, но пока не > выгрузил обновления. При этом добился полной совместимости с pipeline, для > его пользователей теперь вообще ничего можно не менять. С ipmi/novga > консолями и utf8 тоже пока остаётся вопрос, как решать, ещё не заходил на > эту задачу. И останется всё ещё раз прогнать на стендах, так-то оно вроде > работало. После этого можно переходить к движению в апстрим в твоим > участием! :-) Ok. Нет проблем :) -- Rgrds, legion
next prev parent reply other threads:[~2021-06-28 16:06 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-28 14:01 ` Alexey Gladkov 2021-06-28 14:43 ` Leonid Krivoshein 2021-06-28 16:06 ` Alexey Gladkov [this message] 2021-06-28 16:34 ` Leonid Krivoshein 2021-06-28 18:48 ` Alexey Gladkov 2021-06-28 19:43 ` Leonid Krivoshein 2021-06-28 23:38 ` Alexey Gladkov 2021-06-29 0:50 ` Leonid Krivoshein 2021-06-29 8:28 ` Alexey Gladkov 2021-06-28 16:39 ` Leonid Krivoshein 2021-08-22 13:09 ` Leonid Krivoshein 2021-06-28 15:57 ` Leonid Krivoshein
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=20210628160624.gglemxc5st6ucqog@example.org \ --to=gladkov.alexey@gmail.com \ --cc=klark@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