Краткая инструкция по пересборке дистрибутива


1. Подготовка к пересборке дистрибутива
2. Пересборка дистрибутива
2.1. Пересборка дистрибутива НауЛинукс Школа 5.4 без внесения изменений
2.2. Создание своего дистрибутива
2.2.1. Изменение набора пакетов
2.2.2. Изменение стартового экрана GRUB
2.2.3. Рисунки времени инсталляции
2.2.4. Загрузчик isolinux
2.2.5. Кнопка «Что нового»

Инструкция написана на примере сборки дистрибутива НауЛинукс Школа 5.4.

Пересборка дистрибутива НауЛинукс Школа 5.4 может быть произведена на компьютере с установленной системой Scientific Linux 5.4, Scientific Linux 5.4 Cyrillic Edition или НауЛинукс 5.4.

Для пересборки дистрибутива должны быть установлены пакеты anaconda-runtime и gfxboot.

1. Подготовка к пересборке дистрибутива

Создайте каталог для работы по пересборке дистрибутива. В нашем примере это каталог /data/NauSchool54.

В каталоге /data/NauSchool54 создайте каталоги i386, DVD1, DVD2, CD1 и CD8.

В каталог DVD1 скопируйте файлы autorun, autorun.py, index.html, EULA.html, GPL, README, RELEASE-NOTES-C.html и RELEASE-NOTES-ru.html и каталоги bin, Docs, kickstarts и lib с DVD # 1.

В каталог DVD2 скопируйте файлыautorun, autorun.py и index.html и каталоги bin, Docs, lib и Software с DVD # 2. Создайте в каталоге DVD2 каталог RPMS и скопируйте в него каталог repodata из каталога RPMS с DVD # 2.

В каталог CD1 скопируйте файл index.html и каталог Docs с CD # 1.

В каталог CD8 скопируйте файл index.html с CD # 8.

В каталог i386 скопируйте файл GPL и каталоги boot, images, isolinux, kickstarts, RHupdates, RPM-GPG-KEYs, SL с DVD # 1, каталоги build, contrib и SL с DVD #2. В результате в каталоге i386/SL должны оказаться все пакеты из каталогов SL с DVD 1 и 2.

Скрипты для сборки, вспомогательные каталоги и Makefile находятся в каталоге /data/NauSchool54/i386/build/scripts. К скриптам, используемым для сборки оригинального дистрибутива SL.54, добавлены скрипты и каталоги, необходимые для сборки НауЛинукс Школа 5.4:

каталог boot.msgs

содержит различные конфигурационные файлы;

каталог boot

содержит конфигурационные файлы загрузчика GRUB;

каталог stage2.replace

содержит anaconda-скрипты и рисунки времени инсталляции;

каталог GFX_NauSchool54

содержит файлы и скрипты для формирования экрана GRUB;

скрипт start.sh

запускаются поочередно скрипты build.hdlist.sh, build.release.sh, do_new.stg2, build.hdlist.sh;

скрипт do_new.stg2

заменяются рисунки времени инсталляции;

скрипт mkboot.sh

в boot.iso меняются конфигурационные файлы, initrd.img;

скрипт mkdiskboot.sh

в diskboot.img меняются конфигурационные файлы, initrd.img;

скрипт mkinitrd.sh

в файл initrd.img включаются файлы kickstart;

скрипт permissions.sh

устанавливаются правильные права;

скрипт rm.backup.files.sh

удаляются резервные копии файлов;

скрипт mkpkgorder.cd.sh

корректируется файл pkgorder-SL;

скрипт mkrepo1.sh

строится репозиторий для DVD # 1;

скрипт mkrepo2.sh

строится репозиторий для DVD # 2;

скрипт mkisofs.sh

создаются образы DVD и файл с контролыми суммами;

скрипт mkisofscd.sh

создаются образы CD и файл с контролыми суммами;

Изменения внесены в следующие скрипты из оригинального SL.54:

  • /data/NauSchool54/i386/build/scripts/locations.include — изменены значения переменных PRODUCT, VERSIONROLLING, RELEASEDIR, TOTBINDVD, DISCSIZEDVD, ISO1RESERVESIZE, RELEASE, DATE, TOTBINCD, TOTCD, а также добавлены переменные VERSIONSLCE, TREEDIR, DISTRO, VERS, ISOCD1RESERVESIZE, CentOSKERNEL и строка

    export CentOSKERNEL

  • /data/NauSchool54/i386/build/scripts/build.release.sh — заменено Scientific Linux на NauLinux School. В результате в ходе инсталляции сообщение «Запускается anaconda, программа установки Scientific Linux» заменяется на «Запускается anaconda, программа установки NauLinux School» и в верхней части текстовых экранов сообщение «Добро пожаловать в Scientific Linux» заменяется на «Добро пожаловать в NauLinux School».

На основе скриптов из оригинального SL.54, расположенных в каталоге /data/NauSchool54/i386/build/scripts/buildisoimages/ созданы скрипты для НауЛинукс Школа 5.4:

make.iso.just.repo.slce.sh
make.isos.just.dirs.slce.sh
make.isos.just.mkisofs.slce.sh
make.just.split.slce.sh
subscripts/mkisoimage.disc1.slce.sh
subscripts/mkisoimage.discx.slce.sh