mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 19:01:39 -04:00
Some checks are pending
Backend Tests / api-tests (core) (push) Waiting to run
Backend Tests / api-tests (files) (push) Waiting to run
Backend Tests / api-tests (media) (push) Waiting to run
Backend Tests / api-tests (rest) (push) Waiting to run
Backend Tests / api-contract-tests (push) Waiting to run
Backend Tests / api-migrations-and-start (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Cypress Tests / cypress-component-tests (push) Waiting to run
Cypress Tests / cypress-e2e-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
* Debian ISO: hostname defaults to wrolpi, boot menu times out
The installer's hostname question defaulted to "debian", so an install that
kept the default was not reachable at wrolpi.local. A preseed in the
installer initrd now defaults it to wrolpi; the question is still shown (and
a DHCP-provided hostname still wins).
The ISO's GRUB and ISOLINUX menus had no timeout, so a Live USB waited at the
boot menu forever after any reboot or power loss. The menus now boot the
default entry ("Run WROLPi (live)") after 10 seconds.
check-iso.sh fails the build if either regresses.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Debian ISO: say what the wrolpi hostname is for
The image does not include avahi-daemon, so the hostname alone does not make
wrolpi.local resolve. The default still names the TLS certificate, the
SMB/NetBIOS share, and the DHCP hostname a router may publish.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
61 lines
2.3 KiB
Bash
Executable file
61 lines
2.3 KiB
Bash
Executable file
#!/bin/sh
|
|
# Rebrand the live-build generated boot menus, and boot the default entry
|
|
# ("Run WROLPi (live)") after a timeout so a Live USB comes back on its own
|
|
# after a reboot or power loss.
|
|
#
|
|
# live-build invokes binary hooks with cwd = the build's binary/ directory
|
|
# (it does `cd binary && ../hook`), so paths here are relative to binary/.
|
|
#
|
|
# live-build templates substitute @LINUX_LIVE@ etc. with text like
|
|
# "Live system (amd64)" (see /usr/lib/live/build/binary_grub_cfg) and
|
|
# similar strings into ISOLINUX live.cfg. We can't override the
|
|
# substitution source without patching live-build itself; instead this
|
|
# hook runs after the binary stage generated the files and seds the
|
|
# strings in place.
|
|
#
|
|
# splash.png on the GRUB / ISOLINUX menus is replaced via
|
|
# config/includes.binary/{boot/grub,isolinux}/splash.png — those land
|
|
# automatically and overwrite the auto-generated Debian splash (which
|
|
# contained the yellow hardhat and a "Debian GNU/Linux 12 (bookworm)
|
|
# amd64" line).
|
|
|
|
set -e
|
|
|
|
# GRUB (UEFI + grub-pc)
|
|
for f in boot/grub/grub.cfg \
|
|
boot/grub/install_start.cfg \
|
|
boot/grub/install.cfg; do
|
|
if [ -f "$f" ]; then
|
|
sed -i \
|
|
-e 's|Live system (amd64)|Run WROLPi (live)|g' \
|
|
-e 's|Live system (amd64 fail-safe mode)|Run WROLPi (live, fail-safe)|g' \
|
|
-e "s|'Start installer'|'Install WROLPi'|g" \
|
|
-e "s|'Start installer with speech synthesis'|'Install WROLPi (speech)'|g" \
|
|
"$f"
|
|
fi
|
|
done
|
|
|
|
# ISOLINUX (BIOS)
|
|
for f in isolinux/live.cfg \
|
|
isolinux/install.cfg; do
|
|
if [ -f "$f" ]; then
|
|
sed -i \
|
|
-e 's|Live system (amd64)|Run WROLPi (live)|g' \
|
|
-e 's|Live system (amd64 fail-safe mode)|Run WROLPi (live, fail-safe)|g' \
|
|
-e 's|Start ^installer|Install WROLPi|g' \
|
|
-e 's|Start installer with ^speech synthesis|Install WROLPi (speech)|g' \
|
|
"$f"
|
|
fi
|
|
done
|
|
|
|
# Boot the default entry after 10 seconds (live-build sets no timeout, so the
|
|
# menu waited forever). Any key stops the countdown.
|
|
BOOT_MENU_TIMEOUT=10
|
|
# GRUB (UEFI): grub.cfg sources config.cfg, which sets default=0.
|
|
if [ -f boot/grub/config.cfg ]; then
|
|
echo "set timeout=${BOOT_MENU_TIMEOUT}" >> boot/grub/config.cfg
|
|
fi
|
|
# ISOLINUX (BIOS): timeout is in tenths of a second; 0 waits forever.
|
|
if [ -f isolinux/isolinux.cfg ]; then
|
|
sed -i "s|^timeout 0$|timeout $((BOOT_MENU_TIMEOUT * 10))|" isolinux/isolinux.cfg
|
|
fi
|