YaST Install Hypervisor and Tools failing for Xen with encrypted root

I am trying to install Xen using YaST Install Hypervisor and Tools with both Xen server and Xen tools selected.

The system has four disks of the same size with /dev/sd[abcd]3 configured as cr_md0. The root filesystem is an XFS logical volume on the encrypted RAID.

$ mount | grep ‘sda[12]’
/dev/sda2 on /boot type ext4 (rw,relatime,stripe=4,data=ordered)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)

The system boots and runs successfully with the default kernel.

When I click Accept YaST downloads and installs packages as expected until the *Updating grub2 configuration files… *stage when a pop-up box appears with An error occurred during boot loader installation. Retry boot loader configuration?. Replying Yes tnen *OK *returns to the same pop-up box. Replying No allows the task to run to completion. However, the contents of /boot/grub2/grub.cfg is truncated from *### END /etc/grub.d/20_linux_xen ###.
*
The system will not boot into Xen. The keyboard / language is English UK.

Any advice on how to fix this (or investigate it further)?

Run “grub2-mkconfig -o /tmp/grub.cfg” and paste output here. Name does not matter - just so it does not print on screen.

grub2-mkconfig -o /tmp/grub.cfg

Generating grub configuration file …
Found linux image: /boot/vmlinuz-4.3.0-2-xen
Skip xenlinux kernel /boot/vmlinuz-4.3.0-2-xen
Found linux image: /boot/vmlinuz-4.3.0-2-default
Found initrd image: /boot/initrd-4.3.0-2-default
Found linux image: /boot/vmlinuz-4.3.0-1-xen
Skip xenlinux kernel /boot/vmlinuz-4.3.0-1-xen
Found linux image: /boot/vmlinuz-4.3.0-1-default
Found initrd image: /boot/initrd-4.3.0-1-default
Found linux image: /boot/vmlinuz-xen
Skip xenlinux kernel /boot/vmlinuz-xen
Found hypervisor: /boot/xen-4.5.1_13-1.gz
Found linux image: /boot/vmlinuz-4.3.0-2-xen
Found initrd image: /boot/initrd-4.3.0-2-xen
cp: cannot stat ‘/vmlinuz-4.3.0-2-xen’: No such file or directory

ls -l /boot/vmlinuz-4.3.0-2-xen

-rw-r–r-- 1 root root 5249440 Nov 17 19:39 /boot/vmlinuz-4.3.0-2-xen

ls -l /tmp/grub.cfg*

-rw------- 1 root root 4769 Dec 7 09:48 /tmp/grub.cfg.new

cat /tmp/grub.cfg.new

DO NOT EDIT THIS FILE

It is automatically generated by grub2-mkconfig using templates

from /etc/grub.d and settings from /etc/default/grub

BEGIN /etc/grub.d/00_header

if -f ${config_directory}/grubenv ]; then
load_env -f ${config_directory}/grubenv
elif -s $prefix/grubenv ]; then
load_env
fi

if “${env_block}” ] ; then
load_env -f “${env_block}”
fi

if “${next_entry}” ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
if “${env_block}” ] ; then
save_env -f “${env_block}” next_entry
fi
set boot_once=true
else
set default="${saved_entry}"
fi

if x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="–id"
else
menuentry_id_option=""
fi

export menuentry_id_option

if “${prev_saved_entry}” ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if -z “${boot_once}” ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}

function load_video {
if x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

terminal_input console
terminal_output console
if x${boot_once} = xtrue ]; then
set timeout=0
elif x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=0

Fallback normal timeout code in case the timeout_style feature is

unavailable.

else
set timeout=0
fi

END /etc/grub.d/00_header

BEGIN /etc/grub.d/00_tuned

set tuned_params=""

END /etc/grub.d/00_tuned

BEGIN /etc/grub.d/10_linux

menuentry ‘openSUSE Tumbleweed’ --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-simple-7e4d2207-3ed9-432b-be45-243f9d5fec93’ {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root=‘hd0,gpt2’
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 f316037f-c9d2-4ed3-b9c3-e88fa2e6934c
else
search --no-floppy --fs-uuid --set=root f316037f-c9d2-4ed3-b9c3-e88fa2e6934c
fi
echo ‘Loading Linux 4.3.0-2-default …’
linuxefi /vmlinuz-4.3.0-2-default root=UUID=7e4d2207-3ed9-432b-be45-243f9d5fec93 quiet splash=silent
echo ‘Loading initial ramdisk …’
initrdefi /initrd-4.3.0-2-default
}
submenu ‘Advanced options for openSUSE Tumbleweed’ --hotkey=1 $menuentry_id_option ‘gnulinux-advanced-7e4d2207-3ed9-432b-be45-243f9d5fec93’ {
menuentry ‘openSUSE Tumbleweed, with Linux 4.3.0-2-default’ --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-4.3.0-2-default-advanced-7e4d2207-3ed9-432b-be45-243f9d5fec93’ {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root=‘hd0,gpt2’
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 f316037f-c9d2-4ed3-b9c3-e88fa2e6934c
else
search --no-floppy --fs-uuid --set=root f316037f-c9d2-4ed3-b9c3-e88fa2e6934c
fi
echo ‘Loading Linux 4.3.0-2-default …’
linuxefi /vmlinuz-4.3.0-2-default root=UUID=7e4d2207-3ed9-432b-be45-243f9d5fec93 quiet splash=silent
echo ‘Loading initial ramdisk …’
initrdefi /initrd-4.3.0-2-default
}
menuentry ‘openSUSE Tumbleweed, with Linux 4.3.0-1-default’ --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-4.3.0-1-default-advanced-7e4d2207-3ed9-432b-be45-243f9d5fec93’ {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root=‘hd0,gpt2’
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 f316037f-c9d2-4ed3-b9c3-e88fa2e6934c
else
search --no-floppy --fs-uuid --set=root f316037f-c9d2-4ed3-b9c3-e88fa2e6934c
fi
echo ‘Loading Linux 4.3.0-1-default …’
linuxefi /vmlinuz-4.3.0-1-default root=UUID=7e4d2207-3ed9-432b-be45-243f9d5fec93 quiet splash=silent
echo ‘Loading initial ramdisk …’
initrdefi /initrd-4.3.0-1-default
}
}

END /etc/grub.d/10_linux

BEGIN /etc/grub.d/20_linux_xen

menuentry ‘openSUSE Tumbleweed, with Xen hypervisor’ --class opensuse --class gnu-linux --class gnu --class os --class xen $menuentry_id_option ‘xen-gnulinux-simple-7e4d2207-3ed9-432b-be45-243f9d5fec93’ {
echo ‘Loading Xen 4.5.1_13-1 with Linux 4.3.0-2-xen …’
chainloader $cmdpath/xen-4.5.1_13-1.efi xen-4.5.1_13-1.efi config.1
}

Please open bug report on bugzilla.opensuse.org (use same account as here) against Tumbleweed, Bootloader component. Attach the same output of gurb2-mkconfig; also tell whether you are using BIOS or EFI for booting as well as grub2 version (rpm -q grub2).

https://bugzilla.opensuse.org/show_bug.cgi?id=958193

Will add grub2 version information when I get home.