Installer/common/altboot: различия между версиями
Klark (обсуждение | вклад) |
Klark (обсуждение | вклад) |
||
Строка 10: | Строка 10: | ||
{{Attention|Здесь можно скачать полное руководство к версии '''0.1.5-alt23''': [[Файл:От пропагатора к altboot.pdf]]. Ниже приведено только краткое описание для тех, кто уже знаком с загрузкой через [[Installer/common/propagator|propagator]] и [[Make-initrd-propagator|init-bottom]].}} | {{Attention|Здесь можно скачать полное руководство к версии '''0.1.5-alt23''': [[Файл:От пропагатора к altboot.pdf]]. Ниже приведено только краткое описание для тех, кто уже знаком с загрузкой через [[Installer/common/propagator|propagator]] и [[Make-initrd-propagator|init-bottom]].}} | ||
=Модули bootchain= | |||
Разделение на модули (подпакеты) позволяет добиться оптимального наполнения initramfs только необходимым для загрузки содержимым. Так, для загрузки по протоколу NFS достаточно установить пакет '''make-initrd-bootchain-nfs''' и задействовать фичу '''bootchain-nfs''', всё остальное попадёт в initramfs по зависимостям. Для создания универсального образа stage1 достаточно установки одного мета-пакета '''make-initrd-bootchain'''. | |||
* '''make-initrd-bootchain''' — мета-пакет, собирающий воедино все существующие модули bootchain, он же исходный SRPM; | |||
* '''make-initrd-bootchain-core''' — базовый функционал, включая шаги debug, fg, mountfs, noop, noretry, overlayfs, retry и rootfs; | |||
* '''make-initrd-bootchain-getimage''' — обеспечивает метод загрузки образов по сети утилитой wget по протоколам HTTP и FTP; | |||
* '''make-initrd-bootchain-waitdev''' — обеспечивает метод ожидания локального носителя по заданной спецификации; | |||
* '''make-initrd-bootchain-interactive''' — обеспечивает интерактивное взаимодействие, предоставляет диалоговые виджеты; | |||
* '''make-initrd-bootchain-waitnet''' — обеспечивает ожидание сети и экспорт сетевых настроек в stage2, используется всеми сетевыми методами загрузки (ftp, http, nfs, cifs) и является временным кодом; | |||
* '''make-initrd-bootchain-altboot''' — весь общий функционал пропагатора и шаг, транслирующий его аргументы; | |||
* '''make-initrd-bootchain-localdev''' — обеспечивает методы загрузки disk/cdrom, установку дополнительных модулей ядра; | |||
* '''make-initrd-bootchain-liverw''' — обеспечивает дополнительный функционал для работы с R/W-сеансами LiveCD и Rescue; | |||
* '''make-initrd-bootchain-nfs''' — обеспечивает метод загрузки с сервера NFS и поддержку read-only слоёв LiveCD (сквошей); | |||
* '''make-initrd-bootchain-cifs''' — обеспечивает метод загрузки с сервера SAMBA и поддержку read-only слоёв LiveCD (сквошей); | |||
* '''make-initrd-bootchain-doc''' — документация и набор тестов. | |||
=Быстрое знакомство= | |||
... | |||
=ramdisk_size, automatic=type:iso и lowmem= | =ramdisk_size, automatic=type:iso и lowmem= |
Версия от 01:23, 25 июля 2024
bootchain/altboot
bootchain — форк и дальнейшее развитие pipeline, фичи make-initrd, предлагающей «пошаговый» принцип загрузки.
altboot (альтернативная загрузка) — дистронезависимая система загрузки, построенная поверх bootchain, работающая как часть run-time make-initrd, альтернатива propagator с make-initrd-propagator в дистрибутивах ОС Альт на «одиннадцатой платформе», обеспечивающая дополнительный функционал, слой совместимости с установщиком, alterator-netinst и более гибкие возможности дальнейшего расширения.
Проще говоря, bootchain+altboot пришли на смену propagator'у в p11, сделав возможным использовать run-time и все фичи make-initrd не только в установленной ОС Альт, но теперь и во всех установочных и "живых" носителях (ISO-образах с универсальной загрузкой), содержащих сквоши второй стадии altinst, live или rescue.
Модули bootchain
Разделение на модули (подпакеты) позволяет добиться оптимального наполнения initramfs только необходимым для загрузки содержимым. Так, для загрузки по протоколу NFS достаточно установить пакет make-initrd-bootchain-nfs и задействовать фичу bootchain-nfs, всё остальное попадёт в initramfs по зависимостям. Для создания универсального образа stage1 достаточно установки одного мета-пакета make-initrd-bootchain.
- make-initrd-bootchain — мета-пакет, собирающий воедино все существующие модули bootchain, он же исходный SRPM;
- make-initrd-bootchain-core — базовый функционал, включая шаги debug, fg, mountfs, noop, noretry, overlayfs, retry и rootfs;
- make-initrd-bootchain-getimage — обеспечивает метод загрузки образов по сети утилитой wget по протоколам HTTP и FTP;
- make-initrd-bootchain-waitdev — обеспечивает метод ожидания локального носителя по заданной спецификации;
- make-initrd-bootchain-interactive — обеспечивает интерактивное взаимодействие, предоставляет диалоговые виджеты;
- make-initrd-bootchain-waitnet — обеспечивает ожидание сети и экспорт сетевых настроек в stage2, используется всеми сетевыми методами загрузки (ftp, http, nfs, cifs) и является временным кодом;
- make-initrd-bootchain-altboot — весь общий функционал пропагатора и шаг, транслирующий его аргументы;
- make-initrd-bootchain-localdev — обеспечивает методы загрузки disk/cdrom, установку дополнительных модулей ядра;
- make-initrd-bootchain-liverw — обеспечивает дополнительный функционал для работы с R/W-сеансами LiveCD и Rescue;
- make-initrd-bootchain-nfs — обеспечивает метод загрузки с сервера NFS и поддержку read-only слоёв LiveCD (сквошей);
- make-initrd-bootchain-cifs — обеспечивает метод загрузки с сервера SAMBA и поддержку read-only слоёв LiveCD (сквошей);
- make-initrd-bootchain-doc — документация и набор тестов.
Быстрое знакомство
...
ramdisk_size, automatic=type:iso и lowmem
...
Параметры сетевой загрузки
...
Примеры использования
...
Журналирование и отладка
Демон chaind ведёт журнал /var/log/chaind.log, доступный в stage1 на tty3 (по нажатию Alt-F3), что определяется дефолтными значениями BC_LOG_VT и BC_LOGFILE в файле конфигурации, а также перебивается параметром make-initrd rdlog=console или rdlog=printk в рантайме.
Расширенная отладка включается через /proc/cmdline параметром bc_debug. В этом случае журнал копируется по тому же пути в stage2 после отработки последнего «шага», а если в новой rootfs нет /var/log, то копируется в /dev/bootchain/. Аналогом propagator-debug в самом make-initrd является параметр rdshell либо stop=runinit, для его использования образ initramfs должен быть собран с соответствующей фичей «rdshell».
Полезные ссылки
- Make-initrd
- Propagator
- Make-initrd-propagator
- https://bugzilla.altlinux.org/30315#c29
- https://lists.altlinux.org/pipermail/devel/2018-April/204192.html
- https://packages.altlinux.org/ru/sisyphus/srpms/make-initrd-bootchain/
- http://0x1.tv/20210418F
Enjoy! ;-)