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] bootchain+altboot: у меня есть план
Date: Mon, 23 Aug 2021 13:48:13 +0200
Message-ID: <20210823114813.d3zjjeyh2xb7xmec@example.org> (raw)
In-Reply-To: <fdb9fdaf-b791-d10c-f9f0-5bf8bd2b412f@gmail.com>

On Mon, Aug 23, 2021 at 02:04:06PM +0300, Leonid Krivoshein wrote:
> > > 1. Разобраться, как запускать виртуалку с -novga (без TTY's) и поработать в
> > > консоли с dialog.
> > Говорю просто для информации. В master переехала фича bootloader с TUI на
> > libnewt. Правда он не модульный. Я слышал, что Петр Михалицын имеет
> > некоторые мысли по развитию этого TUI.
> 
> Больше фич хороших и разных! Надо будет потом посмотреть.

Это не самодостаточная фича. Это часть:

https://github.com/osboot/make-initrd-bootloader

Это мой текущий bootloader.

> Насчёт именно libnewt, помню, у коллег были большие сомнения. К слову, и
> propagator написан с зависимостями на неё.

Те кто писал на ncurses поймут почему я выбрал эту библиотеку :)

> > > 2. Добавить в bootchain-core и bootchain-intractive код для поддержки
> > > netconsole.
> > Не стоит ли сделать поддержку netconsole глобальной ?
> 
> Вчера уже выгрузил этот код, вроде всё работает. Основное попало в
> bootchain-interactive (bootchain-sh-functions и чуток в виджеты). Именно его
> с поддержкой netconsole имеет смысл делать отдельной фичей, как только её
> лучше назвать? В bootchain-core (форк pipeline) попало лишь крошечное
> изменение, теперь демон понимает опцию nottys, чтобы не создавать на tty3
> процесс вывода журнала, это параметр из bootchain-interactive.
> 
> С этой netconsole наловил кучу дистрибутивных багов, не связанных с
> make-initrd. Не все умеют с ней работать, даже grub работает лишь в
> определённых условиях, в зависимости от образа. Нужно сначала понять, то ли
> я вообще сделал, что требовалось? Мне не удалось найти надёжного способа
> автоматического определения netconsole, поэтому пришлось ввести ещё один
> параметр nottys. Но вообще реализация получилась очень простой и, на первый
> взгляд, рабочей, и даже код определения размеров консоли пришёлся кстати.
> :-)

Надо будет посмотреть на этот код. Очень интересно.
 
> Решаю задачу с автоматизацией тестирования в полу-ручном режиме и
> формализацией этого процесса. Осталось не так уж много. Разворачивать стенд
> полностью вручную и вспоминать на память все тест-кейсы каждый раз было бы
> неправильно. Но и закрыть проблему через какой-нибудь CI я сходу не смогу,
> не имел с этим опыта пока.

Тесты это всегда трудно.

> > > 1. Будем перетаскивать bootchain-interactive в первую очередь отдельно от
> > > остального и под каким именем? См.:
> > > https://lists.altlinux.org/pipermail/make-initrd/2021-June/000454.html
> > Возможность доспросить у пользователя что-нибудь давно назрела. Было бы
> > здорово иметь её для всех модулей.
> 
> Нужно переименовать, чтобы не было ассоциации с bootchain. Только во что?
> early-dialog? im? interactive? interactive-mode? ...

Нужно посмотреть на код. Насколько я понимаю, для работы в полную силу эта
фича требует присутствия вызовов интерактивных функций везде, где
происходит запрос данных у пользователя. Это так ?

Если да, то получается, что этот функционал должен быть в data/, а вот
бэкенды рисующие диалоги должны быть в фиче или фичах.

Ну или я просто плохо помню идею и несу чушь.

> > > 2. Будем сначала решать проблему обеспечения полной совместимости с
> > > pipeline? См.:
> > > https://lists.altlinux.org/pipermail/make-initrd/2021-July/000500.html
> > Мне уже двое пользователей сказали о том, что используют pipeline. Я
> > считаю, что держать два почти одинаковых модуля не имеет смысла тем более,
> > что один вырос из другого.
> 
> Вчера я нашёл свою ошибку и у меня всё заработало с altboot даже так:
> root=pipeline pipeline=fg,altboot, вопреки черновику документации! :-)

\o/

> > > 4. Будем дожидаться появления в make-initrd API для проверки и сравнения
> > > версии или оставим это пока в bootchain? См.:
> > > https://lists.altlinux.org/pipermail/make-initrd/2021-July/000471.html
> > Постой. Тот тред был о том, что в /etc/initrd-release попадала
> > неправильная версия, что было исправлено. Ни о каком API для сравнения
> > речи не было.
> > 
> > Зачем такой API вообще нужен ?
> 
> Плохо то, что я начал не с него, хотя про API говорил тоже, но позже. Сейчас
> конкретной нужды нет. Но если поведение чего-либо в самом make-initrd
> меняется в зависимости от версии, то было бы здорово такой API иметь -- у
> всех библиотек подобное есть и make-initrd для фич предоставляет какой-то
> API.

Мне не очень хочется добавлять код "на всякий случай". Версия в образе
присутствует. Если возникнет необходимость, то функцию проверки напишем.

> Но в первую очередь я интересовался переносом функции initrd_version()
> из bootchain-core, т.к. это уже второй "клиент", выводящий версию initramfs.

А. Ну создать функцию, которая возвращает версию можно.

> Отлично! Будет смысл согласовать "окно" после финальной проверки всего
> комплекса. Привязка по времени к продуктам на p10 необязательна, так как для
> тестирования решения более широкими массами оно должно сначала попасть в
> Сизиф и тогда есть шанс наловить больше багов на регулярках. При переносе в
> make-initrd мне придётся параллельно удалять это из Сизифа.

Ты предлагаешь растянуть мердж bootchain на несколько релизов make-initrd?

-- 
Rgrds, legion



  reply	other threads:[~2021-08-23 11:48 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-21 19:14 Leonid Krivoshein
2021-08-22 19:29 ` Leonid Krivoshein
2021-08-23  9:29 ` Alexey Gladkov
2021-08-23 11:04   ` Leonid Krivoshein
2021-08-23 11:48     ` Alexey Gladkov [this message]
2021-08-24  1:16       ` Leonid Krivoshein
2021-08-30 17:14         ` Leonid Krivoshein
2021-08-30 18:13           ` Alexey Gladkov
2021-08-30 19:54             ` Leonid Krivoshein
2021-08-31  7:40               ` Alexey Gladkov
2021-08-31 22:02                 ` Leonid Krivoshein
2021-08-31 23:10                   ` Alexey Gladkov
2021-09-15 21:19                     ` Leonid Krivoshein
2021-08-23 11:19   ` 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=20210823114813.d3zjjeyh2xb7xmec@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