Сборочная система предназначена для упрощения создания загрузочных (livecd) и установочных дисков по заданной конфигурации из готовых пакетов формата deb. По мотивам опенсусешного kiwi
http://en.opensuse.org/Build_Service/KIWI Конфигурация представляет собой XML файл со списком устанавливаемых пакетов и задач, способом загрузки и информацией о репозиториях пакетов. В отличии от программ типа Reconstructor, coconut не модифицирует готовые сборки, а собирает их самостоятельно. Разработка и доработка в процессе
SVN репозиторий с текущей версией системы находится по адресу
https://www.edubuntu-ru.org/svn/coconut/trunk/. Релизы находятся в
https://www.edubuntu-ru.org/svn/coconut/tags/.
Параметры командной спроки:
coconut [-h|--help][-m|--sub-architecture <subarch>][-d|--build-directory <dir>][-l|--language <lang>][-k <key file>] <config.xml>
-h или –help | | Справка |
-m или –sub-architecture | subarch | Аппаратная платформа на базе архитектуры (например, "lpia" для архитектуры "i386″), по умолчанию не указана |
-d или –build-directory | dir | Директория где будет производится компоновка системы |
-l или –language | lang | Предпочитаемая локализация системы |
-k или –apt-key | keyfile | Публичный ключ авторизации дополнительных репозиториев |
config.xml | | Файл конфигурации собираемой системы |
Загрузите сборочную систему с SVN репозитория
https://www.edubuntu-ru.org/svn/coconut, стабильные версии находятся в директории tags, например:
svn co https://www.edubuntu-ru.org/svn/coconut/tags/release_0.1/
текущая версия (желательно использовать ее) в директории trunk:
svn co https://www.edubuntu-ru.org/svn/coconut/trunk/
Проверьте что все необходимые дополнительные пакеты установлены. Какие именно, перечислены в начале файла coconut.py или ниже:
Общие | debootstrap, rsync, python, procps, squashfs-tools |
i386,amd64 PC | sbm, syslinux, gfxboot, gfxboot-theme-ubuntu |
powerpc PS3 | ps3-kboot |
powerpc OpenFirmware | yaboot |
Перейдите в рабочую директорию директорию (release_0.1 или trunk):
cd trunk
Примеры готовых конфигураций находятся в директории config. Для сборки livecd по файлу с примером конфига (см. ниже), введите:
sudo ./coconut.py config/config-example.xml
Внимание! Перед сборкой вам возможно потребуется настроить путь репозитория в файле конфигурации. Проверьте атрибут path элемента repository.
В зависимости от быстродействия компьютера процесс сборки займет некоторое время. По завершению в директории build-edubuntu-<архтектура хоста> будет находится ISO загрузочный образ.
Примечание: в конфигурационном файле отредактируйте адреса репозиториев, взяв их, например, из /etc/apt/sources.list.
В настоящее время не поддерживается кросс-сборка, что означает необходимость использования инструментальной системы той же самой архитектуры что и целевая.
Пример файла конфигурации:
<image name="base">
<boot type="livecd">
<title>Ubuntu Base Live CD</title>
<description>This is an Ubuntu Base Live CD.
For the default live system, enter "live" To verify the CD for errors, enter "check" To run memtest86+, enter "memtest"
</description>
<release url="http://edubuntu-ru.org"/>
<gfxboot name="bootlogo" background="0xB6875A"/>
<menu default="live" timeout="300″ prompt="1″>
<label name="live" kernel="/casper/vmlinuz" append="file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash –">^Start or install Ubuntu</label>
<label name="check" kernel="/casper/vmlinuz" append="boot=casper integrity-check initrd=/casper/initrd.gz quiet splash –">^Check CD for defects</label>
<label name="memtest" kernel="/install/memtest" append="-">^Memory test</label>
<label name="hd" localboot="0×80″ append="-">^Boot from first hard disk</label>
</menu>
</boot>
<repository suite="gutsy" path="http://dk.archive.ubuntu.com/ubuntu">
<component name="main"/>
<component name="restricted"/>
</repository>
<repository suite="gutsy" path="http://dk.archive.ubuntu.com/ubuntu">
<component name="universe"/>
<component name="multiverse"/>
</repository>
<packages>
<package name="minimal^"/>
<package name="standard^"/>
<package name="mc"/>
<package name="elinks"/>
</packages>
<packages type="livecd">
<package name="casper"/>
<package name="lupin-casper"/>
</packages>
<packages arch="i386″>
<package subarch="i386″ name="linux-generic"/>
<package subarch="lpia" name="linux-lpia"/>
</packages>
<packages arch="amd64″>
<package name="linux-generic"/>
</packages>
</image>