aboutsummaryrefslogtreecommitdiffstats
path: root/main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch
diff options
context:
space:
mode:
authorWilliam Johansson <radar@radhuset.org>2020-01-11 13:24:43 +0100
committerNatanael Copa <ncopa@alpinelinux.org>2020-01-14 10:39:55 +0000
commit6b9be75ec9776ac0f8ced9d888106194ae61b4f0 (patch)
tree86418254d9b0c7fcb58d9b5c1a7bbf9f571b3cf1 /main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch
parent47ba8c67dbdd4b53888cee1506187aca44d683b2 (diff)
downloadaports-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.patch64
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
+