Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
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.cfg85
1 files changed, 52 insertions, 33 deletions
diff --git a/configs/releng/grub/grub.cfg b/configs/releng/grub/grub.cfg
index 1882e49..25194a3 100644
--- a/configs/releng/grub/grub.cfg
+++ b/configs/releng/grub/grub.cfg
@@ -9,28 +9,38 @@ insmod exfat
insmod udf
# Use graphics-mode output
-insmod all_video
-insmod font
if loadfont "${prefix}/fonts/unicode.pf2" ; then
- insmod gfxterm
+ insmod all_video
set gfxmode="auto"
terminal_input console
- terminal_output gfxterm
+ terminal_output console
fi
# Enable serial console
+insmod serial
+insmod usbserial_common
+insmod usbserial_ftdi
+insmod usbserial_pl2303
+insmod usbserial_usbdebug
if serial --unit=0 --speed=115200; then
terminal_input --append serial
terminal_output --append serial
fi
-# Search for the ISO volume
-if [ -z "${ARCHISO_UUID}" ]; then
- if [ -z "${ARCHISO_HINT}" ]; then
- regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
+# Get a human readable platform identifier
+if [ "${grub_platform}" == 'efi' ]; then
+ archiso_platform='UEFI'
+ if [ "${grub_cpu}" == 'x86_64' ]; then
+ archiso_platform="x64 ${archiso_platform}"
+ elif [ "${grub_cpu}" == 'i386' ]; then
+ archiso_platform="IA32 ${archiso_platform}"
+ else
+ archiso_platform="${grub_cpu} ${archiso_platform}"
fi
- search --no-floppy --set=root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}"
- probe --set ARCHISO_UUID --fs-uuid "${root}"
+elif [ "${grub_platform}" == 'pc' ]; then
+ archiso_platform='BIOS'
+else
+ archiso_platform="${grub_cpu} ${grub_platform}"
fi
# Set default menu entry
@@ -38,36 +48,41 @@ default=archlinux
timeout=15
timeout_style=menu
-# GRUB init tune for accessibility
-play 600 988 1 1319 4
# Menu entries
-menuentry "Arch Linux install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
+menuentry "Arch Linux install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
set gfxpayload=keep
- linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID}
- initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+ linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
+ initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
}
-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' {
+menuentry "Arch Linux install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
set gfxpayload=keep
- linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} accessibility=on
- initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+ linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on
+ initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
}
-if [ "${grub_platform}" == "efi" ]; then
- if [ "${grub_cpu}" == "x86_64" ]; then
- menuentry "Run Memtest86+ (RAM test)" --class memtest86 --class gnu --class tool {
- set gfxpayload=800x600,1024x768
- linux /boot/memtest86+/memtest.efi
- }
- menuentry "UEFI Shell" {
- insmod chain
+
+if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then
+ menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool {
+ set gfxpayload=800x600,1024x768
+ linux /boot/memtest86+/memtest.efi
+ }
+fi
+if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then
+ menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool {
+ set gfxpayload=800x600,1024x768
+ linux /boot/memtest86+/memtest
+ }
+fi
+if [ "${grub_platform}" == 'efi' ]; then
+ if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then
+ menuentry 'UEFI Shell' --class efi {
chainloader /shellx64.efi
}
- elif [ "${grub_cpu}" == "i386" ]; then
- menuentry "UEFI Shell" {
- insmod chain
+ elif [ "${grub_cpu}" == "i386" -a -f '/shellia32.efi' ]; then
+ menuentry 'UEFI Shell' --class efi {
chainloader /shellia32.efi
}
fi
@@ -77,12 +92,16 @@ if [ "${grub_platform}" == "efi" ]; then
}
fi
-menuentry "System shutdown" --class shutdown --class poweroff {
- echo "System shutting down..."
+menuentry 'System shutdown' --class shutdown --class poweroff {
+ echo 'System shutting down...'
halt
}
-menuentry "System restart" --class reboot --class restart {
- echo "System rebooting..."
+menuentry 'System restart' --class reboot --class restart {
+ echo 'System rebooting...'
reboot
}
+
+
+# GRUB init tune for accessibility
+play 600 988 1 1319 4