Образ: установка без вопросов (DHCP, весь диск) с одним подтверждением стирания; приветствие на консоли не перерисовывается без нужды
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -88,7 +88,8 @@ xorriso -osirrox on -indev "$SRC" -extract /boot/grub/grub.cfg "$WORK/grub/grub.
|
|||||||
echo "loadfont unicode"
|
echo "loadfont unicode"
|
||||||
echo "menuentry --hotkey=b 'Install Bridge&Join $VERSION (Ubuntu 22.04)' {"
|
echo "menuentry --hotkey=b 'Install Bridge&Join $VERSION (Ubuntu 22.04)' {"
|
||||||
echo " set gfxpayload=keep"
|
echo " set gfxpayload=keep"
|
||||||
echo " linux /casper/vmlinuz autoinstall ds=nocloud\;s=/cdrom/nocloud/ ---"
|
# без «autoinstall» в параметрах установщик один раз спросит подтверждение перед стиранием диска
|
||||||
|
echo " linux /casper/vmlinuz ds=nocloud\;s=/cdrom/nocloud/ ---"
|
||||||
echo " initrd /casper/initrd"
|
echo " initrd /casper/initrd"
|
||||||
echo "}"
|
echo "}"
|
||||||
# пункт с ядром HWE убираем — его файлы из образа удаляются
|
# пункт с ядром HWE убираем — его файлы из образа удаляются
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#cloud-config
|
#cloud-config
|
||||||
# Автоустановка Ubuntu 22.04 для образа Bridge&Join (deploy/iso/build-iso-ubuntu.sh).
|
# Автоустановка Ubuntu 22.04 для образа Bridge&Join (deploy/iso/build-iso-ubuntu.sh).
|
||||||
# Спрашиваются только сеть (если DHCP нет — задать вручную) и диск (подтверждение стирания).
|
# Вопросов нет: сеть — DHCP (нет DHCP — установка идёт без сети: обновления и пакеты bj уже в образе),
|
||||||
|
# диск — весь первый диск целиком. Единственный вопрос — подтверждение «Continue with autoinstall?»
|
||||||
|
# перед стиранием диска: его задаёт установщик Ubuntu, потому что в меню загрузки нет параметра
|
||||||
|
# autoinstall (защита от случайной загрузки с образа на машине с данными).
|
||||||
# Учётная запись root_bj (sudo) создаётся с неизвестным никому паролем — настоящие пароли
|
# Учётная запись root_bj (sudo) создаётся с неизвестным никому паролем — настоящие пароли
|
||||||
# root_bj и user_bj задаёт bj-firstboot при первой загрузке и показывает один раз.
|
# root_bj и user_bj задаёт bj-firstboot при первой загрузке и показывает один раз.
|
||||||
autoinstall:
|
autoinstall:
|
||||||
version: 1
|
version: 1
|
||||||
interactive-sections:
|
|
||||||
- network
|
|
||||||
- storage
|
|
||||||
locale: ru_RU.UTF-8
|
locale: ru_RU.UTF-8
|
||||||
keyboard:
|
keyboard:
|
||||||
layout: us,ru
|
layout: us,ru
|
||||||
|
|||||||
@@ -20,12 +20,15 @@ if [ -r "$SETUP" ]; then
|
|||||||
import json,sys
|
import json,sys
|
||||||
try:
|
try:
|
||||||
d=json.load(open(sys.argv[1])); l=d.get("license",{})
|
d=json.load(open(sys.argv[1])); l=d.get("license",{})
|
||||||
print("да" if l.get("key") else "нет", l.get("last_msg","")[:60])
|
# только устойчивое состояние: сообщение о продлении меняется каждые 15 минут, и экран
|
||||||
|
# перерисовывался бы (перезапуск входа на консоли) без нужды
|
||||||
|
print("да" if l.get("key") else "нет")
|
||||||
except Exception: print("")
|
except Exception: print("")
|
||||||
PY
|
PY
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
{
|
{
|
||||||
|
printf '\033[H\033[2J' # очистить экран: при повторном показе приглашения текст не копится
|
||||||
printf '\n ┌────────────────────────────────────────────────────────────────┐\n'
|
printf '\n ┌────────────────────────────────────────────────────────────────┐\n'
|
||||||
printf ' │ Bridge&Join (bj) — шлюз переводов ценных бумаг M2M / НРД │\n'
|
printf ' │ Bridge&Join (bj) — шлюз переводов ценных бумаг M2M / НРД │\n'
|
||||||
printf ' └────────────────────────────────────────────────────────────────┘\n'
|
printf ' └────────────────────────────────────────────────────────────────┘\n'
|
||||||
@@ -50,7 +53,7 @@ fi
|
|||||||
else
|
else
|
||||||
printf ' Состояние: bj работает. Вход в веб-интерфейс:\n'; url /admin
|
printf ' Состояние: bj работает. Вход в веб-интерфейс:\n'; url /admin
|
||||||
case "$lic" in
|
case "$lic" in
|
||||||
да*) printf ' Лицензия: %s\n' "${lic#да }";;
|
да*) printf ' Лицензия: ключ продукта введён (подробности — «Настройка → Лицензия»).\n';;
|
||||||
*) printf ' Лицензия НЕ АКТИВИРОВАНА: введите ключ продукта в «Настройка → Лицензия».\n';;
|
*) printf ' Лицензия НЕ АКТИВИРОВАНА: введите ключ продукта в «Настройка → Лицензия».\n';;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user