Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #69, АВГУСТ 2006 г.

BSD undead

МОЖАЙСКИЙ СЕРГЕЙ

Спецвыпуск: Хакер, номер #069, стр. 069-014-5


Зато для фришников есть целых два набора сборочных скриптов - FreeSBIE и Frenzy SDK. Вот с ними мы и познакомимся более внимательно.

Скрипты FreeSBIE заслуживают наивысшей похвалы. Текущая их версия, названная FreeSBIE2, написана Даниэлем Френи в рамках проекта Google Summer of Code и позволяет собирать LiveCD для архитектур i386, amd64 и powerpc. В основе этих скриптов лежат традиционные Makefile и конфигурационные файлы. Самой мощной фичей является модульная структура, позволяющая добавлять в сборочную инфраструктуру свои модули для поддержки различных дополнительных возможностей (к примеру, установки на HDD, определения оборудования и т.п.).

Свежую версию скриптов FreeSBIE можно получить через CVS:

cvs -d :pserver:anonymous@cvs.freesbie.org:/cvs login

cvs -d :pserver:anonymous@cvs.freesbie.org:/cvs co freesbie2

Перед началом сборки запускаем команду

make pkgselect

для выбора пакетов, которые будут включены в создаваемый LiveCD. Пакеты выбираются из тех, что уже есть в системе. Теперь, если мы хотим что-то изменить в параметрах сборки, идем в каталог conf и копируем файл freesbie.defaults.conf в freesbie.conf, после чего меняем значения переменных уже в нем. Особенно полезен для нас параметр EXTRA, позволяющий указать список плагинов, используемых при сборке LiveCD. Сами плагины лежат в каталоге extra.

Итак, мы сделали все нужные настройки, и все готово к сборке. Переходим в основной каталог скриптов и набираем:

make iso

Разработчики рекомендуют посмотреть кино, пока идет сборка. Занимает она несколько часов, так что советом стоит воспользоваться :-). После окончания сборки готовый исошник будет лежать в /usr/obj.

В отличие от FreeSBIE, сборочные скрипты Frenzy не так универсальны,

поскольку оптимизированы для построения одного-единственного дистрибутива :).

Так что собрать дистр будет посложнее.

Для начала нам нужно скачать сам SDK. Полный SDK занимает около гигабайта. Найти его можно на разных ftp-миррорах Frenzy, например на ftp://ftp.frenzy.org.ua/pub/Frenzy/1.0/sdk/.

Создаем chroot-окружение:

make buildworld

make installworld DESTDIR=/usr/Frenzy

Закидываем туда дерево исходных кодов (/usr/Frenzy/usr/src), дерево портов (если будем собирать какие-то дополнительные пакаджи, /usr/Frenzy/usr/ports) и сами сборочные скрипты (/usr/Frenzy/buildscripts).

Теперь подредактируем файл config, находящийся в каталоге со сборочными скриптами.

Для нас важны параметры FRENZY_TYPE (может принимать значения std или ext) и FRENZY_LANG (ru или en).

Пакаджи нужно собрать и положить в нужные каталоги заранее. Пакаджи, собранные специально для Frenzy, скачиваем из SDK (файл Frenzy.tar) и складываем в buildscripts/packages/Frenzy. Обычные фришные пакаджи нужно сложить в buildscripts/packages/FreeBSD.std или в buildscripts/packages/FreeBSD.ext, в зависимости от выбранного типа сборки. Можно просто скачать с ftp те пакаджи, которые были собраны для имеющейся версии Frenzy, выбрать софт из них и положить нужные пакаджи в каталог.

Назад на стр. 069-014-4  Содержание  Вперед на стр. 069-014-6