Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/Installer/common ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

Оглавление документа

Основные сведения

Cтруктурa


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


Загрузчик запускается при помощи аппаратно реализованных низкоуровневых протоколов (протокол загрузки с CD/DVD, PXE для загрузки через сеть). В силу больших ограничений на занимаемое место, единственная его задача — запустить ядро, найти (при необходимости получить из сети) и запустить инсталлятор. В дистрибутиве загрузчик размещается в initrd образе.


Инсталлятор в свою очередь тоже делится на две части:


Благодаря такому разделению сильно сокращается размер первой части и, соответственно, понижаются требования к аппаратной платформе.

Способы установки

Инсталлятор поддерживает следующие способы установки:


Способ установки выбирается на самом первом экране (F4). При установке c жёсткого диска или по nfs можно указывать как развёрнутый образ дистрибутива, так и файл с iso-образом.

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

Загрузчик инсталлятора принимает следующие параметры:

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

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


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

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


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

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

Неинтерактивные шаги инсталлятора


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


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

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

Некоторые распространённые коллекции скриптов оформлены как пакеты installer-feature


Схема запуска различных подсистем инсталлятора (процесс /sbin/install2):

  1. предварительная подготовка и разбор командной строки
  2. запуск /sbin/initinstall — initinstall.d скрипты.
  3. запуск alterator. В ходе работы alterator сразу по окончанию установки базовой системы происходит запуск preinstall.d скриптов.
  4. запуск /sbin/postinstall — postinstall.d скрипты.
  5. отмонтирование всех файловых систем, завершение работы.

Cреда инсталлятора

Среда инсталлятора — это сильно урезанная система Linux. Имеется несколько дополнительных каталогов:

Вся файловая система за исключением каталогов /var и /etc находится в режиме «только чтение».

Данные и метаданные


Инсталлятор размещается в корне CD/DVD-диска в файле altinst. Это образ файловой системы формата squashfs.
Для работы ваших скриптов им возможно потребуются некоторые файлы с данными.
Первый способ («данные») – разместить их вместе с инсталлятором. Это делается во время сборки squashfs образа (при помощи хуков spt или mkimage). Соответственно для того чтобы изменить данные – надо создать заново файл altinst. Иногда это не очень удобно и хочется менять отдельные параметры созданного дистрибутива без полной пересборки. А поэтому существует ...
Второй способ («метаданные») – рядом с файлом altinst вы обнаружите каталог Metadata. Всё что туда положите можно будет потом получить прямо в скриптах вызвав утилиту cp-metadata – данные будут доставлены, даже если и установка идёт через сеть ;)
Формат запуска «metadata-cp <целевой-каталог>/<файл>". В результат будет взят(скачан, скопирован) Metadata/<файл> и положен в <целевой-каталог>.


На данный момент используются следующие метаданные:

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

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


Описание шагов инсталлятора делится на две части: описание порядка шагов и собственно описание каждого шага.
Описание шага полностью повторяет описание модуля конфигуратора. Все описания шагов размещаются в каталогe /usr/share/install2/steps/.


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



В поставке с инсталлятором идут описания самых распространённых шагов.


Примечание:
По техническим причинам (инсталлятору нужно видеть описание всех шагов при старте одновременно, а часть из-них появляется после базовой системы), dekstop-файлы не распределяются по пакетам модулей, а лежат в пакетах installer-*-stage2. Пакет installer-stage2 содержит набор готовых desktop-файлов, достаточный для большинства дистрибутивов. Если хочется добавить свои особые шаги – сохраняйте все необходимые вам desktop-файлы в installer-flavour-stage2.

Профиль инсталлятора


Профиль инсталлятор состоит из:


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


Профиль размещается в серии пакетов installer-distro (installer-distro, installer-distro-stage2, installer-distro-stage3). Не забудьте добавить в каждый пакет зависимости на пакеты с необходимыми модулями alterator и на соответствующие пакеты installer.


Вместо написания своих preinstall.d/postinstall.d скриптов постарайтесь использовать готовые компоненты


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