|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH v4 5/9] Debian.pm: pass in XSM configuration to bootloader setup routines
Change to Uboot will come in another patch. GRUB 1 is ignored, as
currently OSSTest only has Wheezy which has GRUB 2.
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
Changes in v4:
1. Modify callsite of debian_boot_setup to avoid regression.
---
Osstest/Debian.pm | 32 +++++++++++++++++++++-----------
ts-xen-install | 2 +-
2 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index c446e8b..22b40ff 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -45,9 +45,9 @@ BEGIN {
#---------- manipulation of Debian bootloader setup ----------
-sub debian_boot_setup ($$$$;$) {
+sub debian_boot_setup ($$$$$;$) {
# $xenhopt==undef => is actually a guest, do not set up a hypervisor
- my ($ho, $want_kernver, $xenhopt, $distpath, $hooks) = @_;
+ my ($ho, $want_kernver, $want_xsm, $xenhopt, $distpath, $hooks) = @_;
target_kernkind_check($ho);
target_kernkind_console_inittab($ho,$ho,"/");
@@ -72,11 +72,11 @@ sub debian_boot_setup ($$$$;$) {
my $bootloader;
if ( $ho->{Flags}{'need-uboot-bootscr'} ) {
- $bootloader= setupboot_uboot($ho, $want_kernver, $xenhopt, $kopt);
+ $bootloader= setupboot_uboot($ho, $want_kernver, $want_xsm, $xenhopt,
$kopt);
} elsif ($ho->{Suite} =~ m/lenny/) {
- $bootloader= setupboot_grub1($ho, $want_kernver, $xenhopt, $kopt);
+ $bootloader= setupboot_grub1($ho, $want_kernver, $want_xsm, $xenhopt,
$kopt);
} else {
- $bootloader= setupboot_grub2($ho, $want_kernver, $xenhopt, $kopt);
+ $bootloader= setupboot_grub2($ho, $want_kernver, $want_xsm, $xenhopt,
$kopt);
}
$bootloader->{UpdateConfig}($ho);
@@ -112,8 +112,8 @@ sub bl_getmenu_open ($$$) {
return $f;
}
-sub setupboot_uboot ($$$) {
- my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
+sub setupboot_uboot ($$$$) {
+ my ($ho,$want_kernver,$want_xsm,$xenhopt,$xenkopt) = @_;
my $bl= { };
$bl->{UpdateConfig}= sub {
@@ -194,13 +194,17 @@ END
return $bl;
}
-sub setupboot_grub1 ($$$) {
- my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
+sub setupboot_grub1 ($$$$) {
+ my ($ho,$want_kernver,$want_xsm,$xenhopt,$xenkopt) = @_;
my $bl= { };
my $rmenu= "/boot/grub/menu.lst";
my $lmenu= "$stash/$ho->{Name}--menu.lst.out";
+ if ($want_xsm) {
+ die "Enabling XSM with GRUB is not supported";
+ }
+
target_editfile_root($ho, $rmenu, sub {
while (<::EI>) {
if (m/^## ## Start Default/ ..
@@ -279,8 +283,8 @@ sub setupboot_grub1 ($$$) {
# Xen kernels"
# Currently setupboot_grub2 relies on Grub menu not having submenu.
# Check Debian bug #690538.
-sub setupboot_grub2 ($$$) {
- my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
+sub setupboot_grub2 ($$$$) {
+ my ($ho,$want_kernver,$want_xsm,$xenhopt,$xenkopt) = @_;
my $bl= { };
my $rmenu= '/boot/grub/grub.cfg';
@@ -307,6 +311,9 @@ sub setupboot_grub2 ($$$) {
$entry->{KernVer} ne $want_kernver) {
logm("(skipping entry at $entry->{StartLine};".
" kernel $entry->{KernVer}, not $want_kernver)");
+ } elsif ($want_xsm && !defined $entry->{Xenpolicy}) {
+ logm("(skipping entry at $entry->{StartLine};".
+ " XSM policy file not present)");
} else {
# yes!
last;
@@ -339,6 +346,9 @@ sub setupboot_grub2 ($$$) {
if (m/^\s*module\s*\/(initrd\S+)/) {
$entry->{Initrd}= $1;
}
+ if (m/^\s*module\s*\/(xenpolicy\S+)/) {
+ $entry->{Xenpolicy}= $1;
+ }
}
die 'grub 2 bootloader entry not found' unless $entry;
diff --git a/ts-xen-install b/ts-xen-install
index 4d34d1f..910181e 100755
--- a/ts-xen-install
+++ b/ts-xen-install
@@ -171,7 +171,7 @@ sub setupboot () {
}
my $want_kernver = get_runvar('kernel_ver',$r{'kernbuildjob'});
- debian_boot_setup($ho, $want_kernver, $xenhopt, \%distpath, \@hooks);
+ debian_boot_setup($ho, $want_kernver, 0, $xenhopt, \%distpath, \@hooks);
logm("ready to boot Xen");
}
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |