--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -21,8 +21,11 @@
 exec_prefix="@exec_prefix@"
 datarootdir="@datarootdir@"
 
+. /etc/update-extlinux.conf
 . "$pkgdatadir/grub-mkconfig_lib"
 
+GRUB_CMDLINE_LINUX_DEFAULT="modules=${modules} ${default_kernel_opts} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+
 export TEXTDOMAIN=@PACKAGE@
 export TEXTDOMAINDIR="@localedir@"
 
@@ -75,6 +78,7 @@
   version="$2"
   type="$3"
   args="$4"
+  tag="$(basename ${rel_dirname}/${basename} | cut -b9-)"
 
   if [ -z "$boot_device_id" ]; then
       boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
@@ -133,6 +137,7 @@
 	echo	'$(echo "$message" | grub_quote)'
 	linux	${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
 EOF
+  [ -f "/boot/initramfs-${tag}" ] && initrd="initramfs-${tag}"
   if test -n "${initrd}" ; then
     # TRANSLATORS: ramdisk isn't identifier. Should be translated.
     message="$(gettext_printf "Loading initial ramdisk ...")"