[devel-distro] Информация в iso о том, как он собран

Антон Мидюков midyukov-anton at ya.ru
Tue May 31 09:58:58 MSK 2022


Здравствуйте

Хотел бы узнать мнение дистростроителей по вопросам:

1. Нужно ли помещать информацию о том, как собран iso в сам iso?
Мне кажется, что нужно. С одной стороны эти вопросы периодически задают новые пользователи,
и их приходится посылать изучать мат.часть по mkimage и mkimage-profiles.
С другой стороны это позволит проконтролировать, как iso собирался, и сделать выводы
было ли всё правильно сделано или нет. И наконец - это шпаргалка для себя, когда
надо что-то поменять и быстренько проверить в этом дело или нет.

2. Если на первый вопрос отвечаем положительно, то возникает вопрос, где хранить?
В корне iso есть каталог .disk, который сейчас содержит:
arch - архитектура
commit - коммит mkimage-profiles
date - дата сборки
info -  сводная информация об образе
profile.tgz - сгенерированный из mkimage-profiles профиль mkimage (если задан параметр SAVE_PROFILE)

Видимо, стоит добавлять именно сюда?

3. Какую именно информацию нужно сохранять и в каком виде?

3.1 Глянул, что в Debian сохраняют команду, которой был собран iso, в файле .disk/mkisofs
Тут новое придумывать не стоит, предлагаю сделать также.

3.2 Мне кажется, нужно сохранять информацию о том, как был собран initrd.img
Несколько месяцев назад уже обсуждали переход с формата full.cz на initrd.img, собираемый make-initrd:
https://lists.altlinux.org/pipermail/devel-distro/2022-February/002812.html
Никаких противопоказаний так обнаружено не было, а некоторые бонусы были обнаружены:
- initrd фичи смогут добавлять модули ядра;
- имеем одинаковый алгоритм добавления модулей ядра и firmware, что в initrd для iso, что в установленной
  системе;
- пользователи получают возможность легко и просто пересобрать initrd.img под себя, если мы дадим такую информацию прямо на диске
  Это кажется особенно актуальным для сетевой загрузки;
- работает загрузка с iso образа на мультизагрузочной флэшке с ventoy.

Поэтому я хочу в новом релизе mkimage-profiles перейти на новый initrd.img с propagator.
Вопрос состоит в том, куда поместить initrd.mk. Это уже не команда всё-таки. И, вероятно, нужно сохранять команду make-initrd
(в файле .disk/mkinitrd ?).
Так что по итогу, мне кажется, можно поместить initrd.mk в boot/ рядом с ядром и initrd. А команда будет содержать команду сборки initrd
с относительным путями от корня iso.

3.3 Нужно ли сохранять команду о сборке squash'а?

Кажется, больше никакой информации и не требуется.
Хотя можно добавить в .disk некое Readme.

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


More information about the devel-distro mailing list