summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2015-12-24 18:14:00 +0100
committer Eric Hameleers <alien@slackware.com>2015-12-24 18:14:00 +0100
commit6ba105175195ed6d8575b82c5193b0d34f1ac8ee (patch)
treedfef8af6434d663bdd089ddb5528c1407fc450d6
parentb9bfd78b1956e1c5e0bae3ee183d10b5744a12d7 (diff)
downloadliveslak-6ba105175195ed6d8575b82c5193b0d34f1ac8ee.tar.gz
liveslak-6ba105175195ed6d8575b82c5193b0d34f1ac8ee.tar.xz
Add a themed GRUB2 menu for UEFI boot, these are the actual files used.
-rw-r--r--EFI/BOOT/grub-embedded.cfg2
-rw-r--r--EFI/BOOT/grub.cfg92
-rw-r--r--EFI/BOOT/theme/dejavusansmono.pf2bin0 -> 121271 bytes
-rw-r--r--EFI/BOOT/theme/liveslak.txt44
-rw-r--r--EFI/BOOT/theme/swlogog.pngbin0 -> 19491 bytes
-rw-r--r--EFI/BOOT/theme/unicode.pf2bin0 -> 2560080 bytes
-rw-r--r--EFI/BOOT/tools.cfg43
-rw-r--r--grub.tpl127
8 files changed, 98 insertions, 210 deletions
diff --git a/EFI/BOOT/grub-embedded.cfg b/EFI/BOOT/grub-embedded.cfg
index b9008a8..998ec63 100644
--- a/EFI/BOOT/grub-embedded.cfg
+++ b/EFI/BOOT/grub-embedded.cfg
@@ -1,2 +1,2 @@
-search --file --set=root /boot/generic
+search --file --no-floppy --set=root /EFI/BOOT/SLACKWARELIVE
set prefix=($root)/EFI/BOOT/
diff --git a/EFI/BOOT/grub.cfg b/EFI/BOOT/grub.cfg
index 43dbe72..658721b 100644
--- a/EFI/BOOT/grub.cfg
+++ b/EFI/BOOT/grub.cfg
@@ -1,91 +1 @@
-set default="0"
-set timeout="30"
-set hidden_timeout_quiet=false
-
-menuentry "Detect/isolinux any installed operating system" {
- configfile "/EFI/BOOT/osdetect.cfg"
-}
-
-menuentry "Slackware64 14.2 live in English (USA)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=us tz=US/Pacific locale=en_US.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Dutch" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=nl tz=Europe/Amsterdam locale=nl_NL.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in French" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=fr tz=Europe/Paris locale=fr_FR.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in German" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=de tz=Europe/Berlin locale=de_DE.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Greek" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=us tz=Europe/Athens locale=el_GR.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Norwegian" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=no-latin1 tz=Europe/Oslo locale=nb_NO.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Polish" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=pl tz=Europe/Warsaw locale=pl_PL.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Portuguese (Brazil)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=br-abnt2 tz=America/Sao_Paulo locale=pt_BR.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Portuguese (Portugal)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=pt-latin1 tz=Europe/Lisbon locale=pt_PT.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Russian" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=ruwin_cplk-UTF-8 tz=Europe/Moscow locale=ru_RU.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Spanish (Latin America)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=la-latin1 tz=America/Costa_Rica locale=es_CR.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Swedish" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=sv-latin1 tz=Europe/Stockholm locale=sv_SE.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Turkish" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=trq tz=Europe/Istanbul locale=tr_TR.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware64 14.2 live in Ukrainian" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=ua tz=Europe/Kiev locale=uk_UA.utf8
- initrd /boot/initrd.img
-}
+source ($root)/EFI/BOOT/menu/grub.cfg
diff --git a/EFI/BOOT/theme/dejavusansmono.pf2 b/EFI/BOOT/theme/dejavusansmono.pf2
new file mode 100644
index 0000000..008acd4
--- /dev/null
+++ b/EFI/BOOT/theme/dejavusansmono.pf2
Binary files differ
diff --git a/EFI/BOOT/theme/liveslak.txt b/EFI/BOOT/theme/liveslak.txt
new file mode 100644
index 0000000..d11a5b1
--- /dev/null
+++ b/EFI/BOOT/theme/liveslak.txt
@@ -0,0 +1,44 @@
+# -- Slackware Live Edition --
+# In grub.cfg add:
+# set theme=($root)/EFI/BOOT/theme/liveslak.txt
+# export theme
+#
+# Global Properties:
+#title-text: "GRUB Slackware Live Edition"
+title-text: ""
+#title-font: "Unknown Regular 16"
+title-font: "DejaVu Sans Mono 10"
+title-color: "#5569B9"
+desktop-image: "/EFI/BOOT/theme/swlogog.png"
+desktop-color: "#000000"
+
+# Show the boot menu
++ boot_menu {
+ left = 5%
+ top = 35%
+ width = 70%
+ height = 45%
+ #item_font = "Unknown Regular 16"
+ item_font = "DejaVu Sans Mono 10"
+ item_color = "lightgrey"
+ selected_item_color = "red"
+ item_height = 15
+ item_padding = 5 # Vertical spacing between menuentries.
+ item_spacing = 5
+}
+
+# Show a horizontal progress bar
++ progress_bar {
+ text = ""
+ id = "__timeout__"
+ left = 5%
+ width = 90%
+ top = 85%
+ height = 5
+ #font = "Unknown Regular 16"
+ font = "DejaVu Sans Mono 5"
+ text_color = "red"
+ fg_color = "#5569B9"
+ bg_color = "#000000"
+ border_color = "#333333"
+}
diff --git a/EFI/BOOT/theme/swlogog.png b/EFI/BOOT/theme/swlogog.png
new file mode 100644
index 0000000..9c0fb26
--- /dev/null
+++ b/EFI/BOOT/theme/swlogog.png
Binary files differ
diff --git a/EFI/BOOT/theme/unicode.pf2 b/EFI/BOOT/theme/unicode.pf2
new file mode 100644
index 0000000..57b682a
--- /dev/null
+++ b/EFI/BOOT/theme/unicode.pf2
Binary files differ
diff --git a/EFI/BOOT/tools.cfg b/EFI/BOOT/tools.cfg
deleted file mode 100644
index 22675b2..0000000
--- a/EFI/BOOT/tools.cfg
+++ /dev/null
@@ -1,43 +0,0 @@
-# This file is part of Super GRUB2 Disk.
-#
-# Copyright (C) 2013 Adrian Gibanel
-#
-# Super GRUB2 Disk is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Super GRUB2 Disk is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# This script contains several helper functions used in other cfg files .
-
-
-
-# Function: searchindevice
-# According to global variables
-# Return 0 (true) if the device should be searched for OS / cfgs / etc.
-# Return 1 (false) if it should not be searched
-#
-# Device should be entered without ()
-# Input example: fd0
-#
-# TODO: To be simplified when test function is fixed in upstream GRUB2
-function searchindevice {
-
- set device=$1
-
- if [ '(' "$device" != "fd0" -a "$device" != "cd" ')' \
- -o \
- '(' "$device" = "fd0" -a "$fd0search" = "yes" ')' \
- -o \
- '(' "$device" = "cd" -a "$cdsearch" = "yes" ')' ] \
- ; then
- return 0;
- else
- return 1;
- fi
-
-}
diff --git a/grub.tpl b/grub.tpl
index 8dc19a2..cfecd04 100644
--- a/grub.tpl
+++ b/grub.tpl
@@ -1,91 +1,68 @@
-set default="0"
-set timeout="30"
-set hidden_timeout_quiet=false
+#
+# GRUB menu template for Slackware Live Edition
+#
+set grubdir="($root)/EFI/BOOT"
+export grubdir
-menuentry "Detect/boot any installed operating system" {
- configfile "/EFI/BOOT/osdetect.cfg"
-}
-
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (US English)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 tz=US/Pacific locale=en_US.utf8 kbd=@KBD@
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Dutch)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=nl tz=Europe/Amsterdam locale=nl_NL.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (French)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=fr tz=Europe/Paris locale=fr_FR.utf8
- initrd /boot/initrd.img
-}
+set default=0
+set timeout=20
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (German)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=de tz=Europe/Berlin locale=de_DE.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Greek)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=us tz=Europe/Athens locale=el_GR.utf8
- initrd /boot/initrd.img
-}
-
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Norwegian)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=no-latin1 tz=Europe/Oslo locale=nb_NO.utf8
- initrd /boot/initrd.img
-}
+# Slackware Live defaults, can be changed in submenus:
+if [ -z "$sl_kbd" ]; then
+ set sl_kbd="us"
+ export sl_kbd
+fi
+if [ -z "$sl_tz" ]; then
+ set sl_tz="US/Pacific"
+ export sl_tz
+fi
+if [ -z "$sl_lang" ]; then
+ set sl_lang="us american"
+ export sl_lang
+fi
+if [ -z "$sl_locale" ]; then
+ set sl_locale="en_US.utf8"
+ export sl_locale
+fi
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Polish)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=pl tz=Europe/Warsaw locale=pl_PL.utf8
- initrd /boot/initrd.img
-}
+# Determine whether we can show a graphical themed menu:
+insmod font
+if loadfont $grubdir/theme/dejavusansmono.pf2 ; then
+ set gfxmode=auto,640x480
+ export gfxmode
+ # (U)EFI requirement: must support all_video:
+ insmod all_video
+ insmod gfxterm
+ insmod gfxmenu
+ terminal_output gfxterm
+ insmod gettext
+ insmod png
+ set theme=$grubdir/theme/liveslak.txt
+ export theme
+fi
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Portuguese - Brazil)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=br-abnt2 tz=America/Sao_Paulo locale=pt_BR.utf8
- initrd /boot/initrd.img
+menuentry "Start Slackware@DIRSUFFIX@ @LIVEDE@ Live ($sl_lang)" --hotkey b {
+ linux ($root)/boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=$sl_kbd tz=$sl_tz locale=$sl_locale
+ initrd ($root)/boot/initrd.img
}
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Portuguese - Portugal)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=pt-latin1 tz=Europe/Lisbon locale=pt_PT.utf8
- initrd /boot/initrd.img
+submenu "Non-US Keyboard selection" --hotkey k {
+ configfile $grubdir/kbd.cfg
}
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Russian)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=ruwin_cplk-UTF-8 tz=Europe/Moscow locale=ru_RU.utf8
- initrd /boot/initrd.img
+submenu "Non-US Language selection" --hotkey l {
+ configfile $grubdir/lang.cfg
}
-menuentry "Slackware64 14.2 live in Spanish (Latin America)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=la-latin1 tz=America/Costa_Rica locale=es_CR.utf8
- initrd /boot/initrd.img
+submenu "Non-US Timezone selection" --hotkey t {
+ configfile $grubdir/tz.cfg
}
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Swedish)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=sv-latin1 tz=Europe/Stockholm locale=sv_SE.utf8
- initrd /boot/initrd.img
+menuentry "Detect/boot any installed operating system" {
+ configfile $grubdir/osdetect.cfg
}
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Turkish)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=trq tz=Europe/Istanbul locale=tr_TR.utf8
- initrd /boot/initrd.img
+menuentry "Memory test with memtest86+" {
+ linux ($root)/boot/memtest
}
-menuentry "Slackware@DIRSUFFIX@ @SL_VERSION@ Live (Ukrainian)" {
- echo "Loading kernel and initrd. Please wait..."
- linux /boot/generic load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=ua tz=Europe/Kiev locale=uk_UA.utf8
- initrd /boot/initrd.img
-}