From 3a9beae11946c36743fcb7100c44c3e93f042efe Mon Sep 17 00:00:00 2001 From: lrnselfreliance <33263708+lrnselfreliance@users.noreply.github.com> Date: Tue, 20 Oct 2026 14:59:37 -0600 Subject: [PATCH] Debian ISO: WROLPi banner in the graphical installer (#841) The installer opened with Debian's "debian 13" banner. Debian's derivative guidelines say derivatives must not be presented as Debian, and its trademark policy forbids implying endorsement, so the installer now shows a WROLPi banner in the boot splash's style (pie logo, WROLPi, "Off-grid library", purple accent). The banner replaces rootskel-gtk's logo_debian.png and logo_debian_dark.png (logo_installer*.png link to them) via config/includes.installer, which live-build adds to the installer initrd. It is 800x75 like Debian's; the installer stretches its edge columns to the screen width, so the edges are solid color. check-iso.sh fails the build if the graphical installer's initrd does not carry it. Co-authored-by: Claude Opus 5.5 --- debian-live-config/check-iso.sh | 13 +++++++++++++ .../usr/share/graphics/logo_debian.png | Bin 0 -> 10685 bytes .../usr/share/graphics/logo_debian_dark.png | Bin 0 -> 10685 bytes 3 files changed, 13 insertions(+) create mode 100644 debian-live-config/config/includes.installer/usr/share/graphics/logo_debian.png create mode 100644 debian-live-config/config/includes.installer/usr/share/graphics/logo_debian_dark.png diff --git a/debian-live-config/check-iso.sh b/debian-live-config/check-iso.sh index 3529970a..9fda743c 100755 --- a/debian-live-config/check-iso.sh +++ b/debian-live-config/check-iso.sh @@ -100,6 +100,19 @@ for initrd in install/initrd.gz install/gtk/initrd.gz; do fi done +# The graphical installer should show the WROLPi banner, not Debian's (see +# config/includes.installer/usr/share/graphics/). +BANNER_DIR="$(dirname "$0")/config/includes.installer/usr/share/graphics" +mkdir -p "${TMP}/gtk" +bsdtar -xOf "${ISO}" install/gtk/initrd.gz 2>/dev/null \ + | bsdtar -xf - -C "${TMP}/gtk" usr/share/graphics 2>/dev/null +for banner in logo_debian.png logo_debian_dark.png; do + if ! cmp -s "${BANNER_DIR}/${banner}" "${TMP}/gtk/usr/share/graphics/${banner}"; then + echo "ERROR: install/gtk/initrd.gz does not have the WROLPi installer banner ${banner}." >&2 + FAILED=1 + fi +done + if [ "${FAILED}" -ne 0 ]; then exit 1 fi diff --git a/debian-live-config/config/includes.installer/usr/share/graphics/logo_debian.png b/debian-live-config/config/includes.installer/usr/share/graphics/logo_debian.png new file mode 100644 index 0000000000000000000000000000000000000000..a97301e5cf535902da93a45cf03837890f9dd536 GIT binary patch literal 10685 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