* [PATCH OSSTEST 1/7] ts-logs-capture: Collect /var/log/xen/bootloader.*.log
2015-08-06 12:44 [PATCH OSSTEST 0/7] Fixes for distros-debian-* flights on armhf Ian Campbell
@ 2015-08-06 12:44 ` Ian Campbell
2015-08-12 15:30 ` Ian Jackson
2015-08-06 12:44 ` [PATCH OSSTEST 2/7] ts-debian-di-install: Use exit/poweroff in preference to exit/always_halt Ian Campbell
` (5 subsequent siblings)
6 siblings, 1 reply; 19+ messages in thread
From: Ian Campbell @ 2015-08-06 12:44 UTC (permalink / raw)
To: ian.jackson, xen-devel; +Cc: Ian Campbell
This is the pygrub debug log.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
ts-logs-capture | 1 +
1 file changed, 1 insertion(+)
diff --git a/ts-logs-capture b/ts-logs-capture
index 0081372..b99b1db 100755
--- a/ts-logs-capture
+++ b/ts-logs-capture
@@ -143,6 +143,7 @@ sub fetch_logs_host () {
/var/log/xen/xend-debug.log*
/var/log/xen/xen-hotplug.log*
/var/log/xen/domain-builder-ng.log*
+ /var/log/xen/bootloader.*.log
/var/log/xen/qemu-dm*
/var/log/xen/xl*.log
/var/log/xen/osstest*
--
2.1.4
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH OSSTEST 2/7] ts-debian-di-install: Use exit/poweroff in preference to exit/always_halt
2015-08-06 12:44 [PATCH OSSTEST 0/7] Fixes for distros-debian-* flights on armhf Ian Campbell
2015-08-06 12:44 ` [PATCH OSSTEST 1/7] ts-logs-capture: Collect /var/log/xen/bootloader.*.log Ian Campbell
@ 2015-08-06 12:44 ` Ian Campbell
2015-08-12 15:30 ` Ian Jackson
2015-08-06 12:44 ` [PATCH OSSTEST 3/7] ts-debian-di-install: Install pv-menu-list in ARM guests, always Ian Campbell
` (4 subsequent siblings)
6 siblings, 1 reply; 19+ messages in thread
From: Ian Campbell @ 2015-08-06 12:44 UTC (permalink / raw)
To: ian.jackson, xen-devel; +Cc: Ian Campbell
always_halt results in d-i calling "halt", which does not necessarily
poweroff the host (it seems to for x86/PV Xen guests, but does not for
ARM). Using exit/poweroff calls "poweroff" which is equivalent to
"halt -p", doing so results in ARM guests powering off as desired.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
ts-debian-di-install | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ts-debian-di-install b/ts-debian-di-install
index 34b8e1e..612e0fa 100755
--- a/ts-debian-di-install
+++ b/ts-debian-di-install
@@ -210,7 +210,7 @@ END
}
my @cmdline = ();
- push @cmdline, "debian-installer/exit/always_halt=true";
+ push @cmdline, "debian-installer/exit/poweroff=true";
push @cmdline, "domain=$c{TestHostDomain}";
push @cmdline, "console=hvc0";
push @cmdline, di_installcmdline_core($gho, $ps_url);
--
2.1.4
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH OSSTEST 3/7] ts-debian-di-install: Install pv-menu-list in ARM guests, always.
2015-08-06 12:44 [PATCH OSSTEST 0/7] Fixes for distros-debian-* flights on armhf Ian Campbell
2015-08-06 12:44 ` [PATCH OSSTEST 1/7] ts-logs-capture: Collect /var/log/xen/bootloader.*.log Ian Campbell
2015-08-06 12:44 ` [PATCH OSSTEST 2/7] ts-debian-di-install: Use exit/poweroff in preference to exit/always_halt Ian Campbell
@ 2015-08-06 12:44 ` Ian Campbell
2015-08-12 15:35 ` Ian Jackson
2015-08-06 12:44 ` [PATCH OSSTEST 4/7] ts-debian-di-install: Use the suite in the default hostname Ian Campbell
` (3 subsequent siblings)
6 siblings, 1 reply; 19+ messages in thread
From: Ian Campbell @ 2015-08-06 12:44 UTC (permalink / raw)
To: ian.jackson, xen-devel; +Cc: Ian Campbell
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
ts-debian-di-install | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/ts-debian-di-install b/ts-debian-di-install
index 612e0fa..0e778e3 100755
--- a/ts-debian-di-install
+++ b/ts-debian-di-install
@@ -190,9 +190,18 @@ END
$method_cfg = setup_netboot($tmpdir, $arch, $suite);
+ # We need the pv-menu-list package:
+ # - On x86 when running pvgrub, since it only speaks grub1
+ # menu.lst syntax and by grub2 is now the only grub in
+ # Debian.
+ # - On ARM, which uses pygrub, because grub2 is not installed
+ # on ARM by default (except for, maybe, UEFI guests in the
+ # future, but not today).
+ my $pvmenulst = ($bl eq "pvgrub" || $arch =~ /arm/);
+
$ps_url = preseed_create_guest($gho, $arch, '',
Suite=>$suite,
- PvMenuLst=>($bl eq "pvgrub"));
+ PvMenuLst=>$pvmenulst);
$extra_disk = "";
}
--
2.1.4
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH OSSTEST 3/7] ts-debian-di-install: Install pv-menu-list in ARM guests, always.
2015-08-06 12:44 ` [PATCH OSSTEST 3/7] ts-debian-di-install: Install pv-menu-list in ARM guests, always Ian Campbell
@ 2015-08-12 15:35 ` Ian Jackson
2015-08-12 15:44 ` Ian Campbell
0 siblings, 1 reply; 19+ messages in thread
From: Ian Jackson @ 2015-08-12 15:35 UTC (permalink / raw)
To: Ian Campbell; +Cc: xen-devel
Ian Campbell writes ("[PATCH OSSTEST 3/7] ts-debian-di-install: Install pv-menu-list in ARM guests, always."):
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
This package seems to be called `pv-grub-menu', not `pv-menu-list'.
> @@ -190,9 +190,18 @@ END
>
> $method_cfg = setup_netboot($tmpdir, $arch, $suite);
>
> + # We need the pv-menu-list package:
> + # - On x86 when running pvgrub, since it only speaks grub1
> + # menu.lst syntax and by grub2 is now the only grub in
> + # Debian.
This comment seems mangled. "and by grub2" ? Also in "it only speaks
grub1", it would be clearer if "it" said "pvgrub".
> + # - On ARM, which uses pygrub, because grub2 is not installed
> + # on ARM by default (except for, maybe, UEFI guests in the
> + # future, but not today).
> + my $pvmenulst = ($bl eq "pvgrub" || $arch =~ /arm/);
"pvgrub" here is pvgrub1, not pv grub2. This could perhaps be
clearer...
Thanks,
Ian.
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH OSSTEST 3/7] ts-debian-di-install: Install pv-menu-list in ARM guests, always.
2015-08-12 15:35 ` Ian Jackson
@ 2015-08-12 15:44 ` Ian Campbell
2015-08-12 15:47 ` Ian Jackson
0 siblings, 1 reply; 19+ messages in thread
From: Ian Campbell @ 2015-08-12 15:44 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel
On Wed, 2015-08-12 at 16:35 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH OSSTEST 3/7] ts-debian-di-install: Install
> pv-menu-list in ARM guests, always."):
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>
> This package seems to be called `pv-grub-menu', not `pv-menu-list'.
I get that wrong more often than not it seems...
>
> > @@ -190,9 +190,18 @@ END
> >
> > $method_cfg = setup_netboot($tmpdir, $arch, $suite);
> >
> > + # We need the pv-menu-list package:
> > + # - On x86 when running pvgrub, since it only speaks grub1
> > + # menu.lst syntax and by grub2 is now the only grub in
> > + # Debian.
>
> This comment seems mangled. "and by grub2" ? Also in "it only speaks
> grub1", it would be clearer if "it" said "pvgrub".
Sure.
> > + # - On ARM, which uses pygrub, because grub2 is not installed
> > + # on ARM by default (except for, maybe, UEFI guests in the
> > + # future, but not today).
> > + my $pvmenulst = ($bl eq "pvgrub" || $arch =~ /arm/);
>
> "pvgrub" here is pvgrub1, not pv grub2. This could perhaps be
> clearer...
Yes, although pvgrub is what we use in production now. I could go and
change it everywhere if you like, or we could defer to the point where we
add pv grub 2 testing?
>
> Thanks,
> Ian.
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH OSSTEST 3/7] ts-debian-di-install: Install pv-menu-list in ARM guests, always.
2015-08-12 15:44 ` Ian Campbell
@ 2015-08-12 15:47 ` Ian Jackson
0 siblings, 0 replies; 19+ messages in thread
From: Ian Jackson @ 2015-08-12 15:47 UTC (permalink / raw)
To: Ian Campbell; +Cc: Ian Jackson, xen-devel
Ian Campbell writes ("Re: [PATCH OSSTEST 3/7] ts-debian-di-install: Install pv-menu-list in ARM guests, always."):
> On Wed, 2015-08-12 at 16:35 +0100, Ian Jackson wrote:
> > "pvgrub" here is pvgrub1, not pv grub2. This could perhaps be
> > clearer...
>
> Yes, although pvgrub is what we use in production now. I could go and
> change it everywhere if you like, or we could defer to the point where we
> add pv grub 2 testing?
Maybe we could just have a comment somewhere.
Ian.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH OSSTEST 4/7] ts-debian-di-install: Use the suite in the default hostname
2015-08-06 12:44 [PATCH OSSTEST 0/7] Fixes for distros-debian-* flights on armhf Ian Campbell
` (2 preceding siblings ...)
2015-08-06 12:44 ` [PATCH OSSTEST 3/7] ts-debian-di-install: Install pv-menu-list in ARM guests, always Ian Campbell
@ 2015-08-06 12:44 ` Ian Campbell
2015-08-12 15:39 ` Ian Jackson
2015-08-06 12:44 ` [PATCH OSSTEST 5/7] Debian: ARM: only apply no bootloader workaround if xopts{PvMenuLst} Ian Campbell
` (2 subsequent siblings)
6 siblings, 1 reply; 19+ messages in thread
From: Ian Campbell @ 2015-08-06 12:44 UTC (permalink / raw)
To: ian.jackson, xen-devel; +Cc: Ian Campbell
This is more useful in standalone mode than having everything be
"debian".
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
ts-debian-di-install | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ts-debian-di-install b/ts-debian-di-install
index 0e778e3..95a9215 100755
--- a/ts-debian-di-install
+++ b/ts-debian-di-install
@@ -66,7 +66,7 @@ our $ho= selecthost($whhost);
our $ram_mb= 512;
our $disk_mb= 10000;
-our $guesthost= "$gn.guest.osstest";
+our $guesthost= ($r{"${gn}_suite"}//$gn).".guest.osstest";
our $gho;
sub prep () {
--
2.1.4
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH OSSTEST 5/7] Debian: ARM: only apply no bootloader workaround if xopts{PvMenuLst}
2015-08-06 12:44 [PATCH OSSTEST 0/7] Fixes for distros-debian-* flights on armhf Ian Campbell
` (3 preceding siblings ...)
2015-08-06 12:44 ` [PATCH OSSTEST 4/7] ts-debian-di-install: Use the suite in the default hostname Ian Campbell
@ 2015-08-06 12:44 ` Ian Campbell
2015-08-12 15:40 ` Ian Jackson
2015-08-06 12:44 ` [PATCH OSSTEST 6/7] Debian: ARM has no bootloader (for Xen) even in Stretch Ian Campbell
2015-08-06 12:44 ` [PATCH OSSTEST 7/7] Debian: Create /boot/boot -> . symlink on ARM when PvMenuLst enabled Ian Campbell
6 siblings, 1 reply; 19+ messages in thread
From: Ian Campbell @ 2015-08-06 12:44 UTC (permalink / raw)
To: ian.jackson, xen-devel; +Cc: Ian Campbell
This workaround is only necessary because of how pv-menu-list works,
so we should only apply both or neither of them.
This results in a long line and I'm about to add a second workaround
to this block, so switch to a regular if block instead of postfixing
on the one command. Move the comment inside that block in preparation
for other workarounds as well.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
Osstest/Debian.pm | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 7ce5d67..ff7975e 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -913,15 +913,19 @@ d-i grub-installer/bootdev string /dev/xvda
END
- # Debian doesn't currently know what bootloader to install in a
- # Xen guest on ARM. We install pv-grub-menu above which actually
- # does what we need, but the installer doesn't treat that as a
- # "bootloader".
logm("\$arch is $arch, \$suite is $suite");
- $preseed_file.= (<<END) if $arch =~ /^arm/ && $suite =~ /wheezy|jessie|sid/;
+ if ($xopts{PvMenuLst} && $arch =~ /^arm/ &&
+ $suite =~ /wheezy|jessie|sid/ ) {
+
+ # Debian doesn't currently know what bootloader to install in
+ # a Xen guest on ARM. We install pv-grub-menu above which
+ # actually does what we need, but the installer doesn't treat
+ # that as a "bootloader".
+ $preseed_file.= (<<END);
d-i nobootloader/confirmation_common boolean true
END
+ }
$preseed_file .= preseed_hook_cmds();
--
2.1.4
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH OSSTEST 5/7] Debian: ARM: only apply no bootloader workaround if xopts{PvMenuLst}
2015-08-06 12:44 ` [PATCH OSSTEST 5/7] Debian: ARM: only apply no bootloader workaround if xopts{PvMenuLst} Ian Campbell
@ 2015-08-12 15:40 ` Ian Jackson
0 siblings, 0 replies; 19+ messages in thread
From: Ian Jackson @ 2015-08-12 15:40 UTC (permalink / raw)
To: Ian Campbell; +Cc: xen-devel
Ian Campbell writes ("[PATCH OSSTEST 5/7] Debian: ARM: only apply no bootloader workaround if xopts{PvMenuLst}"):
> This workaround is only necessary because of how pv-menu-list works,
> so we should only apply both or neither of them.
>
> This results in a long line and I'm about to add a second workaround
> to this block, so switch to a regular if block instead of postfixing
> on the one command. Move the comment inside that block in preparation
> for other workarounds as well.
...
> + if ($xopts{PvMenuLst} && $arch =~ /^arm/ &&
> + $suite =~ /wheezy|jessie|sid/ ) {
If you're going to wrap this I would mildly prefer /all/ the &&s to
generate a newline, so it is clearer that it's a 3-factor expression.
But, regardless,
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH OSSTEST 6/7] Debian: ARM has no bootloader (for Xen) even in Stretch.
2015-08-06 12:44 [PATCH OSSTEST 0/7] Fixes for distros-debian-* flights on armhf Ian Campbell
` (4 preceding siblings ...)
2015-08-06 12:44 ` [PATCH OSSTEST 5/7] Debian: ARM: only apply no bootloader workaround if xopts{PvMenuLst} Ian Campbell
@ 2015-08-06 12:44 ` Ian Campbell
2015-08-12 15:41 ` Ian Jackson
2015-08-06 12:44 ` [PATCH OSSTEST 7/7] Debian: Create /boot/boot -> . symlink on ARM when PvMenuLst enabled Ian Campbell
6 siblings, 1 reply; 19+ messages in thread
From: Ian Campbell @ 2015-08-06 12:44 UTC (permalink / raw)
To: ian.jackson, xen-devel; +Cc: Ian Campbell
Realistically this isn't going to change until we have either u-boot
or UEFI in an arm32 guest.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
Osstest/Debian.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index ff7975e..7a0ead4 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -915,7 +915,7 @@ END
logm("\$arch is $arch, \$suite is $suite");
if ($xopts{PvMenuLst} && $arch =~ /^arm/ &&
- $suite =~ /wheezy|jessie|sid/ ) {
+ $suite =~ /wheezy|jessie|stretch|sid/ ) {
# Debian doesn't currently know what bootloader to install in
# a Xen guest on ARM. We install pv-grub-menu above which
--
2.1.4
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH OSSTEST 7/7] Debian: Create /boot/boot -> . symlink on ARM when PvMenuLst enabled
2015-08-06 12:44 [PATCH OSSTEST 0/7] Fixes for distros-debian-* flights on armhf Ian Campbell
` (5 preceding siblings ...)
2015-08-06 12:44 ` [PATCH OSSTEST 6/7] Debian: ARM has no bootloader (for Xen) even in Stretch Ian Campbell
@ 2015-08-06 12:44 ` Ian Campbell
2015-08-12 15:41 ` Ian Jackson
6 siblings, 1 reply; 19+ messages in thread
From: Ian Campbell @ 2015-08-06 12:44 UTC (permalink / raw)
To: ian.jackson, xen-devel; +Cc: Ian Campbell
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
Osstest/Debian.pm | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 7a0ead4..07a71e2 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -923,7 +923,15 @@ END
# that as a "bootloader".
$preseed_file.= (<<END);
d-i nobootloader/confirmation_common boolean true
+END
+ # Debian Bug #771949 means that update-menu-list always
+ # generates a full absolute path to the kernel + initrd, while
+ # by default the partition layout on ARM has a separate /boot.
+ preseed_hook_command($ho, 'late_command', $sfx, <<END);
+#!/bin/sh
+set -ex
+ln -s . /target/boot/boot
END
}
--
2.1.4
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH OSSTEST 7/7] Debian: Create /boot/boot -> . symlink on ARM when PvMenuLst enabled
2015-08-06 12:44 ` [PATCH OSSTEST 7/7] Debian: Create /boot/boot -> . symlink on ARM when PvMenuLst enabled Ian Campbell
@ 2015-08-12 15:41 ` Ian Jackson
2015-08-13 15:58 ` Ian Campbell
0 siblings, 1 reply; 19+ messages in thread
From: Ian Jackson @ 2015-08-12 15:41 UTC (permalink / raw)
To: Ian Campbell; +Cc: xen-devel
Ian Campbell writes ("[PATCH OSSTEST 7/7] Debian: Create /boot/boot -> . symlink on ARM when PvMenuLst enabled"):
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Can this please be conditional on the suite ?
Thanks,
Ian.
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH OSSTEST 7/7] Debian: Create /boot/boot -> . symlink on ARM when PvMenuLst enabled
2015-08-12 15:41 ` Ian Jackson
@ 2015-08-13 15:58 ` Ian Campbell
2015-08-13 18:05 ` Ian Jackson
0 siblings, 1 reply; 19+ messages in thread
From: Ian Campbell @ 2015-08-13 15:58 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel
On Wed, 2015-08-12 at 16:41 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH OSSTEST 7/7] Debian: Create /boot/boot -> .
> symlink on ARM when PvMenuLst enabled"):
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>
> Can this please be conditional on the suite ?
It is, it is within the:
if ($xopts{PvMenuLst} &&
$arch =~ /^arm/ &&
$suite =~ /wheezy|jessie|stretch|sid/ ) {
block.
If/when this workaround and.or the no-bootloader workaround go away I would
expect them to both go away together. If not the condition can be adjusted.
Ian.
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH OSSTEST 7/7] Debian: Create /boot/boot -> . symlink on ARM when PvMenuLst enabled
2015-08-13 15:58 ` Ian Campbell
@ 2015-08-13 18:05 ` Ian Jackson
0 siblings, 0 replies; 19+ messages in thread
From: Ian Jackson @ 2015-08-13 18:05 UTC (permalink / raw)
To: Ian Campbell; +Cc: xen-devel
Ian Campbell writes ("Re: [PATCH OSSTEST 7/7] Debian: Create /boot/boot -> . symlink on ARM when PvMenuLst enabled"):
> On Wed, 2015-08-12 at 16:41 +0100, Ian Jackson wrote:
> > Ian Campbell writes ("[PATCH OSSTEST 7/7] Debian: Create /boot/boot -> .
> > symlink on ARM when PvMenuLst enabled"):
> > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> >
> > Can this please be conditional on the suite ?
>
> It is, it is within the:
> if ($xopts{PvMenuLst} &&
> $arch =~ /^arm/ &&
> $suite =~ /wheezy|jessie|stretch|sid/ ) {
> block.
>
> If/when this workaround and.or the no-bootloader workaround go away I would
> expect them to both go away together. If not the condition can be adjusted.
Ah, OK.
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
^ permalink raw reply [flat|nested] 19+ messages in thread