История сборки - 5 дней квеста

Frenzy я использую с версии 0.3 - и всегда среди моих LiveCD-инструментов Frenzy был и остается самым надежным и проверенным средством решения многих проблем, возникающих у системного администратора Unix-систем.

28.12.09

Просматривая новостные каналы наткнулся на новость на сайте OpenNet - вышел релиз Frenzy 1.2-lite!

Как только прочел новость - сразу скачал и стал тестировать.

Положительные моменты:

  • Данная сборка на базе FreeBSD 8.0-release - а значит данный LiveCD можно использовать на весьма современном и свежем железе (особенно это актуально для AMD64-платформ, всяких Sun Fire-серверов и самосборов по каталогам.
  • Сборка маленькая, портативная, влезет на любую флешку
  • Используется новый метод упаковки образа - LZMA (все новое - всегда интересно)

Но практически сразу выплыли и отрицательные стороны (куда же без них):

  • В сборке малый набор софта (всего 66 пакетов против ~800 в Frenzy 1.1-standard)
  • Серьезно повышены требования к оперативной памяти (минимум 512 Мб ОЗУ) - из-за LZMA
  • Урезан функционал (по сравнению с Frenzy 1.1)
  • НО самая главная кака - при 512 Мб ОЗУ некоторые операции стабильно вызывают панику ядра (Пример: cd /usr; du -h -d 10):

Паника - это плохо, так как словить такую штуку, например, при restore -rf, ОЧЕНЬ неприятно.

На тот момент у меня не было уверенности, что я смогу что-то сделать - но грядущие праздники наводили на мысль о бесцельно потраченных днях - поэтому я все таки написал письмо Сергею с просьбой прислать архив скриптов, с помощью которых была получена сборка Frenzy 1.2-lite.

29.12.09

Получил ответ Сергея 8-):

  • Поздравление с Новым Годом
  • Архив сборочных скриптов
  • Ссылку на официальную HOW-TO по сборке
  • Ссылку на неофициальную how-to - за нее отдельное спасибо! - многие моменты быстрее понял. 8-O

С 30.12.09 по 03.01.10

  1. Подготовка к Новому году
  2. Отмечаем Новый Год
  3. Отходим от нового года

К Frenzy эти дни отношения не имели 8-)

Вечер 03.01.10

Вечером мозг стал усиленно требовать нагрузок - и я сел за изучение присланных скриптов и how-to-шек. Попутно выкачал весь SVN-архив с исходниками Frenzy 1.1

Предварительная подготовка к первой тестовой сборке отняла примерно 5 часов (два раза make world по сути + порты и т.д.) - все операции производил на виртуальной машине в VmWare.

Где то в полночь я наконец то смог набрать магические команды:

первая попытка сборки

chroot /usr/Frenzy mount -t devfs devfs /dev
chroot /usr/Frenzy /bin/tcsh
mount_nullfs /usr/src/ /buildscripts/frenzybuild/src/
cd /buildscripts/
script /1-frenzy-build.log ./frbuild build
script /2-frenzy-install.log ./frbuild install
script /3-frenzy-frenzy.log ./frbuild frenzy
script /4-frenzy-iso.log ./frbuild iso

Прошло 2 часа, я получил свой долгожданный iso-шник, который правда не работал, как нужно: 8-O

Моск стал усиленно попискивать от перегрева и пришлось лечь спать.

Утро 04.01.10

Утром со свежей головой я стал ковырять полученный ISO-шник - через час был момент, который ученые называют: ЭВРИКА! - добавленный прямо в ISO-ку модуль geom_uzip.ko (и прописанный в /boot/loader.conf) решил все проблемы и я получил рабочую сборку Frenzy 1.2 (правда без софта и уверенности, что все правильно сделал) :)

В последствии я нашел, как сделать так, чтобы не пришлось исправлять ISO-ку:

iso

# В файл: /buildscripts/stages/iso/cd.filelist добавляем строку:
 
boot/kernel/geom_uzip.ko
 
# В файл: /buildscripts/stages/iso/isoroot/boot/loader.conf добавляем автозагрузку модуля:
 
geom_uzip_load="YES"
 
# Аналогично можно добавлять и другие модули - например: geom_mirror.ko

Далее: Практически весь день разбирался со структурой сборочных скриптов, делал тестовые сборки и смотрел результат.

Вечером пришел к выводу, что готов начать собирать «полноценный» релиз. Сделать это решил с помощью архива пакетов (так как если все ПО ставить из одного среза пакетов, то в 99% случаев проблем не наблюдается).

Ну а так как релиз FreeBSD 8.0 вышел уже 2 месяца как назад, решил скачать текущий STABLE: ftp://ftp6.ru.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/ - закачка данного архива осуществлялась 17 часов (29 Гб, около 20 т. пакетов)

05.01.10

Целый день был на работе, так как по уже сложившейся многолетней традиции каждого 5-го января мы наводим порядок в нашем компьютерном парке:

  • Разбираем, чистим, пылесосим системними, стойки, полки и т.д.
  • Прогоняем на каждом HDD тест с помощью Victoria (с включенным дефектоскопом), смотрим параметры SMART и заносим все это в таблицы (с данными за прошлые проверки) - для анализа и дальнейшей замены уже отработавших винтов на новые.
  • Осуществляем прочие регламентные работы, которые обычно делают в нерабочее для остальных сотрудников время.

Все прошло удачно, окончательно для себя сделал выводы:

  • Все модели HDD сейчас отстой, кто-то более, кто-то менее.
  • RAIDz (и RAID-1) спасут человечество от разрухи и анархии.
  • И Backup-ы тоже.

06.01.10

Подготовка релиза:

  • Написание политики для конфигурирования переключения раскладки через HAL Policy
  • Редактирование скрипта rc.bootsplash (автозапуск dbus и hald при выборе пункта gui при загрузке Frenzy)
  • Борьба с hal polling-ом (итог - скрипт в каталоге: /root/MyFiles/ для отключения этой гадости)
  • Мелкие изменения в настройках tcsh и т.д.
  • Подбор и тестирование пакетов:
    • xorg - 210 пакетов
    • mc - 2 пакета (после установки xorg)
    • frenzy - специфичные для frenzy пакеты - достал 12 штук (часть - из SVN, часть из свежего архива, часть - с помощью pkg_create ;-)
    • fluxbox - 8 пакетов
    • opera - 10 пакетов
    • дополнительные шрифты для консолей mxvrt и xvrt - 10 пакетов
    • пакеты для автомонтирования дисков - 2
  • Далее была ОЧЕНЬ долгая работа по ручному поиску, установке и проверке пакетов из списка - часа 2 сидел, не меньше

Все это перемежалось постоянными тестовыми сборками ISO-шек и проверкой, проверкой, проверкой…

В 3 часа ночи стало казаться, что работы еще дофига - лег спать…

07.01.10

Утром мелькнула мысль - я еще ни разу не загружал свою сборку с CD-диска - все время с ISO-ки в VmWare :?:

Записал на CD-RW, загрузился…хм - все работает, даже автомонтирование. И ядро не ругается на Nec-овский DVD (при работе polling в HAL)

Запустил X (startx), открыл меню и стал руками проверять каждый пункт (на наличие установленной программы)…затянулось это на 2 часа - в итоге у меня был исписаны две стороны листа формата A4:

Пришлось снова взяться за FileZilla и выкачать еще: 166 пакетов (а также проверить их и зависимости). Не обошлось и без изменения menu для fluxbox - что не смог найти - убрал, что изменилось - изменил.

В этот день сборки уже именовались alfa, beta…вечером собрал первый rc1…подумал…изменил фон рабочего стола, добавил мой любимый idesk, иконки - и собрал rc2.

08.01.10

Весь день гонял rc2 - бывает такая ситуация - не прибавить и не отнять - вроде как все есть, что нужно, работает, не падает…подумал и переименовал в final-release 8-)

Далее взял vmware, сделал архив sdk (2 Гб), сделал чистую машинку с FreeBSD 8.0, распаковал SDK туда, сделал frbuild all…и через 2 часа получил точно такой же диск.

На этом квест можно считать завершенным. В сумме занимался Frenzy 5 дней - и мне не жаль потраченного времени 8-)

 
/usr/local/www/frenzy/data/pages/history.txt · Последние изменения: 2010/01/09 00:33 От vershinin
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki