2009-03-29 Robert Millan <rmh@aybabtu.com>

* util/grub.d/10_linux.in (linux_entry): New function.
        Factorize generation of Linux boot entries.
This commit is contained in:
robertmh 2009-03-29 02:23:12 +00:00
parent 5709cfc4d1
commit ae68f4234b
2 changed files with 28 additions and 31 deletions

View file

@ -1,3 +1,8 @@
2009-03-29 Robert Millan <rmh@aybabtu.com>
* util/grub.d/10_linux.in (linux_entry): New function.
Factorize generation of Linux boot entries.
2009-03-29 Yoshinori K. Okuji <okuji@enbug.org> 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
Make the format of Environment Block plain text. The boot loader Make the format of Environment Block plain text. The boot loader

View file

@ -93,6 +93,25 @@ find_latest ()
echo "$a" echo "$a"
} }
linux_entry ()
{
cat << EOF
menuentry "$1" {
EOF
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
cat << EOF
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro $2
EOF
if test -n "${initrd}" ; then
cat << EOF
initrd ${rel_dirname}/${initrd}
EOF
fi
cat << EOF
}
EOF
}
list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
done` done`
@ -122,37 +141,10 @@ while [ "x$list" != "x" ] ; do
linux_root_device_thisversion=${GRUB_DEVICE} linux_root_device_thisversion=${GRUB_DEVICE}
fi fi
cat << EOF linux_entry "${OS}, linux ${version}" \
menuentry "${OS}, linux ${version}" { "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
EOF linux_entry "${OS}, linux ${version} (recovery mode)" \
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/" "single ${GRUB_CMDLINE_LINUX}"
cat << EOF
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}
EOF
if test -n "${initrd}" ; then
cat << EOF
initrd ${rel_dirname}/${initrd}
EOF
fi
cat << EOF
}
EOF
cat << EOF
menuentry "${OS}, linux ${version} (recovery mode)" {
EOF
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
cat << EOF
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro single ${GRUB_CMDLINE_LINUX}
EOF
if test -n "${initrd}" ; then
cat << EOF
initrd ${rel_dirname}/${initrd}
EOF
fi
cat << EOF
}
EOF
list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '` list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
done done