menu: Support changing branding title screen
diff --git a/limine-pxe.bin b/limine-pxe.bin
index 2ef6eae7..20c6fdc9 100644
Binary files a/limine-pxe.bin and b/limine-pxe.bin differ
diff --git a/limine.bin b/limine.bin
index 7c9073af..877400f0 100644
Binary files a/limine.bin and b/limine.bin differ
diff --git a/stage2.map b/stage2.map
index 6ddc926b..e0cd4e56 100644
Binary files a/stage2.map and b/stage2.map differ
diff --git a/stage2/menu.c b/stage2/menu.c
index 584cc108..cb1b22cd 100644
--- a/stage2/menu.c
+++ b/stage2/menu.c
@@ -13,6 +13,8 @@
#include <mm/pmm.h>
#include <drivers/vbe.h>
+static char *menu_branding = NULL;
+
static void cursor_back(void) {
int x, y;
get_cursor_pos(&x, &y);
@@ -104,7 +106,7 @@ static char *config_entry_editor(bool *ret, const char *orig_entry) {
refresh:
clear(true);
disable_cursor();
- print("\n\n \e[36m Limine " LIMINE_VERSION " \e[37m\n\n\n");
+ print("\n\n \e[36m %s \e[37m\n\n\n", menu_branding);
print("Editing entry.\n");
print("Press esc to return to main menu and discard changes, press F10 to boot.\n");
@@ -240,6 +242,10 @@ static int print_tree(int level, int base_index, int selected_entry,
}
char *menu(char **cmdline) {
+ menu_branding = config_get_value(NULL, 0, "MENU_BRANDING");
+ if (menu_branding == NULL)
+ menu_branding = "Limine " LIMINE_VERSION;
+
if (menu_tree == NULL)
panic("Config contains no valid entries.");
@@ -343,7 +349,7 @@ char *menu(char **cmdline) {
refresh:
clear(true);
- print("\n\n \e[36m Limine " LIMINE_VERSION " \e[37m\n\n\n");
+ print("\n\n \e[36m %s \e[37m\n\n\n", menu_branding);
print("Select an entry:\n\n");
diff --git a/test/limine.cfg b/test/limine.cfg
index e7ac14f7..5b974048 100644
--- a/test/limine.cfg
+++ b/test/limine.cfg
@@ -1,3 +1,4 @@
+MENU_BRANDING=Limine's test image
DEFAULT_ENTRY=2
TIMEOUT=3
GRAPHICS=yes
