Files
felhom.eu/scripts/iso/grub/grub-release.cfg.tmpl
T
admin 31eeb36e88
gates / gates (push) Successful in 22s
ISO 1.29.0 PUBLISHED — bilingual console, proven on both menu entries (R-559)
Live at iso.felhom.eu, sha256 dceacae5da247d76cad065bf6c0d3bbefac8d8a5f8e571
db2fd8449a97e94829, and both download pages now name it.

Every gate criterion is recorded with its OBSERVED value in
documentation/tests/iso-release-1.29.0-2026-09-18/ — including two proof
installs from the published bytes, one per boot-menu entry, each with a first
boot AND one reboot: /etc/issue bilingual with zero hits for 8006, pvebanner
masked, package 1.29.0 installed, unit enabled and fired, pairing code present,
and the installed script byte-identical to repo HEAD. G11: the downloaded bytes
hash to the published checksum.

A defect was caught BETWEEN builds by looking at the screen rather than at the
config: the second menu entry read "Felhom telepítés (szöveges mód) / Install
Felhom (text mode)" — 58 characters — and the GRUB menu box cut it at "Instal".
The English half was unreadable on the boot screen. Shortened to "… / text" and
rebuilt; the published image is the rebuilt one. The Hungarian half is the part
that may not change, so the English half is the part that gave.

Teardown: VMs 323/324/325 destroyed, the two unclaimed appliance registrations
discarded (zero left in `registered`), guest 9201 untouched — 23 containers
before and after. The two stale *.rootpw.txt files were shredded from the
publish source directory before the upload ran from it (R-587, files gone; the
guard that would stop it recurring is still open).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-18 21:16:57 +02:00

81 lines
2.9 KiB
Cheetah

# Felhom PUBLIC RELEASE ISO — GRUB menu. GENERATED by iso-repack.sh (FELHOM_MENU=release).
#
# TWO entries, both INTERACTIVE, and that is the whole design.
#
# WHY NOT THE AUTOMATED ENTRY: SPIKE-universal-iso-1 measured that no udev property distinguishes an
# internal system disk from a customer's external backup drive (ID_BUS is `ata` for BOTH on a SATA
# drive in a USB caddy; no removability property is exposed at all; NVMe carries a different property
# set), and that a filter matching two disks does NOT fail safe — the installer silently picks one and
# wipes it, while validate-answer accepts the answer. There is therefore no safe automated disk
# selection for hardware nobody has seen. The stock installer already shows the target disk and a
# `Bootdisk(s)` summary before erasing, so the human doing the choosing is the safety mechanism.
#
# WHY THE GRAPHICAL ENTRY IS DEFAULT: a tester who boots the stick and walks away must not land on a
# destructive unattended path. The default is the one that waits for a person.
#
# WHY timeout=15: SPIKE-universal-iso-2 lost an entire probe to the installed system's 1-SECOND menu.
# A human reading two options on unfamiliar hardware needs longer than a machine does. Note
# `timeout_style` (underscore) — the stock PVE config writes `timeout-style`, which GRUB does not
# recognise as a variable name at all, so the stock menu's own timeout directive is inert.
#
# The `linux` / `initrd` lines are lifted VERBATIM by iso-repack.sh from the stock ISO's own Graphical
# and Terminal-UI entries, so a PVE version bump that changes the kernel path tracks automatically
# instead of silently diverging from a copy frozen here.
insmod gzio
insmod iso9660
insmod png
insmod gfxmenu
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
font=$prefix/unicode.pf2
fi
set gfxmode=1024x768,800x600,640x480
set gfxpayload=1024x768
if loadfont $font; then
if test "${grub_platform}" = "efi"; then
insmod efi_gop
insmod efi_uga
fi
insmod video_bochs
insmod video_cirrus
insmod all_video
insmod gfxterm
set theme=/boot/grub/felhomtheme/theme.txt
export theme
terminal_input console
terminal_output gfxterm
fi
insmod serial
insmod usbserial_common
insmod usbserial_ftdi
insmod usbserial_pl2303
insmod usbserial_usbdebug
if serial --unit=0 --speed=115200; then
terminal_input --append serial
terminal_output --append serial
fi
set timeout_style=menu
set timeout=15
set default=0
menuentry 'Felhom telepítés / Install Felhom' --class felhom --class os {
echo 'A Felhom telepítése indul — válassza ki a lemezt a telepítőben...'
@@LINUX_GFX@@
echo 'Rendszerbetöltő betöltése...'
@@INITRD@@
}
menuentry 'Felhom telepítés (szöveges mód) / text' --class felhom --class os {
echo 'A Felhom telepítése indul szöveges módban...'
@@LINUX_TUI@@
echo 'Rendszerbetöltő betöltése...'
@@INITRD@@
}