2022-06-26 09:59:47 +00:00
# Load partition table and file system modules
2022-05-25 14:50:49 +00:00
insmod part_gpt
insmod part_msdos
insmod fat
insmod iso9660
2023-01-22 11:32:54 +00:00
insmod ntfs
insmod ntfscomp
insmod exfat
insmod udf
2022-05-25 14:50:49 +00:00
2022-06-26 09:59:47 +00:00
# Use graphics-mode output
2022-05-25 14:50:49 +00:00
insmod all_video
insmod font
if loadfont "${prefix}/fonts/unicode.pf2" ; then
set gfxmode = "auto"
terminal_input console
2023-02-27 18:31:45 +00:00
terminal_output console
2022-05-25 14:50:49 +00:00
fi
2022-06-26 09:59:47 +00:00
# Enable serial console
if serial --unit = 0 --speed=115200; then
terminal_input --append serial
terminal_output --append serial
fi
2023-01-22 10:17:51 +00:00
# Search for the ISO volume
2023-01-28 12:04:15 +00:00
if [ -z "${ARCHISO_UUID}" ]; then
if [ -z "${ARCHISO_HINT}" ]; then
regexp --set = 1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
fi
2023-02-09 09:16:52 +00:00
search --no-floppy --set = root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}"
2023-01-28 12:04:15 +00:00
probe --set ARCHISO_UUID --fs-uuid "${root}"
fi
2023-01-22 10:17:51 +00:00
2022-06-26 09:59:47 +00:00
# Set default menu entry
2022-06-18 06:15:01 +00:00
default = archlinux
timeout = 15
timeout_style = menu
2022-05-25 14:50:49 +00:00
# GRUB init tune for accessibility
2022-06-18 12:53:03 +00:00
play 600 988 1 1319 4
2022-05-25 14:50:49 +00:00
2022-06-26 09:59:47 +00:00
# Menu entries
2022-06-18 06:15:01 +00:00
menuentry "Arch Linux install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
2022-05-25 14:50:49 +00:00
set gfxpayload = keep
2023-02-22 08:57:27 +00:00
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir = %INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID}
2022-05-25 14:50:49 +00:00
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
}
2022-06-18 06:15:01 +00:00
menuentry "Arch Linux install medium with speakup screen reader (x86_64, UEFI)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
2022-05-25 14:50:49 +00:00
set gfxpayload = keep
2023-02-22 08:57:27 +00:00
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir = %INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} accessibility=on
2022-05-25 14:50:49 +00:00
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
}
2022-06-10 05:36:03 +00:00
if [ "${grub_platform}" = = "efi" ]; then
if [ "${grub_cpu}" = = "x86_64" ]; then
2023-05-14 15:10:02 +00:00
menuentry "Run Memtest86+ (RAM test)" --class memtest86 --class memtest --class gnu --class tool {
2022-12-03 09:56:18 +00:00
set gfxpayload = 800x600,1024x768
2022-10-27 08:04:42 +00:00
linux /boot/memtest86+/memtest.efi
2022-12-03 09:56:18 +00:00
}
2023-05-14 15:10:02 +00:00
menuentry "UEFI Shell" --class efi {
2022-06-10 05:36:03 +00:00
insmod chain
chainloader /shellx64.efi
}
elif [ "${grub_cpu}" = = "i386" ]; then
2023-05-14 15:10:02 +00:00
menuentry "UEFI Shell" --class efi {
2022-06-10 05:36:03 +00:00
insmod chain
chainloader /shellia32.efi
}
fi
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
2022-06-18 06:15:01 +00:00
fwsetup
}
2022-06-10 05:36:03 +00:00
fi
2022-06-18 06:15:01 +00:00
menuentry "System shutdown" --class shutdown --class poweroff {
echo "System shutting down..."
halt
2022-05-25 14:50:49 +00:00
}
2022-06-10 05:36:03 +00:00
2022-06-18 06:15:01 +00:00
menuentry "System restart" --class reboot --class restart {
echo "System rebooting..."
reboot
2022-06-18 12:53:03 +00:00
}