util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64
This patch adds the support of xen_boot command for aarch64: xen_hypervisor xen_module These two commands are only for aarch64, since it has its own protocol and commands to boot xen hypervisor and Dom0, but not multiboot. For other architectures, they are still using multiboot and module commands. Signed-off-by: Fu Wei <fu.wei@linaro.org> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
3418e2bd52
commit
911910089b
1 changed files with 11 additions and 3 deletions
|
@ -122,16 +122,16 @@ linux_entry ()
|
||||||
else
|
else
|
||||||
xen_rm_opts="no-real-mode edd=off"
|
xen_rm_opts="no-real-mode edd=off"
|
||||||
fi
|
fi
|
||||||
multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
|
${xen_loader} ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
|
||||||
echo '$(echo "$lmessage" | grub_quote)'
|
echo '$(echo "$lmessage" | grub_quote)'
|
||||||
module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
|
${module_loader} ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
|
||||||
EOF
|
EOF
|
||||||
if test -n "${initrd}" ; then
|
if test -n "${initrd}" ; then
|
||||||
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
|
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
|
||||||
message="$(gettext_printf "Loading initial ramdisk ...")"
|
message="$(gettext_printf "Loading initial ramdisk ...")"
|
||||||
sed "s/^/$submenu_indentation/" << EOF
|
sed "s/^/$submenu_indentation/" << EOF
|
||||||
echo '$(echo "$message" | grub_quote)'
|
echo '$(echo "$message" | grub_quote)'
|
||||||
module --nounzip ${rel_dirname}/${initrd}
|
${module_loader} --nounzip ${rel_dirname}/${initrd}
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
sed "s/^/$submenu_indentation/" << EOF
|
sed "s/^/$submenu_indentation/" << EOF
|
||||||
|
@ -206,6 +206,14 @@ while [ "x${xen_list}" != "x" ] ; do
|
||||||
if [ "x$is_top_level" != xtrue ]; then
|
if [ "x$is_top_level" != xtrue ]; then
|
||||||
echo " submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
|
echo " submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
|
||||||
fi
|
fi
|
||||||
|
$grub_file --is-arm64-efi $current_xen
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
xen_loader="multiboot"
|
||||||
|
module_loader="module"
|
||||||
|
else
|
||||||
|
xen_loader="xen_hypervisor"
|
||||||
|
module_loader="xen_module"
|
||||||
|
fi
|
||||||
while [ "x$list" != "x" ] ; do
|
while [ "x$list" != "x" ] ; do
|
||||||
linux=`version_find_latest $list`
|
linux=`version_find_latest $list`
|
||||||
gettext_printf "Found linux image: %s\n" "$linux" >&2
|
gettext_printf "Found linux image: %s\n" "$linux" >&2
|
||||||
|
|
Loading…
Reference in a new issue