[devel] ОЕМ при установке всегда

Evgeny Sinelnikov sin на altlinux.org
Вс Май 26 02:06:56 MSK 2024


Доброй ночи,

пт, 19 апр. 2024 г. в 12:00, Антон Мидюков <midyukov-anton at ya.ru>:
>
> 19.04.2024 14:50, Sergey V Turchin пишет:
> > On Thursday, 18 April 2024 21:51:28 MSK Leonid Krivoshein wrote:
> >
> > [...]
> >> Предлагался как вариант отказ от нынешнего инсталлятора, перенос части
> >> шагов в stage1, другой части шагов как это сделано с OEM уже при первой
> >> загрузке (alterator-setup),
> > Мне нравится идея выделить ОЕМ-подобное, выполнять его отдельно после
> > перезагрузки и лишь менять состав шагов в зависимости от дистрибутива.
> > Это нужно потому, что отдельная настройка ОЕМ после установки портит некоторые
> > настройки, которые делают installer-features-* и их надо запускать ещё раз, но
> > никто этого не делает. При установке по сети достаточно будет закинуть какой-
> > нибудь autoinstall-файл, по которому всё само сделается.
> >
>
> А всё от того, что надо запускать эти настройки из /etc/firsttime.d/
> Перенести их надо, и всё будет работать правильно.
>
> Если уж и делить, то с той целью, чтобы не нужно было как сейчас запускать alterator в чруте.
> Но установка grub и настройка пароля LUKS, как-то не OEM-но, а они выполняются в чрутном альтераторе.
> Да и пароль root может быть необходимо задать.
>
> Такое разделение облегчило бы переход на новый альтератор, количество необходимых модулей старого типа резко бы сократилось.
> Новый альтератор не нужно было бы запускать в инсталляторе.
>
> >> тогда установщик не нужен, мы развёртываем подготовленную rootfs
> > Это можно решить отдельно, но уже видна такая тенденция у коллег из других
> > дистрибутивов.
> >

Это очень интересная тема. Не кажется ли она более подходящей для:
- https://lists.altlinux.org/pipermail/devel-distro/ ?

В целом, по существу, я уверен в том, что использование механизмов не
выполняющихся "системно", а выполняющихся исключительно скриптах (или
копированием скриптов в /etc/firsttime.d/) в mkimage-profiles - не
очень хорошая идея.

На примере сервера я планирую постепенное изживание
installer-features-*, как механизмов несистемной, тонкой настройки,
более никакими методами не воспроизводимых и скрытых в недрах профиля
продукта. Их перенос в /etc/firsttime.d/ будет уже большой шаг вперед,
но всех необходимых задач это не решает. Например, развертывание
различных служб следует, всё-таки, переносить в контролируемые
администратором инструменты, а не в эвристику, результаты работы
которой администратору приходится потом вычищать вручную.

Ниже попытаюсь изложить минимальный концепт реализации этого плана:
1) вариативность установки и деталей, доступных в процессе
инсталляции, необходимо свести к минимуму;
2) выбор дополнительно устанавливаемых групп пакетов перенести в
постустановчный процесс;
3) все дополнительные настройки, исполняемые для дополнительно
устанавливаемых групп пакетов перенести в механизмы доступные штатно
через инструменты администрирования;
4) параметры настройки штатных механизмов перенести в системные файлы
настройки, редактируемые как вручную, так и через API на DBus;
5) модулям, применяющим системные настройки, предполагается
предоставить возможность чтения настроек без запуска службы DBus,
чтобы чтение и применение настроек могло выполняться даже в
ограниченном окружении в хешера (если это применимо, конечно).

______________

По поводу идеи с темой "ОЕМ при установке всегда" у меня есть
предложение предварительно выполнить следующий набор шагов:

1. Рассмотреть возможности Kickstart для того, чтобы отобрать перечень
уже существующих сценариев использования, которые могут быть у нас
реализованы:
- https://docs.fedoraproject.org/en-US/fedora/f36/install-guide/appendixes/Kickstart_Syntax_Reference/

2. Оценить и осмыслить перечень всех ожидаемых и планируемых в
ближайшее время к реализации возможностей, которые мы хотим видеть в
первую очередь.

3. Выделить значимые задачи, для решения которых требуется функционал
ОЕМ-установки.

Хочу отметить, не я этот термин применил, что OEM означает "original
equipment manufacturer". Действительно ли мы тут обсуждаем механизм,
который означает оригинальное значение этой аббревиатуры? Ожидание от
него не в том, что можно будет автоматически установить Альт на
заданную железку, с заданными настройками, а в том, что внешний, по
отношению к нам производитель железки сможет, взяв базовый
установочный образ, сделать кастомную сборку под свою аппаратную
разработку. Легитимность и лицензионная чистота этого результата -
вопрос второй.

В-первую очередь, для внешнего аппаратного вендора стоит вопрос в том,
как завести его железку. А для этого, как правило, требуется
установить обновлённое, или даже кастомное, ядро (кто будет отвечать
за его сопровождение - это тоже второй вопрос).
Во-вторую очередь, внешний вендор ожидает возможность напихать своей
"блобятины" (firmware и драйверов, и, может быть, даже
"криптокостылей" и т.п.).

Всё это и нам полезно было бы для отладки и создания кастомных сборок.
Ставится ли так вопрос при проектировании ОЕМ-установки?


-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Devel