Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
(не показано 10 промежуточных версий этого же участника) | |||
;{{SpeakerInfo}}: {{Speaker|Леонид Кривошеин}} <blockquote> Обзор стека инструментов для развёртывания ОС Альт: что и как могут использовать разработчики уже сейчас. Обзор новой системы загрузки altboot, призванной заменить propagator в дистрибутивах Альт. Комбинация новых методов загрузки с инструментами массового развёртывания. </blockquote> {{VideoSection}} {{vimeoembed|240318276|800|450}} {{youtubelink|}} |3ynb7ciyWcM}} {{SlidesSection}} [[File:Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf|left|page=-|300px]] {{----}} == Thesis == ''ALT Rescue'' — основа системы массового развёртывания, спасательный LiveCD-дистрибутив умеренного размера, включающий богатый набор инструментов для работы с дисками и файловыми системами. ''Rescue Launcher'' — заставшим MS-DOS напомнит назначение <code>C:\autoexec.bat</code>. В отличие от rc.local, процесс запускается интерактивно, а не в фоновом режиме, на конкретном терминале, сразу после запуска всех служб. По завершении этого процесса пользователь попадает в обычную командную строку. Разработан с таким расчётом, чтобы можно было автоматически смонтировать ОТКУДА-ТО некий каталог, содержащий ВАШ_СКРИПТ (или иной исполняемый файл), и запустить его. Параметр загрузки ядра <code>autorun</code> управляет тем, где и что ищется, каким образом и куда монтируется. ''system-backup'' — автоматика для снятия образов уже установленной системы. Достаточно смонтировать носитель, на который эти образы будут сохранены. Работает на всех поддерживаемых аппаратных платформах. ''usermode-fs-tools'' — набор утилит для работы с файловыми системами ext2/3/4 и vfat в режиме простого пользователя, как с обычными архивами, форматировать, подбирать нужный размер, дополнять их файлами, заполнять /dev, назначать любые права и владельцев, устанавливать системный загрузчик. Призван заменить tar2fs в mkimage-profile. В состав входит утилита ''iso2stick'': она перепаковывает дистрибутивы ALT из ISO-9660 в образы USB-дисков. Поддерживается для всех аппаратных платформ. По запросу крупных OEM-сборщиков мы начали ориентировать свои инструменты массового развёртывания на мастер-образы, что позволит применять специализированное оборудование для быстрого клонирования. ''propagator'' — компактная программа, целью которой является определение местонахождения второй стадии инсталлятора, livecd или rescue-образа. ''make-initrd'' — инструмент для сборки образов initramfs, используемых для начальной загрузки ОС Linux. ''pipeline'' — фича make-initrd, предлагающая новый «пошаговый» принцип загрузки. ''bootchain'' — форк и дальнейшее развитие pipeline, на момент написания предлагает с десяток модулей и ещё не попал в апстрим. ''altboot'' — новая система загрузки, построенная поверх bootchain, фактически замена propagator в будущих дистрибутивах Альт, обеспечивающая новые функции и более гибкие возможности дальнейшего расширения. === Модули bootchain === ''core'': базовый функционал, включает шаги debug, mountfs, overlayfs и rootfs<br /> ''getimage'': метод загрузки образов по сети (http/ftp) утилитой wget<br /> ''waitdev'': метод подключения локального носителя по заданной спецификации<br /> ''interactive'': интерактивное взаимодействие, предоставляет диалоговые виджеты<br /> ''altboot'': общий функционал и шаг, транслирующий аргументы пропагатора<br /> ''localdev'': методы загрузки disk/cdrom, установка дополнительных модулей ядра<br /> ''liverw'': дополнительный функционал для работы с сессиями LiveCD и Rescue<br /> ''nfs'': метод загрузки с сервера NFS<br /> ''cifs'': метод загрузки с сервера SAMBA === Основные шаги altboot === ''download'': многофункциональный шаг, использующий curl, обеспечивает методы url, http, ftp, загружает в память squash, может загрузить образ чего угодно прямо в указанное устройство ''checksum'': подсчитывает контрольную сумму ранее загруженного или указанного ''iso9660'': монтирует устройство как CD/DVD-привод ISO-9660 ''squashfs'': монтирует устройство или файл из каталога как squashfs ''liveboot'': многофункциональный шаг финальной стадии загрузки Обычный /proc/cmdline: <pre>root=bootchain bootchain=fg,altboot automatic=...</pre> Необычный /proc/cmdline: <pre>root=bootchain bootchain=waitdev,waitdev,fg,altboot \ waitdev=LABEL=alt-live-storage \ waitdev=CDROM: automatic=... </pre> Переменные BC можно сложить в <code>/etc/sysconfg/bootchain</code>. Параметр <code>bc_debug</code> даёт расширенную отладку, отладочный журнал в stage1 доступен по Alt-F3, а также в <code>/var/log/bootchained.log</code>, при переходе в stage2 он копируется в <code>/dev/bootchain/bootchained.log</code>. Чтобы написать свой модуль altboot, необходимо разобраться в порядке отработки «хуков». В этом помогут <code>git grep use_hooks</code> и скрипты в <code>altbot-mixed/hooks/*.sh</code>, получаемые при запуске скрипта <code>mix-altbot</code>. {{----}} [[File:{{#setmainimage:Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021)!.jpg}}|center|640px]] {{LinksSection}} <!-- <blockquote>[©]</blockquote> --> {{vklink|1902}} {{fblink|2967595503493451}} <references/> # https://www.altlinux.org/Rescue # https://www.altlinux.org/Rescue/Launcher # https://www.altlinux.org/Rescue/Recovery # https://www.altlinux.org/Usermode-fs-tools # https://www.altlinux.org/Propagator # https://www.altlinux.org/Make-initrd # https://github.com/osboot/make-initrd # https://www.altlinux.org/Make-initrd-propagator # https://lists.altlinux.org/pipermail/make-initrd/ {{stats|disqus_comments=0|refresh_time=2021-08-31T17:05:37.422021|vimeo_plays=1|youtube_plays=0}} [[Категория:OSSDEVCONF-2021]] [[Категория:Open-source projects]]ALT Linux]] |
Текущая версия на 12:01, 23 ноября 2021
- Докладчик
- Леонид Кривошеин
Обзор стека инструментов для развёртывания ОС Альт: что и как могут использовать разработчики уже сейчас.
Обзор новой системы загрузки altboot, призванной заменить propagator в дистрибутивах Альт. Комбинация новых методов загрузки с инструментами массового развёртывания.
Содержание
Видео
Презентация
Thesis
ALT Rescue — основа системы массового развёртывания, спасательный LiveCD-дистрибутив умеренного размера, включающий богатый набор инструментов для работы с дисками и файловыми системами.
Rescue Launcher — заставшим MS-DOS напомнит назначение C:\autoexec.bat
. В отличие от rc.local, процесс запускается интерактивно, а не в фоновом режиме, на конкретном терминале, сразу после запуска всех служб. По завершении этого процесса пользователь попадает в обычную командную строку. Разработан с таким расчётом, чтобы можно было автоматически смонтировать ОТКУДА-ТО некий каталог, содержащий ВАШ_СКРИПТ (или иной исполняемый файл), и запустить его. Параметр загрузки ядра autorun
управляет тем, где и что ищется, каким образом и куда монтируется.
system-backup — автоматика для снятия образов уже установленной системы. Достаточно смонтировать носитель, на который эти образы будут сохранены. Работает на всех поддерживаемых аппаратных платформах.
usermode-fs-tools — набор утилит для работы с файловыми системами ext2/3/4 и vfat в режиме простого пользователя, как с обычными архивами, форматировать, подбирать нужный размер, дополнять их файлами, заполнять /dev, назначать любые права и владельцев, устанавливать системный загрузчик. Призван заменить tar2fs в mkimage-profile. В состав входит утилита iso2stick: она перепаковывает дистрибутивы ALT из ISO-9660 в образы USB-дисков. Поддерживается для всех аппаратных платформ.
По запросу крупных OEM-сборщиков мы начали ориентировать свои инструменты массового развёртывания на мастер-образы, что позволит применять специализированное оборудование для быстрого клонирования.
propagator — компактная программа, целью которой является определение местонахождения второй стадии инсталлятора, livecd или rescue-образа.
make-initrd — инструмент для сборки образов initramfs, используемых для начальной загрузки ОС Linux. pipeline — фича make-initrd, предлагающая новый «пошаговый» принцип загрузки. bootchain — форк и дальнейшее развитие pipeline, на момент написания предлагает с десяток модулей и ещё не попал в апстрим.
altboot — новая система загрузки, построенная поверх bootchain, фактически замена propagator в будущих дистрибутивах Альт, обеспечивающая новые функции и более гибкие возможности дальнейшего расширения.
Модули bootchain
core: базовый функционал, включает шаги debug, mountfs, overlayfs и rootfs
getimage: метод загрузки образов по сети (http/ftp) утилитой wget
waitdev: метод подключения локального носителя по заданной спецификации
interactive: интерактивное взаимодействие, предоставляет диалоговые виджеты
altboot: общий функционал и шаг, транслирующий аргументы пропагатора
localdev: методы загрузки disk/cdrom, установка дополнительных модулей ядра
liverw: дополнительный функционал для работы с сессиями LiveCD и Rescue
nfs: метод загрузки с сервера NFS
cifs: метод загрузки с сервера SAMBA
Основные шаги altboot
download: многофункциональный шаг, использующий curl, обеспечивает методы url, http, ftp, загружает в память squash, может загрузить образ чего угодно прямо в указанное устройство
checksum: подсчитывает контрольную сумму ранее загруженного или указанного
iso9660: монтирует устройство как CD/DVD-привод ISO-9660
squashfs: монтирует устройство или файл из каталога как squashfs
liveboot: многофункциональный шаг финальной стадии загрузки
Обычный /proc/cmdline:
root=bootchain bootchain=fg,altboot automatic=...
Необычный /proc/cmdline:
root=bootchain bootchain=waitdev,waitdev,fg,altboot \ waitdev=LABEL=alt-live-storage \ waitdev=CDROM: automatic=...
Переменные BC можно сложить в /etc/sysconfg/bootchain
. Параметр bc_debug
даёт расширенную отладку, отладочный журнал в stage1 доступен по Alt-F3, а также в /var/log/bootchained.log
, при переходе в stage2 он копируется в /dev/bootchain/bootchained.log
.
Чтобы написать свой модуль altboot, необходимо разобраться в порядке отработки «хуков». В этом помогут git grep use_hooks
и скрипты в altbot-mixed/hooks/*.sh
, получаемые при запуске скрипта mix-altbot
.
Примечания и ссылки
- https://www.altlinux.org/Rescue
- https://www.altlinux.org/Rescue/Launcher
- https://www.altlinux.org/Rescue/Recovery
- https://www.altlinux.org/Usermode-fs-tools
- https://www.altlinux.org/Propagator
- https://www.altlinux.org/Make-initrd
- https://github.com/osboot/make-initrd
- https://www.altlinux.org/Make-initrd-propagator
- https://lists.altlinux.org/pipermail/make-initrd/
Plays:1 Comments:0