Автор Тема: Сборка дистрибутива из mkimage-profiles  (Прочитано 19222 раз)

Оффлайн RomeoVar

  • Давно тут
  • **
  • Сообщений: 32
Добрый день.
Озаботился сборкой собственного дистрибутива на основе mkimage-profiles.
Мне необходимо собрать образ, загружаемый по сети через PXE или с флешки (харда) со специфическим набором функций:
  • автомонтирование USB накопителей
  • Предустановленные драйвера локальных (сетевых) принтеров
  • Пакет, не из репозитория, а перепакованный вручную (в частности chromium-gost)
  • сконфигурированные директории в файловой системе

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #1 : 12.06.2019 03:12:33 »
Озаботился сборкой собственного дистрибутива на основе mkimage-profiles.
Совсем коротко: да, mkimage-profiles всё перечисленное позволит сделать. Но порог вхождения очень высок, инструмент "не для марьиванн".

Мне необходимо собрать образ, загружаемый по сети через PXE или с флешки (харда)
Поддержка этого есть во всех профилях "из коробки" и со стороны mkiamge, и со стороны m-p, и со стороны alterator-netinst (см. на ВиКи про сетевую загрузку). iPXE пока нет. Сетевой PXE-загрузки в EFI тоже нет пока. Будем допиливать уже скоро...

автомонтирование USB накопителей
"Из-коробки" во многих средах. Например в mate и kde5 это точно работает.

Предустановленные драйвера локальных (сетевых) принтеров
Профиль m-p определяет список пакетов цели. Какие принтерные пакеты нужны, такие и ставьте.

Пакет, не из репозитория, а перепакованный вручную (в частности chromium-gost)
Через APTCONF= передаётся свой конфиг апта и список источников, нужно подключать репозиторий с этим пакетом. Чаще подключают репо локального хэшера или конкретные таски публичной сборочницы, но это не про chromium-gost.

сконфигурированные директории в файловой системе
m-p умеет засовывать файлы и каталоги в корень CD, в документации описано.

В целом: разбираться во всём самому, на помощь надеяться почти бесполезно. Разжёвывать детали уж точно никто не будет, ориентируйтесь на аналогичный код. Базальту лучше заказать сборку нужного образа ЛИБО осилить деплой -- он на порядок проще: https://www.altlinux.org/Rescue/Recovery
To moan or to solve -- that is the question!

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #2 : 12.06.2019 09:21:37 »
Г. Курячий. Сетевая установка и сетевая загрузка http://freeschool.altlinux.ru/?p=2490
Нравится мне лекции https://www.youtube.com/channel/UC6m3WI2mgZLj3LgNYWQNH6g этого препода, не то что нынешнее "егеистское" образование.

Оффлайн RomeoVar

  • Давно тут
  • **
  • Сообщений: 32
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #3 : 12.06.2019 22:48:14 »
Спасибо за скорые советы.
Я вчера хотел изложить то, что уже накопал и что получилось, но писал поздно и заснул.
По сетевой загрузке я разобрался, спасибо.
Я распишу подробней, но уже после того как вычитаю то, что Вы мне предлагаете.
Mate поддерживает автомонтирование USBнакопителей - это хорошо, но он тяжеловат для сетевой загрузке. Объем образа получается более 600 мб. А мне хотелось бы ограничиться 250-300 (300 это максимум) поэтому я вообще хочу собрать образ на чем нибудь типа openbox, аскетично и без наворотов.
Вообще в качестве прототипа я бы указал это: https://wiki.x2go.org/doku.php/doc:howto:tce
в репозитории вот это: https://github.com/LinuxHaus/live-build-x2go
Собирается на Debian Jessie


Оффлайн RomeoVar

  • Давно тут
  • **
  • Сообщений: 32
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #4 : 12.06.2019 22:52:12 »
Поддержка этого есть во всех профилях "из коробки" и со стороны mkiamge, и со стороны m-p, и со стороны alterator-netinst (см. на ВиКи про сетевую загрузку). iPXE пока нет. Сетевой PXE-загрузки в EFI тоже нет пока. Будем допиливать уже скоро...
С этим я пока нашел выход. Я просто распаковываю iso-шник и раскладываю файлы по папкам на серваке. Единственное основной образ squashfs приходится переименовывать, а то http отдавать его не хочет.
Более существенная проблема это доступ в рут без пароля (я пока не понял как это поправить) и все-таки если я переключаюсь в рут через su (sudo) система долго думает. Я подозреваю что в образе реализовывается некая виртуализация (не пинайте сильно), а как ее отключить я тоже пока не понял но разбираюсь

Оффлайн RomeoVar

  • Давно тут
  • **
  • Сообщений: 32
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #5 : 12.06.2019 22:56:14 »
m-p умеет засовывать файлы и каталоги в корень CD, в документации описано.
Вот на это документации не нашел. Ткните носом, будьте любезны.

Оффлайн RomeoVar

  • Давно тут
  • **
  • Сообщений: 32
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #6 : 12.06.2019 22:59:00 »
m-p умеет засовывать файлы и каталоги в корень CD, в документации описано.

В целом: разбираться во всём самому, на помощь надеяться почти бесполезно. Разжёвывать детали уж точно никто не будет, ориентируйтесь на аналогичный код. Базальту лучше заказать сборку нужного образа ЛИБО осилить деплой -- он на порядок проще: https://www.altlinux.org/Rescue/Recovery
Спасибо. Пригодится, но это больше для рабочих станций, создать типовую установку и закатать ее в рекавери, а потом деплоить.

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #7 : 13.06.2019 01:46:42 »
Более существенная проблема это доступ в рут без пароля (я пока не понял как это поправить)
Непонятно. Куда доступ? Или через что? rescue-launcher -- готовое решение для запуска вашей программы на первом терминале в интерактивном режиме без запроса пароля. Входит в состав ALT Rescue. Необходимо добавлять autorun в параметры загрузки ядра. startup-rescue -- обеспечивает беспарольный доступ к рутовой консоли на первых шести терминалах ALT Rescue путём замены /etc/inittab -- см. его реализацию.

и все-таки если я переключаюсь в рут через su (sudo) система долго думает.
В Альте к su всегда добавляется "-" (su -).

m-p умеет засовывать файлы и каталоги в корень CD, в документации описано.
Вот на это документации не нашел. Ткните носом, будьте любезны.
В описании mkimage надо смотреть назначение подкаталогов files, scripts.d и image-scripts.d.
« Последнее редактирование: 13.06.2019 01:54:20 от klark973 »
To moan or to solve -- that is the question!

Оффлайн RomeoVar

  • Давно тут
  • **
  • Сообщений: 32
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #8 : 14.06.2019 10:59:58 »
Цитата: RomeoVar от 12.06.2019 22:56:14
Цитата: klark973 от 12.06.2019 03:12:33
m-p умеет засовывать файлы и каталоги в корень CD, в документации описано.
Вот на это документации не нашел. Ткните носом, будьте любезны.
В описании mkimage надо смотреть назначение подкаталогов files, scripts.d и image-scripts.d.
Спасибо, нашел

Оффлайн RomeoVar

  • Давно тут
  • **
  • Сообщений: 32
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #9 : 14.06.2019 13:52:11 »
Сделал базовую, консольную сборку из основных кирпичей. Самую простейшую.
Без иксов, но с фичей use/deflogin/live
Буду дополнять пакетами, структурой папок
С директориями тоже разобрался.
Осталось со сторонними пакетами подружиться

Оффлайн RomeoVar

  • Давно тут
  • **
  • Сообщений: 32
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #10 : 14.06.2019 17:29:09 »
Ну, как-бы у меня получилось
Сделал x2gomini.mk с базовым функционалом и требуемого размера для загрузки по сети
Почитал Readme в image.in, добавил структуру каталогов в директорию /image.in/files но что-то после загрузки они не материализовались. Вычитал что для того чтобы они материализовались необходимо использовать цель use/build-distro
Пробовал даже файлы положить в директорию ~build, не помогло

Что я делаю не так?

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #11 : 14.06.2019 19:11:27 »
Почитал Readme в image.in, добавил структуру каталогов в директорию /image.in/files но что-то после загрузки они не материализовались.
Всё верно, штатно всё должно работать.

Что я делаю не так?
Используете m-p.  :-)
To moan or to solve -- that is the question!

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #12 : 14.06.2019 21:28:29 »
Почитал Readme в image.in, добавил структуру каталогов в директорию /image.in/files но что-то после загрузки они не материализовались.

При чём тут загрузка? Они внутри собранного образа должны материализоваться.

Оффлайн RomeoVar

  • Давно тут
  • **
  • Сообщений: 32
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #13 : 14.06.2019 23:05:10 »
Почитал Readme в image.in, добавил структуру каталогов в директорию /image.in/files но что-то после загрузки они не материализовались.

При чём тут загрузка? Они внутри собранного образа должны материализоваться.
Вот,я тоже доппёр. Соответственно мне нужно  в tmpfs структуру наполнить. А как это сделать вааще не понимаю

Оффлайн neobht

  • Завсегдатай
  • *
  • Сообщений: 390
Re: Сборка дистрибутива из mkimage-profiles
« Ответ #14 : 15.06.2019 07:58:23 »
Вот один из способов решения вашей задачи: https://m.habr.com/post/270337/