Re: [Xen-devel] [OSSTEST PATCH 19/26] ts-debian-hvm-install: Cope with images containing only isolinux

2015-09-21 Thread Ian Jackson
Ian Campbell writes ("Re: [OSSTEST PATCH 19/26] ts-debian-hvm-install: Cope 
with images containing only isolinux"):
> On Fri, 2015-09-18 at 18:50 +0100, Ian Jackson wrote:
> > debian-7.2.0-i386-CD-1.iso contains no grub, only isolinux.
...
> I'm happy to determine experimentally (i.e. by pushing to pretest) if there
> is any meaning to the order of these (the wiki has them the new way around,
> so I presume not).

My tests (which I left running) have determined that this patch was
wrong in the amd64 case: it would work, but by falling back to
isolinux.

This is because $newiso is not populated at the time $bootfile is
determined.  I think this is fairly easily fixed by reordering things
and I will send an update when I have got something that actually
works in both cases.

(This affects the EFI partition creation too, but shouldn't involve
any change to that patch except maybe to context.)

> > +my $bootfile = 'boot/grub/efi.img';
> > +if (!target_file_exists($ho, "$newiso/$bootfile")) {
> > +   $bootfile = "isolinux/isolinux.bin";
> > +   push @isogen_extra, qw(-c isolinux/boot.cat);
> > +}
> 
> My preference would have been to produce an iso which was bootable either
> via EFI (grub) or legacy (isolinux), but that would require more complex
> command lines and I'm sure neither of us wants to figure out what those
> are. So:

Yes.

> Acked-by: Ian Campbell 

Thanks, but given the circmstances I am not going to apply this ack to
whatever revised version I produce.

Ian.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [OSSTEST PATCH 19/26] ts-debian-hvm-install: Cope with images containing only isolinux

2015-09-21 Thread Ian Jackson
Ian Jackson writes ("Re: [OSSTEST PATCH 19/26] ts-debian-hvm-install: Cope with 
images containing only isolinux"):
> Ian Campbell writes ("Re: [OSSTEST PATCH 19/26] ts-debian-hvm-install: Cope 
> with images containing only isolinux"):
> > Acked-by: Ian Campbell 
> 
> Thanks, but given the circmstances I am not going to apply this ack to
> whatever revised version I produce.

FYI I have reviewed the interdiff between v3 and what is going to be
v4, and there are no changes to changed lines, only to context.  But
of course that means the changes are now in a different place,
following the new code motion patch which will precede this.

v4 will follow soon I think.

Ian.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [OSSTEST PATCH 19/26] ts-debian-hvm-install: Cope with images containing only isolinux

2015-09-21 Thread Ian Campbell
On Fri, 2015-09-18 at 18:50 +0100, Ian Jackson wrote:
> debian-7.2.0-i386-CD-1.iso contains no grub, only isolinux.
> 
> If the specified EFI grub file does not exist, fall back to isolinux.
> This requires a -c option as well, according to
>   https://wiki.debian.org/DebianInstaller/Modify/CD
> 
> Only try to set up a grub config if we are booting grub.  (The i386
> image in question does not contain a [debian]/boot/grub directory.)
> 
> If boot/grub/efi.img _does_ exist (ie, for other existing tests), the
> only difference in behaviour is to reorder slightly the options to
> genisoimage: `-b boot/grub/efi.img' now occurs after `-no-emul-boot
> -r' rather than before.

I'm happy to determine experimentally (i.e. by pushing to pretest) if there
is any meaning to the order of these (the wiki has them the new way around,
so I presume not).

> Signed-off-by: Ian Jackson 
> ---
>  ts-debian-hvm-install |   13 +++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/ts-debian-hvm-install b/ts-debian-hvm-install
> index 3b93ebd..71ab1a5 100755
> --- a/ts-debian-hvm-install
> +++ b/ts-debian-hvm-install
> @@ -197,9 +197,16 @@ sub prep () {
>  my $preseed_file_path = $base . "preseed";
>  
>  my @isogen_extra = qw(-eltorito-alt-boot
> -  -b boot/grub/efi.img
>-no-emul-boot
>-r);
> +
> +my $bootfile = 'boot/grub/efi.img';
> +if (!target_file_exists($ho, "$newiso/$bootfile")) {
> + $bootfile = "isolinux/isolinux.bin";
> + push @isogen_extra, qw(-c isolinux/boot.cat);
> +}

My preference would have been to produce an iso which was bootable either
via EFI (grub) or legacy (isolinux), but that would require more complex
command lines and I'm sure neither of us wants to figure out what those
are. So:

Acked-by: Ian Campbell 


> +push @isogen_extra, '-b', $bootfile;
> +
>  my @isogen_opts = (iso_gen_flags_basic(), @isogen_extra);
>  
>  iso_create_empty($ho, $emptyiso, $emptydir);
> @@ -226,8 +233,10 @@ sub prep () {
>  my $cmds = iso_copy_content_from_image($gho, $newiso);
>  $cmds .= prepare_initrd($initrddir,$newiso,$preseed_file_path);
>  target_cmd_root($ho, $cmds, $isotimeout);
> +
>  target_putfilecontents_root_stash($ho, 10, grub_cfg(),
> - 
>  "$newiso/debian/boot/grub/grub.cfg");
> + 
>  "$newiso/debian/boot/grub/grub.cfg")
> + if $bootfile =~ m/grub/;
>  
>  target_putfilecontents_root_stash($ho, 10, isolinux_cfg(),
>   
>  "$newiso/isolinux/isolinux.cfg");

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel