Files
Bridge-and-Join-s/deploy/iso/ubuntu/user-data.tmpl
T

50 lines
3.6 KiB
Cheetah

#cloud-config
# Автоустановка Ubuntu 22.04 для образа Bridge&Join (deploy/iso/build-iso-ubuntu.sh).
# Вопросов нет: сеть — DHCP (нет DHCP — установка идёт без сети: обновления и пакеты bj уже в образе),
# диск — весь первый диск целиком. Подтверждение стирания — выбор пункта «Install Bridge&Join …
# ERASES THE WHOLE DISK» в меню загрузки: меню ждёт без таймера (build-iso-ubuntu.sh).
# Учётная запись root_bj (sudo) создаётся с неизвестным никому паролем — настоящие пароли
# root_bj и user_bj задаёт bj-firstboot при первой загрузке и показывает один раз.
# Экран установки Bridge&Join на консоли вместо технического журнала установщика Ubuntu
# (deploy/iso/bj-install-progress): этапы по-русски и полоса хода. bootcmd cloud-init — самое раннее, что
# доступно образу: экран появляется, пока установщик ещё запускается. Упадёт экран или установка не
# удастся — вернётся стандартный экран Ubuntu. Команда всегда завершается успешно.
bootcmd:
- [sh, -c, "sh /cdrom/bj/bj-install-progress-start bootcmd || true"]
autoinstall:
version: 1
locale: ru_RU.UTF-8
keyboard:
layout: us,ru
variant: ","
toggle: alt_shift_toggle # установщик сам допишет «grp:» (с ним получалось «grp:grp:…», переключение не работало)
timezone: Europe/Moscow
identity:
hostname: bj-server
realname: "Администратор сервера bj"
username: root_bj
password: "@@PASSHASH@@"
ssh:
install-server: true
allow-pw: true
storage:
layout:
name: direct
updates: security
# Экран установки Bridge&Join (bj-install-progress) — запасной запуск, если bootcmd не сработал
# (основной — bootcmd в начале файла). Всегда завершается успешно.
early-commands:
- sh /cdrom/bj/bj-install-progress-start early-commands || true
late-commands:
- mkdir -p /target/var/lib/bj /target/etc/bj /target/usr/local/sbin
- cp -r /cdrom/bj/bundle /target/var/lib/bj/bundle
- cp -r /cdrom/bj/validata /target/var/lib/bj/validata
- sh -c 'if [ -d /cdrom/bj/debs ]; then cp -r /cdrom/bj/debs /target/var/lib/bj/debs; fi'
- sh -c 'if [ -d /cdrom/bj/igate ]; then mkdir -p /target/var/lib/bj/igate-dist && cp /cdrom/bj/igate/igate-*-amd64.zip /target/var/lib/bj/igate-dist/; fi'
- install -m 0755 /cdrom/bj/bj-installer /cdrom/bj/bj-firstboot /cdrom/bj/bj-firstboot-screen /cdrom/bj/bj-welcome /cdrom/bj/bj-network /target/usr/local/sbin/
# шрифт консоли установщика (кириллица, рамки, ✓ ▶ █) — для экранов первой загрузки
- sh -c 'mkdir -p /target/usr/local/share/bj && cp /snap/subiquity/current/subiquity.psf /target/usr/local/share/bj/console.psf || true'
- install -m 0644 /cdrom/bj/bj-firstboot.service /cdrom/bj/bj-welcome.service /cdrom/bj/bj-welcome.timer /target/etc/systemd/system/
- install -m 0644 /cdrom/bj/channel /target/etc/bj/channel
- curtin in-target --target=/target -- systemctl enable bj-firstboot.service bj-welcome.service bj-welcome.timer