From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 14 Jan 2014 13:12:23 -0500 Subject: [PATCH] Make 10_linux work with our changes for linux16 and linuxefi on aarch64 Signed-off-by: Peter Jones --- util/grub.d/10_linux.in | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in index 11f50d5730b..c889b47db59 100644 --- a/util/grub.d/10_linux.in +++ b/util/grub.d/10_linux.in @@ -86,9 +86,18 @@ linux_entry () type="$3" args="$4" - sixteenbit="" + linuxcmd=linux + initrdcmd=initrd case "$machine" in - i?86|x86_64) sixteenbit="16" ;; + i?86|x86_64) + if [ -d /sys/firmware/efi ]; then + linuxcmd=linuxefi + initrdcmd=initrdefi + else + linuxcmd=linux16 + initrdcmd=linux16 + fi + ;; esac if [ -z "$boot_device_id" ]; then @@ -143,13 +152,6 @@ linux_entry () fi printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" fi - if [ -d /sys/firmware/efi ]; then - linuxcmd=linuxefi - initrdcmd=initrdefi - else - linuxcmd=linux${sixteenbit} - initrdcmd=initrd${sixteenbit} - fi sed "s/^/$submenu_indentation/" << EOF ${linuxcmd} ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} EOF @@ -162,6 +164,13 @@ EOF done sed "s/^/$submenu_indentation/" << EOF ${initrdcmd} $(echo $initrd_path) +EOF + fi + if test -n "${fdt}" ; then + message="$(gettext_printf "Loading fdt ...")" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$message" | grub_quote)' + devicetree ${rel_dirname}/${fdt} EOF fi sed "s/^/$submenu_indentation/" << EOF @@ -245,6 +254,14 @@ while [ "x$list" != "x" ] ; do gettext_printf "Found initrd image: %s\n" "$(echo $initrd_display)" >&2 fi + fdt= + for i in "dtb-${version}" "dtb-${alt_version}"; do + if test -e "${dirname}/${i}/foundation-v8.dtb" ; then + fdt="${i}/foundation-v8.dtb" + 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