LINUX.ORG.RU

История изменений

Исправление mradermaxlol, (текущая версия) :

Мы, кажется, не понимаем друг друга.

Сборочное окружение собирает образ initrd и ядро, а также содержимое раздела EFI. Мне нужно (после сборки) автоматически создать

  • образ раздела EFI
  • образ раздела с данными (чистая ФС)
  • общий образ диска с GPT и вышеуказанными разделами

Это нужно для того, чтобы разработчик после сборки системы мог выполнить cp img_full.img /dev/sda (или аналог с scp) и у него всё работало и запускалось. Образы разделов я оставляю на случай, если разработчик захочет перезаписать конкретный раздел на целевом устройстве.

Сделать все указанные образы - тривиальная задача, если пользоваться loop-устройствами. Однако мне нужно было также реализовать создание этих образов без loop-устройств ВООБЩЕ, чтобы образы можно было собрать даже в кастрированных ограниченных контейнерах.

Моё итоговое решение успешно с задачей справляется. Бонусом на тестовой системе в noloop-режиме срезается ~секунда времени выполнения из-за меньшего количества операций. Мелочь, а приятно.

Исходная версия mradermaxlol, :

Мы, кажется, не понимаем друг друга.

Сборочное окружение собирает образ initrd и ядро, а также содержимое раздела EFI. Мне нужно (после сборки) автоматически создать

  • образ раздела EFI
  • образ раздела с данными (чистая ФС)
  • общий образ диска с GPT и вышеуказанными разделами

Это нужно для того, чтобы разработчик после сборки системы мог выполнить cp img_full.img /dev/sda (или аналог с scp) и у него всё работало и запускалось. Образы разделов я оставляю на случай, если разработчик захочет перезаписать конкретный раздел на целевом устройстве.

Сделать все указанные образы - тривиальная задача, если пользоваться loop-устройствами. Однако мне нужно было также реализовать создание этих образов без loop-устройств ВООБЩЕ, чтобы образы можно было собрать даже в кастрированных ограниченных контейнерах.