Вход:  Пароль:  
FreeSource: Мусорка/AltLinux?/Sisyphus?/devel?/installer/custom ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия Мусорка/AltLinux/Sisyphus/devel/installer/custom за 2007-10-12 16:20:17..

Создание собственного профиля инсталлятора

Cтруктурa


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


Стартовая система запускается при помощи аппаратно реализованных низкоуровневых протоколов (протокол загрузки с CD,DVD, PXE для загрузки через сеть).


В силу больших ограничений на занимаемое место, единственная её задача:
запустить ядро, найти (при необходимости получить из сети) и запустить инсталлятор.


В целях уменьшения размера специализированной среды, внутри которой работает инсталлятор, часть работы инсталлятор проводит уже внутри установленной системы.

Параметры командной строки

Инсталлятор принимает следующие параметры:

Отладочная информация


В ходе работы инсталлятора на одной из виртуальных консолей доступна оболочка shell для отладки (на остальных консолях можно при этом наблюдать сообщения от различных работающих подсистем).
Инсталлятор создаёт несколько файлов журнала и в случае возникновения каких-либо проблем эти файлы можно отослать разработчикам для «разбора полётов» и выяснения причин отказа.
Во время работы инсталлятора эти журналы размещаются в /tmp, в установленную систему они копируются в /root/.install-log.
Возможно изучение следующих журналов:


Типичный сценарий работы инсталлятора


  1. Выбор языка и клавиатуры – по некоторому алгоритму выбирается язык на котором будет происходить установка системы и её работа. Вместе с языком надо бы выбрать и раскладку клавиатуры ибо не у всех народов мира она QWERTY. (см. тж. #6781)
  2. Настройка даты и времени – чтобы вся дальнейшая установка отработала корректно, необходимо убедиться, что на машине правильно установлены часы
  3. Подготовка целевого устройства – создание разделов, настройка точек монтирования
  4. Установка базовой системы – фактически базовая система, это система достаточная для того чтобы всю оставшуюся работу инсталлятора проводить в ней. В частности в базовую систему устанавливаются модули инсталлятора, которые будут запущены чуть позже.
  5. Перенос настроек в установленную систему – часть данных введённых пользователем ранее осталась в среде инсталлятора, необходимо их донести до новой системы. Также на этом этапе выгружаются из памяти большая часть предыдущих модулей и инсталлятор переходит (chroot) к работе из новой системы.
  6. Дополнительные настройки – дальнейший тюнинг системы: установка дополнительных пакетов, настройка сети, задание пароля для администратора системы, создание первого пользователя, и так далее и тому подобное... Все запускаемые модули должны быть предварительно установлены в базовую систему.

Вполне допустимо вносить изменения в установленный порядок, но делайте это всё на свой страх и риск. Например, модули могут быть не подготовлены к тому чтобы сделанные при их помощи настройки были перенесены из среды инсталлятора в базовую систему. Самая правильная идея – заниматься творчеством в районе пункта №6.

Неинтерактивные модули инсталлятора


Часть шагов установщика пользователь видит на экране (настройка времени, установка системы), а часть нет. Неинтерактивные шаги оформленны как последовательно запускаемые скрипты.


Есть две точки в ходе работы установщика, где можно вставить свой собственный скрипт:

  1. preinstall – выполняются сразу после установки базовой системы. Как правило это скрипты для дополнительной настройки базовой системы (перед установки дополнительного набора ПО) и для переноса настроек из среды инсталлятора. Добавлять суда свои собственные скрипты стоит только тогда когда вы чётко представляете свои цели (например перенесли шаг до установки базовой системы и теперь требуется перенести настройки). Все скрипты данной категории размещаются в каталоге /usr/share/install2/preinstall.d
  2. postinstall – выполняются сразу после последнего шага инсталлятора. Как правило это скрипты, удаляющие служебные пакеты инсталлятора из базовой системы и прочий «окончательный тюнинг» установленных пакетов для тех или иных нужд. Если захочется сделать какие-нибудь специфические настройки «из коробки», то это самое лучшее место для этого. Все скрипты данной категории размещаются в каталоге /usr/share/install2/postinstall.d

Описание шагов инсталлятора


Описание шагов инсталлятора делится на две части: описание порядка шагов и собственно описание каждого шага. Для каждого шага указывается:

  1. Название (c переводами на разные языки)
  2. «урл» модуля установки
  3. название «темы» в справочной системе

Формат описания – так как это принято в desktop-файлах. Вот пример описания шага добавления пользователя (users-add.desktop):



Все описания шагов размещаются в каталогe /usr/share/install2/steps/. А порядок шагов – в файле /usr/share/install2/installer-steps. В этом файле перечисляются имена desktop-файлов без полного пути и суффикса .desktop. Вот пример типичного набора шагов инсталлятора:


Прим. юз.


(началось с вопроса mike@, а как быть с alterator-x11 и x11.desktop)

Справка к модулям


В процессе установке, на каждом шаге, пользователь может нажать клавишу F1 и получить краткие указание по данному этапу.
Как было уже сказано ранее в описании каждого шага указывается ссылка на «тему». Сама же справка должна быть оформлена как небольшой документ html и размещена по адресу /usr/share/install2/help/<язык>/<тема>.html .


Здесь <язык> – это локаль без указания кодировки (ru_RU, uk_UA, en_US).

Сборка собственного инсталлятора

Ядро инсталлятора, основные скрипты, шаги установки и файлы с описанием основных шагов размещаются в серии пакетов installer (installer,installer-stage2,installer-stage3). Часть шагов инсталлятора размещается в отдельных пакетах. Вот самые распространённые из них:


От вас требуется только создать серию пакетов installer-<дистрибутив> (installer-distro,installer-distro-stage2,installer-distro-stage3). Добавить во внутрь описания своих дополнительных шагов, preinstall и postinstall – скрипты, справку и, самое главное – перечисление шагов в том порядке, в каком хотите видеть. Не забудьте добавить зависимости на все внешние модули которые используете. В частности installer-distro-stage2 должен зависеть от installer-stage2, а installer-distro-stage3 – от installer-stage3.


Пакеты *-stage2 устанавливаются в специальную среду установщика, Пакет *-stage3 – в базовую систему.


Примеры уже готовых пакетов installer-<дистрибутив> можно найти в Sisyphus и git.alt.


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]