diff -urN grub-2.02.orig/util/grub.d/10_linux.in grub-2.02/util/grub.d/10_linux.in --- grub-2.02.orig/util/grub.d/10_linux.in 2017-04-24 04:15:50.000000000 -0500 +++ grub-2.02/util/grub.d/10_linux.in 2017-05-25 15:58:11.559658295 -0500 @@ -135,11 +135,27 @@ EOF if test -n "${initrd}" ; then # TRANSLATORS: ramdisk isn't identifier. Should be translated. + if test -n "${intel_ucode}" ; then + message="$(gettext_printf "Loading intel microcode and initial ramdisk ...")" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$message" | grub_quote)' + initrd ${rel_dirname}/${intel_ucode} ${rel_dirname}/${initrd} +EOF + else message="$(gettext_printf "Loading initial ramdisk ...")" sed "s/^/$submenu_indentation/" << EOF echo '$(echo "$message" | grub_quote)' initrd ${rel_dirname}/${initrd} EOF + fi + else + if test -n "${intel_ucode}" ; then + message="$(gettext_printf "Loading intel microcode ...")" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$message" | grub_quote)' + initrd ${rel_dirname}/${intel_ucode} +EOF + fi fi sed "s/^/$submenu_indentation/" << EOF } @@ -203,6 +219,15 @@ fi done + intel_ucode= + for i in "early-ucode.cpio" "early-ucode.cpio.gz" \ + "intel-ucode.img" "intel-ucode.img.gz"; do + if test -e "${dirname}/${i}" ; then + intel_ucode="$i" + break + fi + done + config= for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do if test -e "${i}" ; then @@ -216,6 +241,10 @@ initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"` fi + if test -n "${intel_ucode}" ; then + gettext_printf "Found intel-ucode image: %s\n" "${dirname}/${intel_ucode}" >&2 + fi + if test -n "${initrd}" ; then gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2 elif test -z "${initramfs}" ; then