Автор Тема: Скрипты в mkimage-profiles/features.in  (Прочитано 348 раз)

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Здравствуйте!

Необходимо добавить скрипт, который изменит пару строчек в конфигурационном файле конечной системы. Посмотрев имеющиеся скрипты в features.in понял, что есть два варианта:
- скрипт написан так, будто запускается в конечной системе (rootfs/image-scripts.d);
- скрипт является оберткой над настоящим скриптом и помещает его содержимое в /usr/share/install2/postinstall.d/, запуск программ идет через exec_chroot (stage2/image-scripts.d).

Первый вариант не производит никаких действий над конечной файловой системой. Второй вариант работает, но не совсем удобен из-за heredoc.

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

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Скрипты в mkimage-profiles/features.in
« Ответ #1 : 03.08.2023 15:29:31 »
Скрипты есть двух типов:
- image-scripts.d запускаются в чруте образа
- scripts.d - в рабочем чруте

Чрутов может быть два или один, зависит от стадии. Стадий сборки существует несколько:
- финальная стадия (есть всегда)
- подготовительные стадии: stage1, live, install2, rescue, main (смотреть sub.in/README)

Какие стадии будут задействованы зависит от собираемой цели.
Субстадии есть только для целей типа distro (опционально). ve и vm собираются в одной стадии с одним чрутом.

Так как не сообщили что именно собираете, я не могу ответить конкретно.

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: Скрипты в mkimage-profiles/features.in
« Ответ #2 : 03.08.2023 17:04:52 »
Собираю дистрибутив, где есть горсть своих и проприетарных пакетов, плюс уменьшенный список пакетов Workstation K. Требуется задать параметры по умолчанию, на данный момент, grub и lightdm. Так как их нужно задать один раз, то не вижу смысла выносить в rpm. Собственно скрипт и модифицирует пару строк в /etc/sysconfig/grub2 и /etc/lightdm/lightdm.conf.

chroot образа - это установщика, который потом идет в squashfs (или что там на данный момент используется)?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Скрипты в mkimage-profiles/features.in
« Ответ #3 : 03.08.2023 17:45:10 »
Дистрибутив ставится из пакетов, нельзя заранее ничего модифицировать в установленной системе. Поэтому необходимо свои скрипты в виде готовых файлов положить в чрут install2 так:
features.in/какая-то_фича/install2/files/usr/share/install2/postinstall.d/

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: Скрипты в mkimage-profiles/features.in
« Ответ #4 : 04.08.2023 08:07:23 »
Спасибо за объяснение!

З.Ы. безумно рад, что система сборки дистрибутивов имеет мало зависимостей и работает с минимальными проблемами. Чем-то напоминает систему сборки T2 SDE, правда там есть Lua и нет пакетного менеджера, только исходники программ.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Скрипты в mkimage-profiles/features.in
« Ответ #5 : 04.08.2023 08:18:31 »
Но, собственно, если нужно просто добавить скриптов, то собирать новый образ не требуется.
Есть возможность и пакеты добавить, и скрипты:
https://www.altlinux.org/Autoinstall#Содержимое_каталога_metadata

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: Скрипты в mkimage-profiles/features.in
« Ответ #6 : 04.08.2023 08:30:30 »
Да, я видел этот вариант. Но т.к. из стандартного дистрибутива не нужен тот же лайв, надо менять sddm на lightdm, и т.п., то собираю целиком. И практика, как никак.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Скрипты в mkimage-profiles/features.in
« Ответ #7 : 04.08.2023 10:08:19 »
Да, я видел этот вариант. Но т.к. из стандартного дистрибутива не нужен тот же лайв, надо менять sddm на lightdm, и т.п., то собираю целиком. И практика, как никак.

Так в бете уже lightdm.

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: Скрипты в mkimage-profiles/features.in
« Ответ #8 : 04.08.2023 13:42:09 »
Два дня назад сделал pull с origin/p10 для mkimages-profiles и там все еще use/x11/sddm в conf.d/kworkstation.mk.
Да и менять его изначально пришлось из-за бага #43826, т.к. компьютер попался с видеокартой NVIDIA.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Скрипты в mkimage-profiles/features.in
« Ответ #9 : 04.08.2023 15:01:37 »
Два дня назад сделал pull с origin/p10 для mkimages-profiles

И какой адрес у этого origin?

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: Скрипты в mkimage-profiles/features.in
« Ответ #10 : 04.08.2023 16:48:35 »
$ git remote show origin
* remote origin
  Fetch URL: git://git.altlinux.org/gears/m/mkimage-profiles
  Push  URL: git://git.altlinux.org/gears/m/mkimage-profiles
  HEAD branch: sisyphus

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Скрипты в mkimage-profiles/features.in
« Ответ #11 : 04.08.2023 17:54:38 »
Давненько я коммиты не забирал, значит.

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: Скрипты в mkimage-profiles/features.in
« Ответ #12 : 07.08.2023 08:10:00 »
Сабж исчерпан, закрываю.