167 lines
4.9 KiB
INI
167 lines
4.9 KiB
INI
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 \
|
|
/boot/grub/grub.cfg \
|
|
/grub/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
|
|
if [ "${hddev}" = "memdisk" ]; then
|
|
break
|
|
fi
|
|
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
|
|
if [ "${hddev}" = "memdisk" ]; then
|
|
break
|
|
fi
|
|
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
|
|
|