f7502001b0
The `grub.cfg` embedded in the GRUB binaries already sets `ARCHISO_HINT` and `ARCHISO_UUID` in most cases. To avoid performing the same searches multiple times, use the existing variables.
49 lines
1.2 KiB
INI
49 lines
1.2 KiB
INI
# 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
|
|
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 "${ARCHISO_UUID}" ]; then
|
|
if [ -z "${ARCHISO_HINT}" ]; then
|
|
regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
|
|
fi
|
|
search --no-floppy --set=root --file '/.disk/%UUID_SEARCH_FILENAME%.uuid' --hint "${ARCHISO_HINT}"
|
|
probe --set ARCHISO_UUID --fs-uuid "${root}"
|
|
fi
|
|
|
|
# Set default menu entry
|
|
default=archlinux
|
|
timeout=15
|
|
timeout_style=menu
|
|
|
|
|
|
# Menu entries
|
|
|
|
menuentry "Arch Linux (x86_64, UEFI)" --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=/dev/disk/by-uuid/${ARCHISO_UUID}
|
|
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
|
}
|