Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021) — различия между версиями

Материал из 0x1.tv

 
(не показано 7 промежуточных версий этого же участника)
;{{SpeakerInfo}}: {{Speaker|Леонид Кривошеин}}
<blockquote>
Обзор стека инструментов для развёртывания ОС Альт: что и как могут использовать разработчики уже сейчас.

Обзор новой системы загрузки altboot, призванной заменить propagator в дистрибутивах Альт. Комбинация новых методов
загрузки с инструментами массового развёртывания.
</blockquote>

{{VideoSection}}
{{vimeoembed|240318276|800|450}}
{{youtubelink|}}
|3ynb7ciyWcM}}
{{SlidesSection}}
[[File:Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf|left|page=-|300px]]

{{----}}

== Thesis ==
<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-25T02:25:5131T17:05:37.369179422021|vimeo_plays=1|youtube_plays=0}}

[[Категория:OSSDEVCONF-2021]]
[[Категория:ALT Linux]]

Текущая версия на 12:01, 23 ноября 2021

Докладчик
Леонид Кривошеин.jpg
Леонид Кривошеин

Обзор стека инструментов для развёртывания ОС Альт: что и как могут использовать разработчики уже сейчас.

Обзор новой системы загрузки altboot, призванной заменить propagator в дистрибутивах Альт. Комбинация новых методов загрузки с инструментами массового развёртывания.

Видео

on youtube

Презентация

Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021).pdf

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.

Инструменты начальной загрузки и массового развёртывания ОС «Альт» (Леонид Кривошеин, OSSDEVCONF-2021)!.jpg

Примечания и ссылки


  1. https://www.altlinux.org/Rescue
  2. https://www.altlinux.org/Rescue/Launcher
  3. https://www.altlinux.org/Rescue/Recovery
  4. https://www.altlinux.org/Usermode-fs-tools
  5. https://www.altlinux.org/Propagator
  6. https://www.altlinux.org/Make-initrd
  7. https://github.com/osboot/make-initrd
  8. https://www.altlinux.org/Make-initrd-propagator
  9. https://lists.altlinux.org/pipermail/make-initrd/

Plays:1   Comments:0