$entry->{Hv}= $1;
$entry->{Chainload} = 1;
}
- if (m/^\s*multiboot2?\s+(?:\/boot)?\/(xen\-[0-9][-+.0-9a-z]*\S+)/) {
+ if (m/^\s*multiboot2?\s+(?:\/boot)?\/(xen\-[0-9][-+.0-9a-z]*\S+)\s+(.*)/) {
die unless $entry;
$entry->{Hv}= $1;
$entry->{Chainload} = 0;
+ $entry->{HvOpts} = $2;
}
if (m/^\s*multiboot2?\s+(?:\/boot)?\/(vmlinu[xz]-(\S+))\s+(.*)/) {
die unless $entry;
# Propagate relevant fields of the main entry over to the
# chain entry for use of subsequent code.
foreach (qw(KernVer KernDom0 KernOnly KernOpts
- Initrd Xenpolicy)) {
+ Initrd Xenpolicy HvOpts)) {
next unless $entry->{$_};
die if $chainentry->{$_};
$chainentry->{$_} = $entry->{$_};
if ($need_uefi_chainload) {
my $entry= $parsemenu->();
+ my $hvopts = $entry->{HvOpts};
+ $hvopts =~ s/\$\{\w+\}//g; # delete these and hope!
my $xencfg = <<END;
[global]
default=osstest
[osstest]
-options=$xenhopt
+options=$hvopts
kernel=vmlinuz $entry->{KernOpts}
END
$xencfg .= "ramdisk=initrd.gz\n" if $entry->{Initrd};