Сборка ISO-образа

См. также:

ISO-образы LUWRAIN, которые публикуются на нашем сайте, можно собрать самостоятельно. Это открывает как возможность внесения модификаций для личных целей, так и возможность глубокого погружения в процесс разработки и освоения новых технологий.

Требования

Сборку ISO-образов LUWRAIN можно выполнять на большинстве современных дистрибутивов GNU/Linux. Основной процесс проходит в окружении chroot, поэтому большинство необходимых утилит можно не устанавливать в вашу систему.

Для работы вам потребуется:

  1. Система GNU/Linux соответствующей разрядности (сборку 64-битной версии можно выполнить только на 64-битной системе), в которой у вас есть полномочия суперпользователя root.
  2. Утилита unsquashfs для распаковки сжатого архива с файлами корневой файловой системы.
  3. Утилита git для получения наших скриптов (необязательно).
  4. Образ исходной системы Ubuntu Linux, на основе которого будет производиться сборка. В настоящий момент в основном используется ubuntu-16.04.6-desktop-amd64.iso (ведётся работа по переходу на 20.04).

Подготовка окружения

Прежде всего, загрузите исходный образ Ubuntu Linux, сохранив его на вашем жёстком диске. Когда образ будет загружен, его необходимо примонтировать к вашей системе, чтобы иметь доступ к его файлам. Предположим, что мы будем это делать в каталоге /mnt/disk. Следовательно, для монтирования нужно вызвать команду:

sudo mount -o ro  ubuntu-16.04.6-desktop-amd64.iso /mnt/disk

В команде, приведённой выше, необходимо указать полный путь к дистрибутиву Ubuntu Linux, куда он был загружен с сайта. В примере использовано наиболее типовое имя образа для случая, когда он загружен в текущий каталог.

Далее требуется загрузить сборочные скрипты, отвечающие за проведение всех необходимых действий. Их можно получить как из соответствующего нашего репозитория Git по адресу https://github.com/luwrain/linux/ (загружаются при помощи команды git clone с указанием адреса репозитория), так и из любого nightly-релиза, которые публикуются здесь (необходимо выбрать нужную дату или воспользоваться каталогом latest, содержащим всегда самый свежий nightly-релиз). В nightly-релизах нужно выбрать архив с именем, начинающимся на luwrain-nightly, содержащий исходные тексты, на основе которых проводилась сборка.

Нужные скрипты будут находиться в каталоге ubuntu/16.04/iso, если вы используете содержимое репозитория Git, или в каталоге linux/ubuntu/16.04/iso, если вы используете исходные тексты nightly-релиза.

Наконец, необходимо выбрать нужный релиз LUWRAIN, который будет использован для оформления в виде ISO-образа. Проще всего это сделать, использовав один из nightly-релизов, упомянутых выше. В каждом из них есть архив, имя которого начинается с пометки luwrain-iso. Каждый такой архив содержит один или несколько профилей, среди которых требуется выбрать наиболее подходящий и поместить содержимое соответствующего каталога в подкаталог dist в каталоге со скриптами, отвечающими за процесс сборки. Таким образом, у вас должен быть каталог, путь к которому оканчивается на ubuntu/16.04/iso/dist.

Запуск процесса сборки

В каталоге скриптов должен находиться скрипт lwr-iso. Его необходимо вызвать с полномочиями суперпользователя root, указав три аргумента:

  1. Каталог, куда примонтирован исходный образ дистрибутива. Ранее мы использовали для этого /mnt/disk.
  2. Обозначение версии системы, которое может быть любой последовательностью.
  3. Обозначение национального профиля. В настоящий момент допускается ru или en.

Вызов команды может быть таким:

./lwr-iso /mnt/disk 2.0.0 ru

Для получения полномочий суперпользователя root можно предварительно вызвать команду sudo su. Обычный вызов sudo может не подходить, поскольку из соображений безопасности иногда запрещается вызов команд не из системных каталогов.

Работа этой команды занимает до нескольких минут, и для успешного выполнения требуется около 10ГБ свободного дискового пространства. После завершения работы должен появиться файл luwrain.iso, который можно записать на компакт-диск или флэшку. Основной вывод процесса сборки, включая возможные ошибки, сохраняется в файл /tmp/lwr-iso.out.

Завершение работы

Команда lwr-iso оставляет после работы каталог lwrtmp-env, который необходимо удалить вручную. Повторный запуск этой команды без удаления каталога приведёт к некорректному поведению. В случае аварийного завершения может остаться примонтированным каталог /proc к одному из подкаталогов внутри lwrtmp-env, который также необходимо отмонтировать вручную.

Если у вас есть вопросы по процессу сборки нашего образа, не стесняйтесь задавать их в наших рассылках!

© 2012–2020 Разработчики LUWRAIN
Дизайн от Strash