Пакет calculate-assemble предназначен для сборки загрузочного LiveCD-образа дистрибутива с поддержкой установки на жесткий диск и USB Flash. Кроме того, с помощью этого пакета утилит собираются Stage-образы.
Пакет calculate-assemble входит в состав утилит Calculate 2 и требует для своей работы пакеты: calculate-install, calculate-builder, calculate-templates, calculate-lib.
Последнюю версию пакета calculate-assemble можно установить из оверлея calculate, который включен по умолчанию во все дистрибутивы Calculate Linux. Чтобы подключить оверлей из Gentoo, установите пакет app-portage/layman (если он у вас не установлен) и подключите оверлей, выполнив:
layman -a calculate
После этого вы можете установить пакет с помощью emerge.
Все операции по сборке системы выполняются утилитами cl-assemble и cl-make. Для создания ISO-образа дистрибутива используется утилита cl-image, входящая в пакет sys-apps/calculate-builder.
Для сборки вам понадобится выход в интернет и перечисленные ниже предварительно загруженные файлы.
Обязательные файлы:
stage3 образ Gentoo, либо ISO образ Calculate Linux, в т.ч. собранный вами. Если вы намерены использовать для сборки образа stage3, создайте директорию var/calculate/remote/stages и поместите туда архив 32-битной (например, отсюда) или 64-битной системы (например, отсюда). Если для сборки будет использоваться образ Calculate Linux, поместите его в директорию /var/calculate/remote/linux.
Необязательные файлы:
Portage - архив дерева портежей. Создайте директорию /var/calculate/remote/snapshots и поместите туда свежую версию портежей, например, отсюда.
Перед началом работы изучите справку команды cl-assemble, выполнив:
cl-assemble --help
Для сборки вам потребуется около 15 Гб свободного места на жестком диске. В случае создания бинарных пакетов необходимо выделить место и для них (около 5 Гб). Под образ дистрибутива понадобится около 2 Гб.
Сборка дистрибутива производится в отдельном разделе жесткого диска. Готовый образ и бинарные пакеты сохраняются в директории /var/calculate/remote. Поэтому позаботьтесь о наличии свободного места (2 Гб или 7 Гб) в /var/calculate/remote, а также свободного раздела около 15 Гб на жестком диске.
-d DISK, --disk DISK - раздел для сборки системы Убедитесь, что в разделе у вас не хранится информации. В случае необходимости выполните резервную копию ваших данных. Вся информация в разделе будет утеряна!
--march ARCH - выбор архитектуры операционной системы (i686 или x86_64) Исходя из выбранной архитектуры, будет сформирован список совместимых профилей.
-p PROFILE, --profile - системный профиль, список возможных профилей можно получить, указав в параметре значение "list".
--source SOURCE - базовый образ для сборки - 'stage' или 'SHORTNAME'. За основу дистрибутива может быть взят stage3-образ Gentoo, либо любой образ Calculate Linux. В последнем случае следует указывать короткое имя дистрибутива, например "--source=CDS".
--ver VER - версия собираемой системы Целое либо дробное число номера версии. В качестве разделителя выступает точка. Поддерживается указание двух точек в номере версии. В случае отсутствия версии будет использована дата, состоящая из года, месяца и дня создания образа.
--name=SHORTNAME</NAME></SUBNAME> - наименование дистрибутива - сокращенное, полное, суффикс (пример: CLD/Calculate Linux Desktop/KDE)
Дополнительные опции
--sync SYNC - установить предпочитаемое rsync зеркало для портежей. (начиная с версии 2.2.25-r4 можно использовать git-зеркало)
--no-unmount - не отключать раздел с собираемой системой, если произошла ошибка. (начиная с версии 2.2.25-r4 calculate-assemble не отключает разделы по умолчанию)
--unmount - отключать раздел с собираемой системой, если произошла ошибка.
--nobuildpkg - не создавать бинарные пакеты собранных программ.
При подготовке системы к сборке раздел для сборки системы будет отформатирован и примонтирован в директорию /mnt/<профиль>. Раздел будет отформатирован той же файловой системой, которая использовалась ранее, если она поддерживается утилитой.
Во время подготовки системы выполняются следующие шаги:
Форматирование раздела (для быстрой очистки)
Распаковка базового образа
Распаковка портежей (в случае наличия архива портежей в директории /var/calculate/remote/snapshots)
После подготовки системы к сборке следует проверить зависимости и при необходимости исправить их, размаскировав пакеты. Выполнить это можно командой:
cl-make -D <-p профиль>
Обратите внимание, здесь и далее профиль дистрибутива можно указывать сокращённо. Например, для профиля "calculate/desktop/CLD/amd64" вы можете указать "CLD", "CLD/amd64", "desktop/amd64" или "amd64$". В последнем случае знак "$" в конце означает конец имени профиля. В случае если вы собираете одновременно только один дистрибутив, профиль можно не указывать.
Во время сборки будут загружены все необходимые пакеты с исходными текстами программ в директорию /var/calculate/remote/distfiles. В случае если вы не указали параметр --nobuildpkg, будут созданы архивы бинарных пакетов программ в директории /var/calculate/remote/assemble/<профиль>/packages.
Обновление образа системы, как и сборку, можно выполнить при помощи утилиты cl-make. Для этого подготовьте систему к сборке при помощи утилиты cl-assemble по описанию выше, указав образ обновляемого дистрибутива в опции --source.
Обновите систему командой:
cl-make -u <-p профиль>
Во время обновления выполняются следующие шаги:
Настройка шаблонами assemble/prepare и assemble/setup@
Обновление портежей
Выполнение emerge --update perl
Выполнение perl-cleaner all (по необходимости)
Выполнение emerge --noreplace calculate-meta
Выполнение emerge -deep --newuse world
Выполнение emerge --update --deep world
Выполнение emerge --depclean
Выполнение module-rebuild -X rebuild (по необходимости)
Выполнение revdep-rebuild -i (по необходимости)
Выполнение prelink -afmR (по необходимости)
Сборка nvidia-drivers
Чистка бинарного репозитория (по необходимости)
Выполнение eix-update
Вы можете также выполнить обновление системы без обновления портежей. Например, если обновление портежей было выполнено вручную, либо вы вносили определенные изменения с установкой пакетов, воспользовавшись chroot-доступом. Для обновления в этом случае выполните:
cl-make -U <-p профиль>
Помните, что вы всегда можете получить доступ к системе при помощи chroot, выполнив:
chroot /mnt/<профиль>
Пример:
chroot /mnt/calculate-desktop-CLD-amd64-developer
В имени директории "профиль" все слэши "/" будут заменены на тире "-".
Обратите внимание: для доступа к собираемой 32-битной системе из-под 64-битной команду chroot следует выполнять так:
После сборки или обновления системы можно создать загрузочный ISO-образ командой:
cl-image -p <профиль> iso
Дистрибутив будет сохранен в директории /var/calculate/remote/assemble/<профиль>/linux/. Помимо ISO-образа, будет создан файл с контрольными суммами и файл с составом программ.
Во время сборки системы все настройки собираемых систем хранятся в файле /etc/calculate/assemble.env. Если вам по какой-либо причине пришлось перезагрузить компьютер, удалите этот файл, а также, при необходимости, пустые директории /mnt/<профиль>.
Для упрощения сборки служат внутренние переменные утилит, значения которых можно предопределить в файле calculate.env, по одному из путей: /etc/calculate/calculate.env, /var/calculate/calculate.env или /var/calculate/remote/calculate.env. Для этого создайте в нем секцию [assemble]. Доступные переменные:
cl_assemble_sync - RSYNC-сервер (или git-сервер) для синхронизации.
cl_assemble_branch - ветка репозитория портежей и оверлея (по умолчанию master)
cl_assemble_available_dev - свободные разделы жесткого диска для сборки.