======Создание модификаций «все-в-одной»======
Все разновидности LiveCD SliTaz работают полностью в RAM. Набор возможностей зависит от количества доступной RAM. Вы можете собрать автоматически адаптирующийся LiveCD, который будет сам выбирать нужные функции, опираясь на размер оперативной памяти. Для этого вам понадобится:
* составить список разновидностей (или список ISO), где каждая новая разновидность будет помещена в предыдущую (по принципу матрешек);
* определить минимально необходимый объем RAM для каждой разновидности.
Сборный ISO может получиться чуть больше, чем самая большая из использованных разновидностей. Иногда размеры будут идентичными.
Давайте соберем официальный SliTaz «три в одном», в который войдут:
* основной вариант (core): для 160 Мб и более;
* X.org без менеджера окон (justx): 96-160 Мб;
* простейший вариант (base): 32-96 Мб;
* вывод сообщения об ошибке при наличии менее 32 Мб RAM.
Образы slitaz-3.0-3in1.iso и наибольшая разновидность slitaz-3.0.iso имеют одинаковый размер — 31 457 280 байт (благодаря заполнению на 1 Мб; в противном случае размер был бы на 123 351 байт больше).
=====Наилучший способ — создание разновидности=====
Сценарий разновидности SliTaz содержит всю информацию, необходимую для сборки LiveCD. [[http://bb.slitaz.org/|Сборочный бот]] автоматически будет обновлять файл сценария (.flavor); также этот крошечный файл будет использоваться tazlito для создания ISO-образа.
Сами же [[http://hg.slitaz.org/flavors|разновидности]] — это своего рода источники программного обеспечения для файла сценария: [[http://bb.slitaz.org/|Сборочный бот]] представляют собой утилиту сборки, а **tazlito pack-flavor** — компилятор. Сборка разновидностей — это создание исходных файлов, а сборка ISO — это создание исполняемых файлов.
Метаразновидность не имеет ни rootfs, ни rootcd, ни файла packages.list. Переменная **ROOTFS_SELECTION** в файле сценария (см. [[http://hg.slitaz.org/flavors/file/324757d594ef/core-3in1|core-3in1]]) указывает разновидности для сборки и требуемый для каждой объем RAM в порядке убывания.
ROOTFS_SELECTION="160M core 96M justx 32M base"
Rootfs и rootcd берутся из наибольшей разновидности.
=====Простой способ — с использованием tazlitobox=====
Запустите **tazlitobox** и перейдите на вкладку **meta**. В поле **ISO input** введите имя ISO-образа и укажите требуемый размер оперативной памяти для каждой разновидности в поле **RAM needed** кнопкой **+**. Введите имя выходного ISO в поле **ISO output** и нажмите **Build ISO**.
=====Сборка в командной строке, используя tazlito=====
Синтаксис: ''tazlito merge size1 iso size2 rootfs2 [sizeN rootfsN]...''
Наибольшая разновидность представлена в виде ISO, чтобы иметь возможность извлечь дополнительные файлы rootcd, результатом команды будет новый ISO.
tazlito merge 160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz
----
Статью перевел [[http://forum.slitaz.org/index.php/profile/1273/Cyril|Cyril]]