375203a78f
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q4YVo4UMopqT5DzicqpPjL
105 lines
7.9 KiB
Markdown
105 lines
7.9 KiB
Markdown
# Проверка образа установки (ISO) на виртуальной машине
|
||
|
||
Образ собирается `deploy/iso/build-iso.sh` и выкладывается в канал `iso` на
|
||
lic.zetit.ru. Ниже — что проверено статически и что нужно проверить на живой ВМ.
|
||
|
||
## Что уже проверено без запуска
|
||
|
||
На образе `bj-debian13-2026.09.16-beta1.iso` (18.09.2026):
|
||
|
||
- контрольная сумма совпадает с подписанным манифестом канала `iso`;
|
||
- образ гибридный: `El Torito` + `MBR isohybrid` + `GPT`, то есть грузится и с
|
||
флешки, и как ISO, и в BIOS, и в UEFI;
|
||
- загрузочные образы на месте: BIOS — `/isolinux/isolinux.bin`,
|
||
UEFI — `/boot/grub/efi.img`;
|
||
- в обеих ветках меню наш пункт стоит первым и выбран по умолчанию:
|
||
- UEFI — `/boot/grub/grub.cfg`, `menuentry «Установить Bridge&Join …»`;
|
||
- BIOS — `/isolinux/txt.cfg`, `default bj`;
|
||
- оба пункта передают `auto=true priority=high preseed/file=/cdrom/preseed/bj.cfg`
|
||
и русскую локаль;
|
||
- `preseed/bj.cfg` на месте, в нём `late_command` ставит `bj-installer`,
|
||
`bj-firstboot` и включает `bj-firstboot.service`;
|
||
- файлы `bj/bj-installer`, `bj/bj-firstboot`, `bj/bj-firstboot.service` лежат на образе.
|
||
|
||
Проверить загрузку на самом сервере bj (astramost) нельзя: он сам работает
|
||
внутри ВМ без вложенной виртуализации, эмуляция шла бы часами.
|
||
|
||
## Что проверить на виртуальной машине
|
||
|
||
Параметры ВМ: 2 ядра, 4 ГБ памяти, диск 40 ГБ, сеть с выходом в интернет
|
||
(установщик Debian тянет пакеты с deb.debian.org), загрузка — UEFI, потом
|
||
отдельно BIOS.
|
||
|
||
1. **Меню.** Сразу после загрузки — пункт «Установить Bridge&Join …», выбран по
|
||
умолчанию, отсчёт 10 секунд. Русский язык уже выбран.
|
||
2. **Вопросы установщика.** Должны спросить только: пароль root, пароль
|
||
администратора ОС (`bjadmin`), диск и подтверждение стирания. Всё остальное —
|
||
без вопросов.
|
||
3. **Установка.** Разметка «весь диск, ext4», пакеты `standard + ssh-server`
|
||
плюс postgresql, java, pcscd, curl. По окончании — перезагрузка, диск с
|
||
образом извлекается сам.
|
||
4. **Первый запуск.** На экране сервера служба `bj-firstboot` должна спросить
|
||
ключ продукта: ключ → проверка на lic.zetit.ru → установка bj из канала
|
||
лицензии → адрес веб-интерфейса.
|
||
5. **После установки.** `systemctl status bj-server bj-keymedia`,
|
||
открыть `http://<адрес>:8080/` — страница первого запуска с кодом.
|
||
|
||
Если на шаге 2 установщик задаёт лишние вопросы — значит, в `preseed/bj.cfg` не
|
||
хватает ответа: имя вопроса видно в журнале `/var/log/installer/syslog` на
|
||
установленной системе.
|
||
|
||
---
|
||
|
||
## Образ 2026.09.22 (пересборка 22.09.2026)
|
||
|
||
**Почему пересобран.** В образе 16.09 внутри лежал `bj/channel = beta`: установка с него
|
||
тянула `2026.09.18-beta1` — сборку до security-фиксов — вместо `stable`. Обходной путь
|
||
на уже поставленной машине: до первого запуска `echo stable > /etc/bj/channel` (и
|
||
перезапуск `bj-firstboot`), либо потом сменить канал в Настройка → Обновления.
|
||
|
||
**Как собран.** `deploy/iso/build-iso.sh debian-13.7.0-amd64-netinst.iso bj-installer 2026.09.22 stable`
|
||
(netinst с cdimage.debian.org — качать с `curl -L`, там редирект на зеркало; SHA256 сверен).
|
||
Вшитый `bj-installer` — 2026.09.22 (код установщика не менялся с `e16d445`).
|
||
|
||
**Проверено статически, как и для 16.09:** `bj/channel = stable`, `bj/version = 2026.09.22`,
|
||
`bj/bj-installer`, `bj/bj-firstboot(.service)`, `preseed/bj.cfg` на месте; El Torito BIOS
|
||
(`isolinux.bin`) + UEFI (`efi.img`), MBR isohybrid + GPT; наш пункт по умолчанию в
|
||
`isolinux/txt.cfg` и `boot/grub/grub.cfg` с `preseed/file=/cdrom/preseed/bj.cfg`;
|
||
манифест канала `iso` подписан ключом `release`, sha256 образа `ea54ea1ff0d31303…`.
|
||
|
||
**Что установится.** Первый запуск ставит bj из канала **stable** — на 22.09 это релиз
|
||
`2026.09.22` (клиентская сборка с garble; security-фиксы H1/H2/M1–M3 и остаток аудита
|
||
включены). Лицензия Фонвьель: enterprise до 14.09.2027, модули updates / web-cabinet /
|
||
quik-mnp / quik-export / npr, до 3 узлов.
|
||
|
||
---
|
||
|
||
## Образ 2026.09.22.2 — ПЕРВЫЙ РЕАЛЬНЫЙ BOOT-ТЕСТ (22.09.2026)
|
||
|
||
На astramost нет вложенной виртуализации, поэтому загрузку проверили в **QEMU 7.2 (TCG) +
|
||
OVMF** — медленно, но честно. Все три режима доходят до меню, наш пункт выбран по умолчанию:
|
||
- **BIOS** (isolinux) — меню, «Install Bridge&Join 2026.09.22.2» выделен, подсказка
|
||
«Bridge&Join install starts in N seconds, press a key to choose»;
|
||
- **UEFI** (OVMF_CODE_4M) — grub-меню, наш пункт первый и выделен; по таймауту 10 с
|
||
стартует установщик (на 50 с — загрузка ядра);
|
||
- **UEFI + Secure Boot** (OVMF secboot + ключи Microsoft, как у VMware) — serial:
|
||
`starting Boot0001 "UEFI QEMU DVD-ROM"` → `Loading bootloader...` (строка из нашего
|
||
grub.cfg): shim и grub прошли проверку подписи.
|
||
|
||
Исправлено по итогам теста (коммит 6e8f7ad): подписи латиницей (vesamenu кириллицу не
|
||
рисует — были кракозябры), свой текст отсчёта в конце isolinux.cfg (внутри menu.cfg
|
||
подменю Advanced повторно включает stdmenu.cfg и перебивало наш autoboot из txt.cfg),
|
||
hotkey `b`, без «(Debian 13)» в подписи (обрезалось краем бокса UEFI), chmod перед
|
||
дозаписью в файл, извлечённый xorriso (0444).
|
||
|
||
Опубликован в канал `iso` как текущий: `bj-debian13-2026.09.22.2.iso`, sha256 `ff1e375d20c2360a…`,
|
||
798 294 016 байт; внутри `bj/channel = stable`, `bj-installer 2026.09.22`.
|
||
|
||
**Если VMware «не подхватывает» образ** — сам образ грузится в BIOS/UEFI/SecureBoot;
|
||
проверять настройки ВМ: CD/DVD «Connect at power on», порядок загрузки (CD первым),
|
||
целостность скачанного файла (размер/sha256), при EFI — попробовать выключить Secure Boot
|
||
для диагностики.
|
||
|
||
Рецепт boot-теста: `/tmp/…/isoboot/boottest.sh bios|uefi|secboot <iso> [сек]` —
|
||
qemu без экрана + screendump через монитор → PNG.
|