[devel-distro] Пример файла разметки и описания

Антон Мидюков midyukov-anton at ya.ru
Thu Oct 10 11:54:06 MSK 2024


10.10.2024 04:01, Leonid Krivoshein пишет:
> 
> On 10/10/24 01:08, Leonid Krivoshein wrote:
>>> [...]
>>>> По результатам обсуждения я сформулировал следующие тезисы:
>>>> 1. Графический интерфейс инсталлятора представляет собой конфигуратор,
>>>> который создаёт сценарий автоустановки (kickstart-файл)
>>> Я не считаю, что у нас возможна совместимость с redhat в этом вопросе.
>>> Поэтому я предлагаю придумать этому файлу другой формат и название.
>>> Взяв у коллег лучшее, естественно.
>>>
>>> Формат должен быть документирован, его корректность и наличие
>>> всех необходимых полей должны быть проверяемы программно (т.е.
>>> нужна схема).
>>
>> Да. Yaml. СхемЫ тоже на Yaml. Есть возражения? Во множественном, т.к. модульность, схемы будут разделены по пакетам. Важна строгая типизация, давно обсуждали это и кажется Иван Захарящев даже что-то делал для этого с woo.
>>
> 
> Разметка дисков -- существенная часть установщика. Давно хочу написать этот бэкенд и уже примеряюсь к инструментарию, хотя архитектура Volume Slicer (vs) созрела окончательно в прошлом году.
> 
> Всегда считал, что описание разметки -- весьма непростая сущность, оно не обязано быть в том же формате, что и файл ответов, хотя служит тем же целям. Если вдруг это совпадёт, будет здорово, можно вложить одно Yaml-дерево в другое, но всегда можно использовать просто ссылку на отдельный файл.
> 

Я даже думаю, что разметка диска не должна быть частью конфигуратора. Это должен быть отдельный модуль, генерирующий отдельный файл.
Тогда выглядит схема инсталлятора так:

Конфигуратор (если необходимо) -> Разбивка диска -> Установка (из пакетов, из live или архива, неважно) -> Интерпертатор сценария автоконфигурирования, запущенный в chroot -> Перезагрузка в установленную ОС

То есть интерпретатор автоконфигурирования является в данной схеме частью установленной системы вместе с бекендами.
И тогда вообще никаких отличий с предустановкой:
Конфигуратор (если необходимо) ->  Интерпертатор сценария автоконфигурирования -> Перезагрузка

Сразу возникает вопрос, а точно ли нам нужно тогда запускать его в чруте? Мне кажется, что нет. Если это не OEM, то при первом запуске не запускается конфигуратор, а выполняется сценарий автоконфигурирования и перезагрузка. А OEM только и будет отличаться тем, что будет запускаться конфигуратор в установленной системе.

То есть я вернулся в итоге к изначальному варианту реализовать предустановленную систему с возможностью автоустановки.
Конфигуратор в итоге будет готов. И останется реализация модуля разбивки диска и модулей развёртывания из пакетов (а может оно нам и не надо окажется?), live или rootfs (эти два варианта очевидно очень похожи, поэтому это может быть один и тот же модуль).

П.с.: Я свои ответы на разные письма позже резюмирую, как своё видение общей ситуации по данному обсуждению.

-- 
С уважением, Антон Мидюков <antohami �� altlinux.org>


More information about the devel-distro mailing list