# https://www.supergrubdisk.org/wiki/Loopback.cfg # Search for the ISO volume search --no-floppy --set=archiso_img_dev --file "${iso_path}" probe --set archiso_img_dev_uuid --fs-uuid "${archiso_img_dev}" # 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 elif [ "${grub_platform}" == 'pc' ]; then archiso_platform='BIOS' else archiso_platform="${grub_cpu} ${grub_platform}" fi # Set default menu entry default=archlinux timeout=15 timeout_style=menu # Menu entries 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/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}" initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img } 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/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}" accessibility=on initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img } 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" -a -f '/shellia32.efi' ]; then menuentry 'UEFI Shell' --class efi { 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 }