From ac7a19d41ee5eb1271c46fbc620b2f98dffa2230 Mon Sep 17 00:00:00 2001 From: Joseph Mingrone Date: Mon, 23 Jun 2025 17:47:20 -0300 Subject: [PATCH] lualoader: Add distinct brand for installer Make it obvious to users that the system is booting into the installer. Reviewed by: kevans, manu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51001 --- release/Makefile | 3 +++ stand/images/Makefile | 3 ++- stand/images/freebsd-install-brand-rev.png | Bin 0 -> 7724 bytes stand/lua/Makefile | 1 + stand/lua/gfx-install.lua | 24 +++++++++++++++++++++ 5 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 stand/images/freebsd-install-brand-rev.png create mode 100644 stand/lua/gfx-install.lua diff --git a/release/Makefile b/release/Makefile index 5875a22a5bf..d7721cf4ccd 100644 --- a/release/Makefile +++ b/release/Makefile @@ -245,6 +245,7 @@ disc1: ${PKGBASE_REPO} echo debug.witness.trace=0 >> ${.TARGET}/etc/sysctl.conf echo vfs.mountroot.timeout=\"10\" >> ${.TARGET}/boot/loader.conf echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf + echo loader_brand=\"install\" >> ${.TARGET}/boot/loader.conf echo loader_menu_multi_user_prompt=\"Installer\" >> ${.TARGET}/boot/loader.conf cp ${.CURDIR}/rc.local ${.TARGET}/etc echo "./etc/resolv.conf type=link uname=root gname=wheel mode=0644 link=/tmp/bsdinstall_etc/resolv.conf" >> ${.TARGET}/METALOG @@ -284,6 +285,7 @@ bootonly: echo debug.witness.trace=0 >> ${.TARGET}/etc/sysctl.conf echo vfs.mountroot.timeout=\"10\" >> ${.TARGET}/boot/loader.conf echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf + echo loader_brand=\"install\" >> ${.TARGET}/boot/loader.conf echo loader_menu_multi_user_prompt=\"Installer\" >> ${.TARGET}/boot/loader.conf cp ${.CURDIR}/rc.local ${.TARGET}/etc echo "./etc/resolv.conf type=link uname=root gname=wheel mode=0644 link=/tmp/bsdinstall_etc/resolv.conf" >> ${.TARGET}/METALOG @@ -338,6 +340,7 @@ dvd: ${PKGBASE_REPO} echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf echo debug.witness.trace=0 >> ${.TARGET}/etc/sysctl.conf echo vfs.mountroot.timeout=\"10\" >> ${.TARGET}/boot/loader.conf + echo loader_brand=\"install\" >> ${.TARGET}/boot/loader.conf echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf echo loader_menu_multi_user_prompt=\"Installer\" >> ${.TARGET}/boot/loader.conf cp ${.CURDIR}/rc.local ${.TARGET}/etc diff --git a/stand/images/Makefile b/stand/images/Makefile index d1e7d124dfa..2f45b989e0a 100644 --- a/stand/images/Makefile +++ b/stand/images/Makefile @@ -1,6 +1,7 @@ .include -FILES+= freebsd-brand-rev.png freebsd-brand.png freebsd-logo-rev.png +FILES+= freebsd-brand-rev.png freebsd-brand.png freebsd-install-brand-rev.png \ + freebsd-logo-rev.png FILESDIR= /boot/images diff --git a/stand/images/freebsd-install-brand-rev.png b/stand/images/freebsd-install-brand-rev.png new file mode 100644 index 0000000000000000000000000000000000000000..59d173d3f8b35c26a0a2da4b0f944b465572702f GIT binary patch literal 7724 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 +-- +-- SPDX-License-Identifier: BSD-2-Clause +-- + +return { + brand = { + ascii = { + image = { + " _____ ____ ____ ____ ___ _ _ _", + "| ___| __ ___ ___| __ ) ___|| _ \\ |_ _|_ __ ___| |_ __ _| | | ___ _ __", + "| |_ | '__/ _ \\/ _ \\ _ \\___ \\| | | | | || '_ \\/ __| __/ _` | | |/ _ \\ '__|", + "| _|| | | __/ __/ |_) |__) | |_| | | || | | \\__ \\ || (_| | | | __/ |", + "|_| |_| \\___|\\___|____/____/|____/ |___|_| |_|___/\\__\\__,_|_|_|\\___|_|", + }, + requires_color = false, + }, + fb = { + image = "/boot/images/freebsd-install-brand-rev.png", + width = 80, + }, + } +}