[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command s
From: |
Fu Wei |
Subject: |
Re: [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64 |
Date: |
Tue, 9 May 2017 17:39:16 +0800 |
Hi Vladimir
On 9 May 2017 at 17:02, Fu Wei <address@hidden> wrote:
> Hi Vladimir
>
> On 9 May 2017 at 14:59, Vladimir 'phcoder' Serbinenko <address@hidden> wrote:
>>
>>
>> Le Tue, May 2, 2017 à 9:06 AM, <address@hidden> a écrit :
>>>
>>> From: Fu Wei <address@hidden>
>>>
>>> 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 <address@hidden>
>>> ---
>>> util/grub.d/20_linux_xen.in | 13 ++++++++++---
>>> 1 file changed, 10 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
>>> index c48af94..9777719 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,13 @@ 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
>>> + if [ "x$machine" != xaarch64 ]; then
>>
>> Machine of grub-mkconfig doesn't necessarily match the kernel. Think of
>> chroot or of having 32-bit userspace with 64-bit kernel. Better to do this
>> on runtime. I know, it's not very nice but the whole grub-mkconfig is
>> trouble that needs redesign that I'm working on.
>
> So if we need to do this at run time(in grub shell), can I use
> "grub_cpu" variable instead?
Dose this patch make sense to you?
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
index c48af94..0c26cbb 100644
--- a/util/grub.d/20_linux_xen.in
+++ b/util/grub.d/20_linux_xen.in
@@ -122,16 +122,23 @@ linux_entry ()
else
xen_rm_opts="no-real-mode edd=off"
fi
- multiboot ${rel_xen_dirname}/${xen_basename} placeholder
${xen_args} \${xen_rm_opts}
+ if [ "x\$grub_cpu" != xarm64 ]; then
+ xen_loader="multiboot"
+ module_loader="module"
+ else
+ xen_loader="xen_hypervisor"
+ module_loader="xen_module"
+ fi
+ \${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
>
> Thanks!
>
>>>
>>> + 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.9.3
>>>
>>
>
>
>
> --
> Best regards,
>
> Fu Wei
> Software Engineer
> Red Hat
--
Best regards,
Fu Wei
Software Engineer
Red Hat
- [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, (continued)
- [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, fu . wei, 2017/05/02
- Re: [Xen-devel] [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, Andrew Cooper, 2017/05/03
- Re: [Xen-devel] [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, Stefano Stabellini, 2017/05/04
- Re: [Xen-devel] [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, Fu Wei, 2017/05/05
- Re: [Xen-devel] [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, Andrew Cooper, 2017/05/05
- Re: [Xen-devel] [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, Fu Wei, 2017/05/05
- Re: [Xen-devel] [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, Julien Grall, 2017/05/05
- Re: [Xen-devel] [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, Fu Wei, 2017/05/05
Re: [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64, Vladimir 'phcoder' Serbinenko, 2017/05/09
[PATCH v7 3/3] arm64: update the introduction of xen boot commands in docs/grub.texi, fu . wei, 2017/05/02
Re: [PATCH v7 0/3] arm64, xen: add xen_boot support into grup-mkconfig, Fu Wei, 2017/05/02
Re: [PATCH v7 0/3] arm64, xen: add xen_boot support into grup-mkconfig, Daniel Kiper, 2017/05/04