summaryrefslogtreecommitdiff
path: root/configs/releng/grub/grub.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'configs/releng/grub/grub.cfg')
-rw-r--r--configs/releng/grub/grub.cfg91
1 files changed, 66 insertions, 25 deletions
diff --git a/configs/releng/grub/grub.cfg b/configs/releng/grub/grub.cfg
index 80b0d72..4266ef3 100644
--- a/configs/releng/grub/grub.cfg
+++ b/configs/releng/grub/grub.cfg
@@ -1,46 +1,87 @@
+# Load partition table and file system modules
insmod part_gpt
insmod part_msdos
insmod fat
insmod iso9660
+insmod ntfs
+insmod ntfscomp
+insmod exfat
+insmod udf
+# Use graphics-mode output
insmod all_video
-
insmod font
-
if loadfont "${prefix}/fonts/unicode.pf2" ; then
- insmod gfxterm
set gfxmode="auto"
terminal_input console
- terminal_output gfxterm
+ terminal_output console
+fi
+
+# Enable serial console
+if serial --unit=0 --speed=115200; then
+ terminal_input --append serial
+ terminal_output --append serial
fi
+# Search for the ISO volume
+if [ -z "${PARABOLAISO_UUID}" ]; then
+ if [ -z "${PARABOLAISO_HINT}" ]; then
+ regexp --set=1:PARABOLAISO_HINT '^\(([^)]+)\)' "${cmdpath}"
+ fi
+ search --no-floppy --set=root --file '%PARABOLAISO_SEARCH_FILENAME%' --hint "${PARABOLAISO_HINT}"
+ probe --set PARABOLAISO_UUID --fs-uuid "${root}"
+fi
+
+# Set default menu entry
+default=parabola
+timeout=15
+timeout_style=menu
+
# GRUB init tune for accessibility
-#
-# Morse translation table:
-# "." is "500 1 300 1"
-# "-" is "600 3 300 1"
-# " " is "100 2"
-# "/" is "100 5"
-#
-# Message: "s for blind"
-play 500 500 1 300 1 500 1 300 1 500 1 300 1 100 5 500 1 300 1 500 1 300 1 100 2 500 1 300 1 500 1 300 1 600 3 300 1 500 1 300 1 100 5 600 3 300 1 500 1 300 1 500 1 300 1 500 1 300 1 100 2 500 1 300 1 600 3 300 1 500 1 300 1 500 1 300 1 100 2 500 1 300 1 500 1 300 1 100 2 500 1 300 1 500 1 300 1 100 2 600 3 300 1 500 1 300 1 100 2 600 3 300 1 500 1 300 1 500 1 300 1
-
-menuentry "Parabola GNU/Linux-libre install medium (x86_64, UEFI)" {
+play 600 988 1 1319 4
+
+# Menu entries
+
+menuentry "Parabola GNU/Linux-libre install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'parabola' {
set gfxpayload=keep
- search --no-floppy --set=root --label %PARABOLAISO_LABEL%
- linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL%
- initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+ linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre parabolaisobasedir=%INSTALL_DIR% parabolaisodevice=UUID=${PARABOLAISO_UUID}
+ initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
}
-menuentry "Parabola GNU/Linux-libre install medium with speakup screen reader (x86_64, UEFI)" --hotkey=s {
+menuentry "Parabola GNU/Linux-libre install medium with speakup screen reader (x86_64, UEFI)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'parabola-accessibility' {
set gfxpayload=keep
- search --no-floppy --set=root --label %PARABOLAISO_LABEL%
- linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% accessibility=on
+ linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre parabolaisobasedir=%INSTALL_DIR% parabolaisodevice=UUID=${PARABOLAISO_UUID} accessibility=on
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
}
-menuentry "UEFI Shell" {
- insmod chain
- search --no-floppy --set=root --label %PARABOLAISO_LABEL%
- chainloader /shellia32.efi
+if [ "${grub_platform}" == "efi" ]; then
+ if [ "${grub_cpu}" == "x86_64" ]; then
+ menuentry "Run Memtest86+ (RAM test)" --class memtest86 --class memtest --class gnu --class tool {
+ set gfxpayload=800x600,1024x768
+ linux /boot/memtest86+/memtest.efi
+ }
+ menuentry "UEFI Shell" --class efi {
+ insmod chain
+ chainloader /shellx64.efi
+ }
+ elif [ "${grub_cpu}" == "i386" ]; then
+ menuentry "UEFI Shell" --class efi {
+ insmod chain
+ chainloader /shellia32.efi
+ }
+ fi
+
+ menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
+ fwsetup
+ }
+fi
+
+menuentry "System shutdown" --class shutdown --class poweroff {
+ echo "System shutting down..."
+ halt
+}
+
+menuentry "System restart" --class reboot --class restart {
+ echo "System rebooting..."
+ reboot
}