On Tue, May 9, 2017, 11:02 Fu Wei fu.wei@linaro.org wrote:
Hi Vladimir
On 9 May 2017 at 14:59, Vladimir 'phcoder' Serbinenko phcoder@gmail.com wrote:
Le Tue, May 2, 2017 à 9:06 AM, fu.wei@linaro.org a écrit :
From: Fu Wei fu.wei@linaro.org
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
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?
Yes, you can. Another possibility, probably better, is to check actual file type, see grub-file
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