File grub2-xen-pv-firmware.cfg of Package grub2

insmod part_msdos
insmod part_gpt
insmod search
insmod configfile
insmod legacy_configfile
insmod lvm
insmod mdraid09
insmod mdraid1x 

set debian_cddev=""
set debian_cdarch=""
if [ "${grub_cpu}" = "x86_64" ]; then
    debian_cdarch="amd" 
fi
if [ "${grub_cpu}" = "i386" ]; then
    debian_cdarch="i386" 
fi
if [ -n "${debian_cdarch}" ]; then
    set debian_kern="/install.${debian_cdarch}/xen/vmlinuz"
    set debian_initrd="/install.${debian_cdarch}/xen/initrd.gz"
    search -s debian_domUcfg -f "/install.${debian_cdarch}/xen/debian.cfg"
    search -s debian_cdkern -f "${debian_kern}"
    search -s debian_cdinitrd -f "${debian_initrd}"
    if [ -n "${debian_domUcfg}" -a -n "${debian_cdinitrd}" -a -n "${debian_cdkern}" -a "${debian_domUcfg}" = "${debian_cdinitrd}" -a "${debian_domUcfg}" = "${debian_cdkern}" ]; then
        debian_cddev="${debian_domUcfg}"
    fi
fi

set fedora_cddev=""
if [ "${grub_cpu}" = "x86_64" ]; then
    set fedora_kern="/images/pxeboot/vmlinuz"
    set fedora_initrd="/images/pxeboot/initrd.img"
    search -s fedora_cdkern -f "${fedora_kern}"
    search -s fedora_cdinitrd -f "${fedora_initrd}"
    if [ -n "${fedora_cdkern}" -a -n "${fedora_cdinitrd}" -a "${fedora_cdkern}" = "${fedora_cdinitrd}" ]; then
        set fedora_cddev="${fedora_cdkern}"
    fi
fi

set suse_cddev=""
if [ "${grub_cpu}" = "i386" ]; then
    set suse_cdarch="i586" 
else
    set suse_cdarch="${grub_cpu}" 
fi
if [ -n "${suse_cdarch}" ]; then
    set suse_kern="/boot/${suse_cdarch}/loader/linux"
    set suse_initrd="/boot/${suse_cdarch}/loader/initrd"
    search -s suse_cdkern -f "${suse_kern}"
    search -s suse_cdinitrd -f "${suse_initrd}"
    if [ -n "${suse_cdkern}" -a -n "${suse_cdinitrd}" -a "${suse_cdkern}" = "${suse_cdinitrd}" ]; then
        set suse_cddev="${suse_cdkern}"
    fi
fi

set hdcfg_list="\
/boot/grub2/grub.cfg \
/grub2/grub.cfg\
"

set hdlst_list="\
/boot/grub/menu.lst \
/grub/menu.lst\
"

for c in ${hdcfg_list}; do
    btrfs_relative_path=1
    if search -s hddev -f "${c}"; then
        btrfs_relative_path=0
        menuentry "${hddev} Boot From Hard Disk (${c})" "${hddev}" "${c}" {
            set root="${2}"
            set cfg="${3}"
            btrfs-get-default-subvol -p -o btrfs_default_subvol ($root)
            if [ -n "${btrfs_default_subvol}" ]; then
                configfile "${btrfs_default_subvol}${cfg}"
            else
                configfile "${cfg}"
            fi
        }
        break
    fi
    btrfs_relative_path=0
done

for c in ${hdlst_list}; do
    btrfs_relative_path=1
    if search -s hddev -f "${c}"; then
        btrfs_relative_path=0
        menuentry "${hddev} Boot From Hard Disk (${c})" "${hddev}" "${c}" {
            set root="${2}"
            set cfg="${3}"
            btrfs-get-default-subvol -p -o btrfs_default_subvol ($root)
            if [ -n "${btrfs_default_subvol}" ]; then
                legacy_configfile "${btrfs_default_subvol}${cfg}"
            else
                legacy_configfile "${cfg}"
            fi
        }
        break
    fi
    btrfs_relative_path=0
done

set timeout=0
if [ -n "${debian_cddev}" ]; then
    set timeout=8
    menuentry "${debian_cddev} Debian Install" {
        set root="${debian_cddev}"
        linux "${debian_kern}" ignore_loglevel
        initrd "${debian_initrd}"
    }
fi

if [ -n "${fedora_cddev}" ]; then
    set timeout=8
    menuentry "${fedora_cddev} Fedora Install" {
        set root="${fedora_cddev}"
        linux "${fedora_kern}" ignore_loglevel
        initrd "${fedora_initrd}"
    }
    menuentry "${fedora_cddev} Fedora Rescue" {
        set root="${fedora_cddev}"
        linux "${fedora_kern}" ignore_loglevel rescue
        initrd "${fedora_initrd}"
    }
fi

if [ -n "${suse_cddev}" ]; then
    set timeout=8
    set root="${suse_cddev}"
    set suse_cdcfg="/boot/${suse_cdarch}/grub2-xen/grub.cfg"
    if [ -e "/boot/${suse_cdarch}/vmlinuz-xen" ]; then
        set suse_kern="/boot/${suse_cdarch}/vmlinuz-xen"
        set suse_initrd="/boot/${suse_cdarch}/initrd-xen"
    fi
    if [ -f "${suse_cdcfg}" ]; then
        menuentry "${suse_cddev} SUSE Install menu" {
        set root="${suse_cddev}"
        configfile "${suse_cdcfg}"
        }
    elif [ -f "${suse_kern}" -a -f "$suse_initrd" ]; then
        menuentry "${suse_cddev} SUSE Install" {
            linux "${suse_kern}" xencons=hvc0 
            initrd "${suse_initrd}"
        }
        menuentry "${suse_cddev} SUSE Rescue" {
            linux "${suse_kern}" xencons=hvc0 rescue=1
            initrd "${suse_initrd}"
        }
        menuentry "${suse_cddev} SUSE Upgrade" {
            linux "${suse_kern}" xencons=hvc0 upgrade=1
            initrd "${suse_initrd}"
        }
    else
        echo "the device ${suse_cddev} is not xen pv bootable"
    fi
fi

openSUSE Build Service is sponsored by