SHA256
1
0
forked from pool/grub2
grub2/grub2-xen-pv-firmware.cfg
Michael Chang 763229aac0 Accepting request 347723 from home:olh:branches:Base:System
- Rename grub2-xen.cfg to grub2-xen-pv-firmware.cfg (boo#926795)
- grub2-xen.cfg: to handle grub1 menu.lst in PV guest (boo#926795)

OBS-URL: https://build.opensuse.org/request/show/347723
OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=191
2015-12-08 07:55:20 +00:00

131 lines
3.9 KiB
INI

insmod part_msdos
insmod part_gpt
insmod search
insmod configfile
insmod legacy_configfile
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=""
search -s suse_cddev_content -f "/content"
search -s suse_cddev_product -f "/media.1/products"
if [ -n "${suse_cddev_content}" -a -n "${suse_cddev_product}" -a "${suse_cddev_content}" = "${suse_cddev_product}" ]; then
set suse_cddev="${suse_cddev_content}"
fi
hdcfg_list="/boot/grub2/grub.cfg \
/@/boot/grub2/grub.cfg \
/@/.snapshots/1/snapshot/boot/grub2/grub.cfg \
/.snapshots/1/snapshot/boot/grub2/grub.cfg \
/grub2/grub.cfg"
hdlst_list="/boot/grub/menu.lst \
/grub/menu.lst"
for c in ${hdcfg_list}; do
if search -s hddev -f "${c}"; then
menuentry "${hddev} Boot From Hard Disk ($c)" {
set root="${hddev}"
configfile "${c}"
}
break
fi
done
for c in ${hdlst_list}; do
if search -s hddev -f "${c}"; then
menuentry "${hddev} Boot From Hard Disk (${c})" {
set root="${hddev}"
legacy_configfile "${c}"
}
break
fi
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
if [ "${grub_cpu}" = "i386" ]; then
set suse_cdarch="i586"
else
set suse_cdarch="${grub_cpu}"
fi
set timeout=8
set root="${suse_cddev}"
set suse_cdcfg="/boot/${suse_cdarch}/grub2-xen/grub.cfg"
set suse_cdkern="/boot/${suse_cdarch}/vmlinuz-xen"
set suse_cdinitrd="/boot/${suse_cdarch}/initrd-xen"
if [ -f "${suse_cdcfg}" ]; then
menuentry "${suse_cddev} SUSE Install menu" {
set root="${suse_cddev}"
configfile "${suse_cdcfg}"
}
elif [ -f "${suse_cdkern}" -a -f "$suse_cdinitrd" ]; then
menuentry "${suse_cddev} SUSE Install" {
linux "${suse_cdkern}" linemode=1 xencons=hvc0
initrd "${suse_cdinitrd}"
}
menuentry "${suse_cddev} SUSE Rescue" {
linux "${suse_cdkern}" linemode=1 xencons=hvc0 rescue=1
initrd "${suse_cdinitrd}"
}
menuentry "${suse_cddev} SUSE Upgrade" {
linux "${suse_cdkern}" linemode=1 xencons=hvc0 upgrade=1
initrd "${suse_cdinitrd}"
}
else
echo "the device ${suse_cddev} is not xen pv bootable"
fi
fi