Make-initrd development discussion
 help / color / mirror / Atom feed
From: Alexey Gladkov <gladkov.alexey@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] make pseudo GUI from bootchain-interactime common feature
Date: Mon, 28 Jun 2021 20:48:57 +0200
Message-ID: <20210628184857.dta2grbb3hma6b7k@example.org> (raw)
In-Reply-To: <3d683f36-0115-499b-6815-7b8d561e3351@gmail.com>

On Mon, Jun 28, 2021 at 07:34:02PM +0300, Leonid Krivoshein wrote:
> 
> 28.06.2021 19:06, Alexey Gladkov пишет:
> > On Mon, Jun 28, 2021 at 05:43:48PM +0300, Leonid Krivoshein wrote:
> > > > [...]
> > > > Леонид, а у тебя какие планы на 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
> > }
> > 
> > Думаю, что его можно модифицировать и использовать для твоих нужд.
> 
> Для определения размеров TTY и для сохранения/восстановления консоли в
> первых реализациях я тоже использовал stty. Но потом обнаружил, что
> сохранение/восстановление поддерживается далеко не всеми TTY, поэтому
> использовал отдельную консоль, которую просто чищу за собой, а определение
> размера не проблема, dialog'ом её тоже можно решать достаточно надёжно. Если
> оставить как сейчас -- не будет лишней зависимости.

Я не в плане делать stty а в плане вычисления rows и cols.

> > > Было бы здорово сделать весь bootchain частью
> > > интерфейса make-initrd, и чтобы код разных его фич можно было более тесно
> > > интегрировать с bootchain, при необходимости. В первую очередь network, да и
> > > всё, что можно конфигурировать через диалоги, запрос паролей не только на
> > > токены, но и crypto-luks. Но это такие мечты и отдалённые задачи, наверняка
> > > решаемые уже после того, как удастся заапстримить bootchain.
> > Ты наверно имел в виду не весь bootchain, а фичу с диалогами ?
> 
> Нет, имел ввиду весь bootchain. И даже более широко. Было бы хорошо в самом
> make-initrd иметь наряду с параллельной событийно-ориентированной обработкой
> интерфейс, позволяющий выполнять что угодно последовательно, не только с
> диалогами. pipeline/bootchain эту задачу решают, но возможно на уровне
> интерфейса make-initrd её можно решить ещё лучше, а bootchain со своими
> "входами" и "выходами" сделать частным использованием этого общего
> интерфейса make-initrd. Некоторые вещи нужно обрабатывать последовательно, а
> не как карта ляжет. Например resume, fsck, создание оверлеев...

Для общесистемного применения нужны usecases, иначе такой функционал будет
лежать мёртвым грузом. Если же этот функционал нужен лишь иногда, то для
этого есть фичи.

> > Мне сразу в голову пришло примерно как это сделано в dpkg-configure. У нас
> > же примерно такая же задача. У нас есть параметры, которые могут быть
> > заданы, если нет, то о них нужно спросить или же использовать некие
> > дефолты если возможно. Нужно будет поизучать как это у них уже
> > реализовано.
> 
> Да, классная идея, но это уже следующий уровень интеллекта. Не уверен, что
> сходу достижимый, по крайней мере, без изменения интерфейса регистрируемых
> аргументов make-initrd. Но если отталкиваться не от параметров make-initrd,
> а от того, как данные описываются в d-i (dpkg-configure использует эту
> модель, если не ошибаюсь), то да, но скорее всего диалоги там не
> автоматически формируются, а тоже используют библиотеку доступа к этим
> данным. Давно изучал вопрос, поэтому плохо помню, что там и как.

Есть ещё одна система, которая меньше требует и которая больше мне
нрафится - kconfig. Я правда не уверен, что она будет покрывать 100% нужд.
Нужно смотреть.

-- 
Rgrds, legion



  reply	other threads:[~2021-06-28 18:48 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
2021-06-28 16:34       ` Leonid Krivoshein
2021-06-28 18:48         ` Alexey Gladkov [this message]
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=20210628184857.dta2grbb3hma6b7k@example.org \
    --to=gladkov.alexey@gmail.com \
    --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