Fix module loading in the 20_linux_xen script

Resolves: rhbz#1858364

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
This commit is contained in:
Javier Martinez Canillas 2021-02-08 13:30:04 +01:00
parent f9736ec085
commit ca5becb9a3
No known key found for this signature in database
GPG Key ID: C751E590D63F3D69

View File

@ -5,27 +5,43 @@ Subject: [PATCH] 20_linux_xen: load xen or multiboot{,2} modules as needed.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
--- ---
util/grub.d/20_linux_xen.in | 3 +++ util/grub.d/20_linux_xen.in | 5 +++++
1 file changed, 3 insertions(+) 1 file changed, 5 insertions(+)
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
index 1519ec692fe..9aa23bc7d51 100644 index 1519ec692fe..b6e4608db6e 100644
--- a/util/grub.d/20_linux_xen.in --- a/util/grub.d/20_linux_xen.in
+++ b/util/grub.d/20_linux_xen.in +++ b/util/grub.d/20_linux_xen.in
@@ -136,6 +136,8 @@ linux_entry () @@ -136,6 +136,7 @@ linux_entry ()
else else
xen_rm_opts="no-real-mode edd=off" xen_rm_opts="no-real-mode edd=off"
fi fi
+ insmod ${module_loader} + insmod ${xen_module}
+ insmod ${xen_loader}
${xen_loader} ${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_loader} ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args} ${module_loader} ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
@@ -149,6 +151,7 @@ EOF @@ -149,6 +150,7 @@ EOF
done done
sed "s/^/$submenu_indentation/" << EOF sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)' echo '$(echo "$message" | grub_quote)'
+ insmod ${module_loader} + insmod ${xen_module}
${module_loader} --nounzip $(echo $initrd_path) ${module_loader} --nounzip $(echo $initrd_path)
EOF EOF
fi fi
@@ -225,13 +227,16 @@ while [ "x${xen_list}" != "x" ] ; do
echo " submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
fi
if ($grub_file --is-arm64-efi $current_xen); then
+ xen_module="xen_boot"
xen_loader="xen_hypervisor"
module_loader="xen_module"
else
if ($grub_file --is-x86-multiboot2 $current_xen); then
+ xen_module="multiboot2"
xen_loader="multiboot2"
module_loader="module2"
else
+ xen_module="multiboot"
xen_loader="multiboot"
module_loader="module"
fi