diff options
author | William Johansson <radar@radhuset.org> | 2020-01-11 13:24:43 +0100 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2020-01-14 10:39:55 +0000 |
commit | 6b9be75ec9776ac0f8ced9d888106194ae61b4f0 (patch) | |
tree | 86418254d9b0c7fcb58d9b5c1a7bbf9f571b3cf1 /main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch | |
parent | 47ba8c67dbdd4b53888cee1506187aca44d683b2 (diff) | |
download | aports-6b9be75ec9776ac0f8ced9d888106194ae61b4f0.tar.bz2 aports-6b9be75ec9776ac0f8ced9d888106194ae61b4f0.tar.xz |
main/grub: fix booting Xen under EFI
Need to use multiboot2 while booting Xen under EFI, and not multiboot as
is used when generating grub.cfg with grub-mkconfig.
Backport commits included in upstream Grub 2.04.
Diskless setups are not affected, as grub.cfg is generated manually by
the mkimage scipts.
Diffstat (limited to 'main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch')
-rw-r--r-- | main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch b/main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch new file mode 100644 index 0000000000..350180b49a --- /dev/null +++ b/main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch @@ -0,0 +1,64 @@ +From cb8fc4eee92e19fe2977026ba45bad6ecf68f55f Mon Sep 17 00:00:00 2001 +From: Fu Wei <fu.wei@linaro.org> +Date: Sun, 14 May 2017 15:43:46 +0800 +Subject: [PATCH 1/3] 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> +(cherry picked from commit d33045ce7ffcb7c1e4a60c14d5ca64b36e3c5abe) +--- + util/grub.d/20_linux_xen.in | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in +index c48af948d..c002fc9f9 100644 +--- a/util/grub.d/20_linux_xen.in ++++ b/util/grub.d/20_linux_xen.in +@@ -122,16 +122,16 @@ linux_entry () + else + xen_rm_opts="no-real-mode edd=off" + 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)' +- 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 + if test -n "${initrd}" ; then + # TRANSLATORS: ramdisk isn't identifier. Should be translated. + message="$(gettext_printf "Loading initial ramdisk ...")" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$message" | grub_quote)' +- module --nounzip ${rel_dirname}/${initrd} ++ ${module_loader} --nounzip ${rel_dirname}/${initrd} + EOF + fi + sed "s/^/$submenu_indentation/" << EOF +@@ -206,6 +206,14 @@ while [ "x${xen_list}" != "x" ] ; do + 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' {" + 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 + linux=`version_find_latest $list` + gettext_printf "Found linux image: %s\n" "$linux" >&2 +-- +2.24.1 + |