скрипт, выполняющий монтирование /dev/pts и /dev и /proc, а также копирование resolv.conf и выполнение chroot, и обратные операции после команды exit
окажетесь в chroot-окружении /mnt/builder
сохраним изменения в новом файле с ISO образом: cl-image iso
iso - это тут название параметра команде cl-image, или название самого iso-файла?
cl-image squash
обновляет файл livecd.squashfs
ага, всё-таки параметр. iso-файл с каким названием тогда, получается, создаётся? тут
изучите справку команды cl-assemble, выполнив:
cl-assemble --help
ну нет, просто бы сказали - он а что внутри себя вызывает cl-image и cl-builder или что делает в целом? тут
-p PROFILE, --profile - системный профиль, список возможных профилей можно получить, указав в параметре значение "list".
раздел для сборки системы будет отформатирован и примонтирован в директорию /mnt/<профиль>
--source SOURCE - базовый образ для сборки - 'stage' или 'SHORTNAME'.
За основу дистрибутива может быть взят stage3-образ Gentoo, либо любой образ Calculate Linux. В последнем случае следует указывать короткое имя дистрибутива, например "--source=CDS".
cl-make
Сборка системы выполняется командой:
cl-make -m <-p профиль>
Во время сборки системы все настройки собираемых систем хранятся в файле /etc/calculate/assemble.env
архивы бинарных пакетов программ в директории /var/calculate/remote/assemble/<профиль>/packages.
Структура сборки
файловая система монтируется из трех слоев aufs2 (почему не overlayfs?)
/mnt/scratch/calculate
livecd.squashfs-образ системы, загружаемый с носителя и примонтированый в режиме "только для чтения"
Свежеустановленные программы будет видны в слоях 2 и 3 (и в образе и на загруженной системе).
действия в загруженной системе не затронут /mnt/builder (который, очевидно, монтируется из слоёв 1 и 2)
Зачем нужен "базовый ISO образ, или какой-нибудь stage3", если есть livecd.squashfs?
режим Builder
выберите в меню загрузки режим Builder
как устроен этот режим?
есть гипотеза, что пункт меню grub передаёт параметр в init-скрипт,
а init-script монтирует все те три слоя, про которые шла речь в пункте "структура сборки",
надо этой гипотезе поискать подтверждения по исходникам
При недостаточном объеме оперативной памяти следует установить CLS на жесткий диск в режиме Builder, тогда все изменения будут кэшироваться на жестком диске.
(Команда cl-image squash при этом будет не доступна, а результат работы можно получить в виде готового ISO образа, при помощи команды cl-image iso)
Круто, а как "установить в режиме" ?
Установка пакетов
примонтируйте свободный раздел жесткого диска либо сетевого диска в директорию
/var/calculate/linux
cl-update --sync-only
обновить дерево портежей
livecd.squashfs - цикл редактирования
вы можете сохранить все изменения в файле livecd.squashfs на вашей флешке.
К концу файла будет добавлен порядковый номер сборки.
При последующих сборках старые файлы с образами будут удалены.
(что имеется в виду? разве старый файл не во время копирования затирается?)
Возможность модификации полученного дистрибутива с помощью загрузки в Builder-режиме сохраняется.
Таким образом, вы можете неограниченное число раз менять состав пакетов
обычным для Gentoo образом - через обновление дерева портежей.
Запись .iso на диск
cl-install -d /dev/sdX1 (вместо sdX1 укажите необходимое устройство, например, sdb1)
Откуда берутся скрипты сборки
установите пакет app-portage/layman (если он у вас не установлен)
подключите оверлей, выполнив:
layman -a calculate
emerge -av calculate-assemble
для сборки образа stage3, создайте директорию var/calculate/remote/stages и поместите туда архив
(в смысле "образа" или "из образа"?)
Если для сборки будет использоваться образ Calculate Linux, поместите его в директорию /var/calculate/remote/linux
в чём разница между /var/calculate/remote/linux и /var/calculate/linux ?