# 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=raveos
timeout=15
timeout_style=menu

# Menu entries
menuentry "RaveOS install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'raveos' {
 set gfxpayload=keep
 linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}" copytoram=n
 initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.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
}