#
# Source grub config library
#. /usr/share/grub2/grub-mkconfig_lib

. "$pkgdatadir/grub-mkconfig_lib"

    if [ -z "$boot_device_id" ]; then
        boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
    fi

boot_device_id="$(grub_get_device_id "${GRUB_DEVICE_BOOT}")"

echo -n "
menuentry 'Rescue root' --class sles --class memtest86 --class gnu --class tools \${menuentry_id_option} 'Rescue-root-${boot_device_id}' {
#    btrfs-mount-subvol / /boot/grub2/x86_64-efi /@/boot/grub2/x86_64-efi
#    btrfs-mount-subvol / /usr/local /@/usr/local
    insmod loopback
#    search --no-floppy --fs-uuid --set=root
    #set isofile='/usr/local/SLE-15-SP4-Online-x86_64-GM-Media1.iso'
    set isofile='/rescue.iso'
    set linux=linux
    set initrd=initrd
    if [ \"\${grub_platform}\"  = \"efi\" ]; then
        set linux=linuxefi
        set initrd=initrdefi
    fi
    loopback loop (\$root)\$isofile

"

    printf "    if test x\$grub_platform = xpc; then linux_suffix=16; else linux_suffix= ; fi \n"
    printf "    linux\$linux_suffix '(loop)/boot/x86_64/loader'/'linux' initrd=initrd rescue=1 install=hd:/rescue.iso \n"
    printf "    initrd\$linux_suffix '(loop)/boot/x86_64/loader'/'initrd'\n"
    printf "}\n"

echo -n "
menuentry 'Rescue hd' --class sles --class memtest86 --class gnu --class tools \${menuentry_id_option} 'Rescue-hd-${boot_device_id}' {
    insmod loopback
    set isofile='/rescue.iso'
    set linux=linux
    set initrd=initrd
    if [ \"\${grub_platform}\"  = \"efi\" ]; then
        set linux=linuxefi
        set initrd=initrdefi
    fi
    
    #change this as needed (see in grub shell output of ls)
    loopback loop (hd0,gpt1)\$isofile
    #loopback loop (hd2,msdos1)\$isofile


"

    printf "    if test x\$grub_platform = xpc; then linux_suffix=16; else linux_suffix= ; fi \n"
    printf "    linux\$linux_suffix '(loop)/boot/x86_64/loader'/'linux' initrd=initrd rescue=1 install=hd:/rescue.iso \n"
    printf "    initrd\$linux_suffix '(loop)/boot/x86_64/loader'/'initrd'\n"
    printf "}\n"


