xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: ian.jackson@eu.citrix.com
Cc: Ian Campbell <ian.campbell@citrix.com>, xen-devel@lists.xen.org
Subject: [PATCH OSSTEST v2 10/15] distros: support booting Debian PV (d-i installed) guests with pvgrub.
Date: Mon, 28 Apr 2014 11:41:31 +0100	[thread overview]
Message-ID: <1398681696-2773-10-git-send-email-ian.campbell@citrix.com> (raw)
In-Reply-To: <1398681672.29700.55.camel@kazak.uk.xensource.com>

This requires the use of the pv-grub-menu package which is in Jessie onwards.
(it is in wheezy-backports which is the subject of a subsequent flight).

The bootloader to use is specified via a runvar {Guest}_bootloader.

Adjust make-distros-flight to use pvgrub for some subset of i386 and amd64
guests to get coverage.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 Osstest/Debian.pm    |  2 +-
 make-distros-flight  | 16 ++++++++++++++++
 ts-debian-di-install | 13 +++++++++++--
 3 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 043ab0d..8946ab1 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -508,7 +508,7 @@ sub preseed_create_guest ($$;@) {
 
     my $suite= $xopts{Suite} || $c{DebianSuite};
 
-    my $extra_packages;
+    my $extra_packages = "pv-grub-menu" if $xopts{PvMenuLst};
 
     my $preseed_file= preseed_base($suite, $extra_packages, %xopts);
     $preseed_file.= (<<END);
diff --git a/make-distros-flight b/make-distros-flight
index abc24ff..a6e41e0 100755
--- a/make-distros-flight
+++ b/make-distros-flight
@@ -59,6 +59,21 @@ test_matrix_branch_filter_callback () {
 }
 
 test_do_one_netboot () {
+  stripy bootloader pygrub pvgrub \
+    "$xenarch" "i386" \
+    "$dom0arch" "amd64" \
+    "$domU" "amd64" \
+    "$dist" "sid"
+
+  case ${domU}_${dist} in
+    armhf_*) bootloader="pygrub";; # no pvgrub for arm
+
+    # Needs a menu.lst, not present in Squeeze+ due to switch to grub2,
+    # workedaround in Jessie+ with pv-grub-menu package.
+    *_squeeze) bootloader="pygrub";;
+    *_wheezy) bootloader="pygrub";;
+  esac
+
   job_create_test test-$xenarch$kern-$dom0arch-$domU-$dist-netboot \
     test-debian-di xl $xenarch $dom0arch                        \
       kernbuildjob=${bfi}build-$dom0arch-$kernbuild             \
@@ -66,6 +81,7 @@ test_do_one_netboot () {
       debian_dist=$dist                                         \
       debian_method=netboot                                     \
       debian_diver=current                                      \
+      debian_bootloader=$bootloader                             \
       all_hostflags=$most_hostflags
 }
 
diff --git a/ts-debian-di-install b/ts-debian-di-install
index a71a336..5ed15e4 100755
--- a/ts-debian-di-install
+++ b/ts-debian-di-install
@@ -89,6 +89,8 @@ sub ginstall () {
     my $arch= $r{"$gho->{Guest}_arch"};
     my $method= $r{"$gho->{Guest}_method"};
 
+    my $bl= $r{"$gho->{Guest}_bootloader"};
+
     target_cmd_root($ho, <<END);
 rm -rf /root/di
 mkdir /root/di
@@ -105,7 +107,7 @@ END
 
 	$suite = "sid" if $suite eq "daily";
 
-	$ps_url = preseed_create_guest($gho, '', Suite=>$suite);
+	$ps_url = preseed_create_guest($gho, '', Suite=>$suite, PvMenuLst=>($bl eq "pvgrub"));
 
 	$extra_disk = "";
     }
@@ -149,7 +151,14 @@ END
     guest_await_shutdown($ho,$gho,2000);
     guest_destroy($ho,$gho);
 
-    my $blcfg = <<END;
+    my $pvgrub = {
+	i386 => "/usr/local/lib/xen/boot/pv-grub-x86_32.gz",
+	amd64 => "/usr/local/lib/xen/boot/pv-grub-x86_64.gz"
+    };
+    my $blcfg = $bl eq "pvgrub" ? <<END : <<END;
+kernel = "$pvgrub->{$arch}"
+extra = "(hd0,0)/boot/grub/menu.lst"
+END
 bootloader = "pygrub"
 END
 
-- 
1.9.0

  parent reply	other threads:[~2014-04-28 10:41 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-28 10:41 [PATCH OSSTEST v2 00/15] add distro domU testing flight Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 01/15] cr-external-linux: remove Ian Campbell
2014-05-02 11:19   ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 02/15] Build against liblzma to support .xz compressed kernels Ian Campbell
2014-05-02 11:19   ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 03/15] mg-debian-installer-update: grab Xen PV domU capable images too Ian Campbell
2014-05-02 11:22   ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 04/15] TestSupport: Add helper to fetch a URL on a host Ian Campbell
2014-05-02 11:25   ` Ian Jackson
2014-05-02 12:16     ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 05/15] TestSupport: Add helper to wait for a guest to shutdown Ian Campbell
2014-05-02 11:24   ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 06/15] TestSupport: allow overring of on_* in prepareguest_part_xencfg Ian Campbell
2014-05-02 11:26   ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 07/15] TestSupport: allow caller of prepareguest_part_xencfg to specify viftype Ian Campbell
2014-05-02 11:28   ` Ian Jackson
2014-05-02 12:21     ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 08/15] Debian: add preseed_create_guest helper Ian Campbell
2014-05-02 11:33   ` Ian Jackson
2014-05-02 12:23     ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 09/15] distros: add support for installing Debian PV guests via d-i, flight and jobs Ian Campbell
2014-05-02 11:46   ` Ian Jackson
2014-05-02 12:28     ` Ian Campbell
2014-05-02 14:14       ` Ian Jackson
2014-05-02 15:19         ` Ian Campbell
2014-04-28 10:41 ` Ian Campbell [this message]
2014-05-02 13:03   ` [PATCH OSSTEST v2 10/15] distros: support booting Debian PV (d-i installed) guests with pvgrub Ian Jackson
2014-05-02 13:18     ` Ian Campbell
2014-05-02 14:18       ` Ian Jackson
2014-05-02 15:22         ` Ian Campbell
2014-05-02 15:40           ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 11/15] distros: attempt pvgrub support for PV Wheezy too Ian Campbell
2014-05-02 13:11   ` Ian Jackson
2014-05-02 13:20     ` Ian Campbell
2014-05-02 14:19       ` Ian Jackson
2014-05-02 15:23         ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 12/15] distros: support PV guest install from Debian netinst media Ian Campbell
2014-05-02 14:01   ` Ian Jackson
2014-05-02 14:07     ` Ian Campbell
2014-05-02 14:20       ` Ian Jackson
2014-04-28 10:41 ` [PATCH OSSTEST v2 13/15] Test pygrub and pvgrub on the regular flights Ian Campbell
2014-05-02 14:02   ` Ian Jackson
2014-05-02 14:07     ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 14/15] distros: add branch infrastructure Ian Campbell
2014-05-02 14:04   ` Ian Jackson
2014-05-02 14:09     ` Ian Campbell
2014-05-02 14:30       ` Ian Jackson
2014-05-02 15:25         ` Ian Campbell
2014-04-28 10:41 ` [PATCH OSSTEST v2 15/15] distros: Run a flight over the weekend Ian Campbell
2014-05-02 14:05   ` Ian Jackson
2014-04-28 11:30 ` [PATCH OSSTEST v2 00/15] add distro domU testing flight Fabio Fantoni
2014-04-28 11:32   ` Ian Campbell
2014-04-28 12:59     ` Fabio Fantoni
2014-05-15  9:14 ` Ian Campbell
2014-05-16 17:08   ` Ian Jackson
2014-05-19  9:02     ` Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1398681696-2773-10-git-send-email-ian.campbell@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).