2013-07-10 10:49:45 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
# This file generates the old menu.lst configuration with grub2
|
|
|
|
# It was copied from tomheadys github repo:
|
|
|
|
# https://github.com/tomheady/ec2debian/blob/master/src/root/etc/grub.d/40_custom
|
|
|
|
|
|
|
|
prefix=/usr
|
|
|
|
exec_prefix=${prefix}
|
|
|
|
bindir=${exec_prefix}/bin
|
|
|
|
libdir=${exec_prefix}/lib
|
|
|
|
. ${libdir}/grub/grub-mkconfig_lib
|
|
|
|
|
|
|
|
export TEXTDOMAIN=grub
|
|
|
|
export TEXTDOMAINDIR=${prefix}/share/locale
|
|
|
|
|
2013-07-10 16:34:48 +02:00
|
|
|
GRUB_DEVICE=/dev/sda1
|
2013-07-10 10:49:45 +02:00
|
|
|
|
|
|
|
|
|
|
|
cat << EOF
|
2013-07-30 13:03:08 +02:00
|
|
|
set default=${GRUB_DEFAULT}
|
|
|
|
set timeout=${GRUB_TIMEOUT}
|
2013-07-26 15:33:16 +02:00
|
|
|
insmod part_msdos
|
2013-07-30 11:21:09 +02:00
|
|
|
insmod ext2
|
2013-07-26 15:33:16 +02:00
|
|
|
insmod gettext
|
|
|
|
set menu_color_normal=cyan/blue
|
2013-07-30 13:03:08 +02:00
|
|
|
set menu_color_highlight=white/blue
|
2013-07-26 15:33:16 +02:00
|
|
|
set root='(hd0,msdos1)'
|
2013-07-10 10:49:45 +02:00
|
|
|
EOF
|
|
|
|
|
|
|
|
if ${GRUB_HIDDEN_TIMEOUT:-false}; then
|
|
|
|
printf "hiddenmenu\n"
|
|
|
|
fi
|
|
|
|
|
|
|
|
linux_entry ()
|
|
|
|
{
|
|
|
|
os="$1"
|
|
|
|
version="$2"
|
|
|
|
args="$4"
|
|
|
|
|
|
|
|
title="$(gettext_quoted "%s, with Linux %s")"
|
|
|
|
|
|
|
|
cat << EOF
|
2013-07-30 13:03:08 +02:00
|
|
|
menuentry 'Debian GNU/Linux for OpenNebula, ${version}' --class debian --class gnu-linux --class os {
|
2013-07-26 15:33:16 +02:00
|
|
|
insmod part_msdos
|
2013-07-30 11:21:09 +02:00
|
|
|
insmod ext2
|
2013-07-30 13:03:08 +02:00
|
|
|
set timeout=${GRUB_TIMEOUT}
|
2013-07-26 15:33:16 +02:00
|
|
|
set root='(hd0,msdos1)'
|
|
|
|
echo 'Loading Linux ${version}'
|
|
|
|
linux ${rel_dirname}/${basename} root=${GRUB_DEVICE} ro ${args}
|
|
|
|
echo 'Loading initial ramdisk ...'
|
2013-07-10 10:49:45 +02:00
|
|
|
initrd ${rel_dirname}/${initrd}
|
2013-07-26 15:33:16 +02:00
|
|
|
}
|
2013-07-10 10:49:45 +02:00
|
|
|
EOF
|
|
|
|
}
|
|
|
|
|
|
|
|
list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* ; do
|
|
|
|
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
|
|
|
|
done`
|
|
|
|
prepare_boot_cache=
|
|
|
|
|
|
|
|
while [ "x$list" != "x" ] ; do
|
|
|
|
linux=`version_find_latest $list`
|
|
|
|
basename=`basename $linux`
|
|
|
|
dirname=`dirname $linux`
|
|
|
|
rel_dirname=`make_system_path_relative_to_its_root $dirname`
|
|
|
|
version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
|
|
|
|
alt_version=`echo $version | sed -e "s,\.old$,,g"`
|
|
|
|
linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
|
|
|
|
|
|
|
|
initrd=
|
|
|
|
for i in "initrd.img-${version}" "initrd-${version}.img" \
|
|
|
|
"initrd-${version}" "initramfs-${version}.img" \
|
|
|
|
"initrd.img-${alt_version}" "initrd-${alt_version}.img" \
|
|
|
|
"initrd-${alt_version}" "initramfs-${alt_version}.img"; do
|
|
|
|
if test -e "${dirname}/${i}" ; then
|
|
|
|
initrd="$i"
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
initramfs=
|
|
|
|
for i in "config-${version}" "config-${alt_version}"; do
|
|
|
|
if test -e "${dirname}/${i}" ; then
|
|
|
|
initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${dirname}/${i}" | cut -f2 -d= | tr -d \"`
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
linux_entry "${OS}" "${version}" \
|
|
|
|
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
|
|
|
|
|
|
|
|
list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
|
|
|
|
done
|