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
next prev parent 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