Installer/common/propagator: различия между версиями
Snejok (обсуждение | вклад) |
Snejok (обсуждение | вклад) |
||
Строка 50: | Строка 50: | ||
* updatemodules - возможность подсунуть файлы <ref>http://git.altlinux.org/gears/p/propagator.git?p=propagator.git;a=blob;f=doc/UPDATEMODULES</ref> | * updatemodules - возможность подсунуть файлы <ref>http://git.altlinux.org/gears/p/propagator.git?p=propagator.git;a=blob;f=doc/UPDATEMODULES</ref> | ||
* hash - проверка диска | * hash - проверка диска | ||
* testing - пишет логи на tty3 | * testing - пишет логи на tty3, но отключает некоторый функционал <ref>http://git.altlinux.org/gears/p/propagator.git?p=propagator.git;a=blob;f=log.c#l75</ref> | ||
== Примечания == | == Примечания == | ||
<references/> | <references/> | ||
{{Category navigation|title=Installer|category=Installer|sortkey=common}} | {{Category navigation|title=Installer|category=Installer|sortkey=common}} |
Версия от 20:47, 20 декабря 2016
Введение
propagator — компактная и автономная Linux-программа, целью которой является определение местонахождения следующей (второй) стадии инсталятора, livecd или rescue-образа. Является форком mdk-stage1, в свою очередь происходящего от первой стадии инсталятора RedHat Linux.
Сталкиваются с ним в основном выпускающие дистрибутивы, реже — системные администраторы при развёртывании систем (ещё реже — пользователи).
Настройка поведения загрузчика инсталлятора
Сложные параметры записываются в формате «параметр:значение,параметр:значение». Главный из них — method — может иметь значение из списка cdrom, disk, nfs, ftp, http; дополнительные варьируются в зависимости от главного.
cdrom
В дополнительных параметрах обычно не нуждается.
disk
- disk (имя диска с образом)
- partition (раздел)
- directory (путь на диске или сетевом ресурсе к дистрибутиву/образу live-системы)
- uuid или label (UUID или метка раздела. Работает на M41+)
nfs/ftp/http
- network — static или dhcp
- если static: ip, dns, gateway, netmask
- если DNS работает, то основные параметры указываются вручную:
- hostname, domain,
- server (имя сервера), directory (каталог на сервере)
- если ftp не анонимный: user (имя учётной записи), pass (пароль этой учётной записи)
- в случае присутствия нескольких интерфейсов: interface (имя нужного интерфейса)
Режим экономии памяти
По умолчанию propagator копирует squashfs второй стадии в RAM-диск и монтирует временную корневую файловую систему оттуда (что полезно с точки зрения производительности и возможности смены оптического носителя); если такое поведение не устраивает — обычно по причине нехватки памяти для загрузки и работы stage2 — можно передать вручную либо в дистрибутиве опцию lowmem, при этом ФС будет смонтирована непосредственно из файла на носителе.
Примеры использования
automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/Compact/ automatic=method:ftp,network:dhcp,server:ftp.altlinux.ru,directory:/pub/distribution/ALTLinux/Sisyphus/[1] automatic=method:ftp,network:dhcp,server:companyserver,directory:/altlinux,user:XXX,pass:XXX automatic=method:ftp,interface:eth1,network:dhcp,... automatic=method:cdrom lowmem automatic=method:disk,disk:hdb,partition:hdb7,uuid:48B3-5935
Особенности
В бранчах вплоть до p6/t6 поддержка гибридных ISO-образов (предназначенных для записи как на болванку, так и на флэшку) реализована при помощи gfxboot. Начиная с propagator-20101130-alt15, в сизифе должно заработать и для других syslinux ui.
Отладка
Включается по параметру загрузки ядра propagator-debug, даёт промежуточный shell.
Параметры ядра, понимаемые propagator'ом [2]:
- splash=0 - отключает plymouth
- updatemodules - возможность подсунуть файлы [3]
- hash - проверка диска
- testing - пишет логи на tty3, но отключает некоторый функционал [4]
Примечания
- ↑ установить сизиф таким образом не удастся: это не дистрибутив
- ↑ http://git.altlinux.org/gears/p/propagator.git?p=propagator.git;a=blob;f=tools.c#l94
- ↑ http://git.altlinux.org/gears/p/propagator.git?p=propagator.git;a=blob;f=doc/UPDATEMODULES
- ↑ http://git.altlinux.org/gears/p/propagator.git?p=propagator.git;a=blob;f=log.c#l75