grub-lakitu: REDHAT: MASTER-SB: Use "linuxefi" and "initrdefi" where appropriate.

(cherry picked from commit ecd6ad1851e916227584440987326647e74d5b98)
(from master-sb branch of https://github.com/rhboot/grub2)

BUG=b:69569602
TEST=TBD

Change-Id: Ib77027035d3ca026326fdf9b4b46f009a3b4607a
Reviewed-on: https://chromium-review.googlesource.com/945886
Reviewed-by: Edward Jee <edjee@google.com>
Commit-Queue: Edward Jee <edjee@google.com>
Tested-by: Edward Jee <edjee@google.com>
Trybot-Ready: Edward Jee <edjee@google.com>
diff --git a/grub-lakitu/util/grub.d/10_linux.in b/grub-lakitu/util/grub.d/10_linux.in
index de9044c..d284930 100644
--- a/grub-lakitu/util/grub.d/10_linux.in
+++ b/grub-lakitu/util/grub.d/10_linux.in
@@ -129,17 +129,31 @@
     printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
   fi
   message="$(gettext_printf "Loading Linux %s ..." ${version})"
-  sed "s/^/$submenu_indentation/" << EOF
+  if [ -d /sys/firmware/efi ]; then
+    sed "s/^/$submenu_indentation/" << EOF
+	echo	'$(echo "$message" | grub_quote)'
+	linuxefi ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
+EOF
+  else
+    sed "s/^/$submenu_indentation/" << EOF
 	echo	'$(echo "$message" | grub_quote)'
 	linux	${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
 EOF
+  fi
   if test -n "${initrd}" ; then
     # TRANSLATORS: ramdisk isn't identifier. Should be translated.
     message="$(gettext_printf "Loading initial ramdisk ...")"
-    sed "s/^/$submenu_indentation/" << EOF
+    if [ -d /sys/firmware/efi ]; then
+      sed "s/^/$submenu_indentation/" << EOF
 	echo	'$(echo "$message" | grub_quote)'
+	initrdefi ${rel_dirname}/${initrd}
+EOF
+    else
+      sed "s/^/$submenu_indentation/" << EOF
+	echo	'$message'
 	initrd	${rel_dirname}/${initrd}
 EOF
+    fi
   fi
   sed "s/^/$submenu_indentation/" << EOF
 }