public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* Failure to boot CDROM with -drive arg
@ 2008-07-08  8:37 Daniel P. Berrange
  2008-07-08  8:48 ` Laurent Vivier
  2008-07-08  9:17 ` Soren Hansen
  0 siblings, 2 replies; 13+ messages in thread
From: Daniel P. Berrange @ 2008-07-08  8:37 UTC (permalink / raw)
  To: kvm

The following two command lines should be identical from the user's
point of view:

# qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500

# qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500

With the 2nd though, the initial CDROM syslinux loads, but fails to load
the graphical menu, and also fails to boot in text mode fallback:

  'vesamenu.c32: attempted DOS system call"

(See screenshot: https://bugzilla.redhat.com/attachment.cgi?id=311221 )

I've reproduced this with both KVM 65 and 70, on a Fedora 9 host. The CDROM
boot.iso image I'm using here is the Fedora 9  $URL/images/boot.iso from
any standard Fedora install tree.

I can only imagine there's something different in the way extboot sets up
the CPU/pagetables during cdrom boot, but its rather beyond my skills

This was originally reported by a Fedora user here

  https://bugzilla.redhat.com/show_bug.cgi?id=452355

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08  8:37 Failure to boot CDROM with -drive arg Daniel P. Berrange
@ 2008-07-08  8:48 ` Laurent Vivier
  2008-07-08  8:51   ` Daniel P. Berrange
  2008-07-08  9:17 ` Soren Hansen
  1 sibling, 1 reply; 13+ messages in thread
From: Laurent Vivier @ 2008-07-08  8:48 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: kvm

Le mardi 08 juillet 2008 à 09:37 +0100, Daniel P. Berrange a écrit :
> The following two command lines should be identical from the user's
> point of view:
> 
> # qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500
> 
> # qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500
> 

"-cdrom /home/berrange/boot.iso" is identical to
"-drive file=/home/berrange/boot.iso,index=1,media=cdrom"

with if=ide by default.

Could you try you command line without "boot=on" ?

> With the 2nd though, the initial CDROM syslinux loads, but fails to load
> the graphical menu, and also fails to boot in text mode fallback:
> 
>   'vesamenu.c32: attempted DOS system call"
> 
> (See screenshot: https://bugzilla.redhat.com/attachment.cgi?id=311221 )
> 
> I've reproduced this with both KVM 65 and 70, on a Fedora 9 host. The CDROM
> boot.iso image I'm using here is the Fedora 9  $URL/images/boot.iso from
> any standard Fedora install tree.
> 
> I can only imagine there's something different in the way extboot sets up
> the CPU/pagetables during cdrom boot, but its rather beyond my skills
> 
> This was originally reported by a Fedora user here
> 
>   https://bugzilla.redhat.com/show_bug.cgi?id=452355
> 
> Daniel
-- 
--------- Laurent.Vivier@bull.net ----------
"L'avenir ne se prévoit pas, il se prépare."
- Maurice Blondel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08  8:48 ` Laurent Vivier
@ 2008-07-08  8:51   ` Daniel P. Berrange
  2008-07-08  8:54     ` Laurent Vivier
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrange @ 2008-07-08  8:51 UTC (permalink / raw)
  To: Laurent Vivier; +Cc: kvm

On Tue, Jul 08, 2008 at 10:48:18AM +0200, Laurent Vivier wrote:
> Le mardi 08 juillet 2008 à 09:37 +0100, Daniel P. Berrange a écrit :
> > The following two command lines should be identical from the user's
> > point of view:
> > 
> > # qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500
> > 
> > # qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500
> > 
> 
> "-cdrom /home/berrange/boot.iso" is identical to
> "-drive file=/home/berrange/boot.iso,index=1,media=cdrom"
> 
> with if=ide by default.
> 
> Could you try you command line without "boot=on" ?

Yep, that works - so its clearly something todo with the extboot support

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08  8:51   ` Daniel P. Berrange
@ 2008-07-08  8:54     ` Laurent Vivier
  0 siblings, 0 replies; 13+ messages in thread
From: Laurent Vivier @ 2008-07-08  8:54 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: kvm

Le mardi 08 juillet 2008 à 09:51 +0100, Daniel P. Berrange a écrit :
> On Tue, Jul 08, 2008 at 10:48:18AM +0200, Laurent Vivier wrote:
> > Le mardi 08 juillet 2008 à 09:37 +0100, Daniel P. Berrange a écrit :
> > > The following two command lines should be identical from the user's
> > > point of view:
> > > 
> > > # qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500
> > > 
> > > # qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500
> > > 
> > 
> > "-cdrom /home/berrange/boot.iso" is identical to
> > "-drive file=/home/berrange/boot.iso,index=1,media=cdrom"
> > 
> > with if=ide by default.
> > 
> > Could you try you command line without "boot=on" ?
> 
> Yep, that works - so its clearly something todo with the extboot support

I think "boot=on" must be used only with device that are not managed by
the bios (scsi, virtio-blk, ...).

We should modify the command line interface to check that...

Laurent
-- 
--------- Laurent.Vivier@bull.net ----------
"L'avenir ne se prévoit pas, il se prépare."
- Maurice Blondel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08  8:37 Failure to boot CDROM with -drive arg Daniel P. Berrange
  2008-07-08  8:48 ` Laurent Vivier
@ 2008-07-08  9:17 ` Soren Hansen
  2008-07-08  9:21   ` Daniel P. Berrange
  2008-07-08  9:28   ` Laurent Vivier
  1 sibling, 2 replies; 13+ messages in thread
From: Soren Hansen @ 2008-07-08  9:17 UTC (permalink / raw)
  To: kvm

[-- Attachment #1: Type: text/plain, Size: 554 bytes --]

On Tue, Jul 08, 2008 at 09:37:30AM +0100, Daniel P. Berrange wrote:
> The following two command lines should be identical from the user's
> point of view:
> 
> # qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500
> 
> # qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500

http://sourceforge.net/tracker/index.php?func=detail&aid=1977971&group_id=180599&atid=893831

-- 
Soren Hansen               | 
Virtualisation specialist  | Ubuntu Server Team
Canonical Ltd.             | http://www.ubuntu.com/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 307 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08  9:17 ` Soren Hansen
@ 2008-07-08  9:21   ` Daniel P. Berrange
  2008-07-08  9:29     ` Laurent Vivier
  2008-07-08 13:01     ` Anthony Liguori
  2008-07-08  9:28   ` Laurent Vivier
  1 sibling, 2 replies; 13+ messages in thread
From: Daniel P. Berrange @ 2008-07-08  9:21 UTC (permalink / raw)
  To: kvm

On Tue, Jul 08, 2008 at 11:17:24AM +0200, Soren Hansen wrote:
> On Tue, Jul 08, 2008 at 09:37:30AM +0100, Daniel P. Berrange wrote:
> > The following two command lines should be identical from the user's
> > point of view:
> > 
> > # qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500
> > 
> > # qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500
> 
> http://sourceforge.net/tracker/index.php?func=detail&aid=1977971&group_id=180599&atid=893831

Ok, so basically this is saying that boot=on only works for media=disk.
I really don't like the fact that we now have 2 different ways of flagging
bootable disks, depending on whether want to use BIOS boot or extboot.

The management apps shouldn't have to make such a decision - QEMU should
be picking the most appropriate choice for us. ie, if we have boot=on
with an IDE cdrom, then QEMU should automatically do a BIOS boot instead
of extboot. This way if extboot gets improved, QEMU can update its logic
to correspond without needing to change all the management apps using
QEMU.

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08  9:17 ` Soren Hansen
  2008-07-08  9:21   ` Daniel P. Berrange
@ 2008-07-08  9:28   ` Laurent Vivier
  1 sibling, 0 replies; 13+ messages in thread
From: Laurent Vivier @ 2008-07-08  9:28 UTC (permalink / raw)
  To: Soren Hansen; +Cc: kvm

Le mardi 08 juillet 2008 à 11:17 +0200, Soren Hansen a écrit :
> On Tue, Jul 08, 2008 at 09:37:30AM +0100, Daniel P. Berrange wrote:
> > The following two command lines should be identical from the user's
> > point of view:
> > 
> > # qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500
> > 
> > # qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500
> 
> http://sourceforge.net/tracker/index.php?func=detail&aid=1977971&group_id=180599&atid=893831

yes, in fact "media=cdrom,boot=on" is not equal to "-cdrom ... -boot d".
"boot=on" means "use bios extension extboot with this drive", and using
extboot allows the bios to manage this device and to boot from it.

Laurent
-- 
--------- Laurent.Vivier@bull.net ----------
"L'avenir ne se prévoit pas, il se prépare."
- Maurice Blondel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08  9:21   ` Daniel P. Berrange
@ 2008-07-08  9:29     ` Laurent Vivier
  2008-07-08 13:01     ` Anthony Liguori
  1 sibling, 0 replies; 13+ messages in thread
From: Laurent Vivier @ 2008-07-08  9:29 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: kvm

Le mardi 08 juillet 2008 à 10:21 +0100, Daniel P. Berrange a écrit :
> On Tue, Jul 08, 2008 at 11:17:24AM +0200, Soren Hansen wrote:
> > On Tue, Jul 08, 2008 at 09:37:30AM +0100, Daniel P. Berrange wrote:
> > > The following two command lines should be identical from the user's
> > > point of view:
> > > 
> > > # qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500
> > > 
> > > # qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500
> > 
> > http://sourceforge.net/tracker/index.php?func=detail&aid=1977971&group_id=180599&atid=893831
> 
> Ok, so basically this is saying that boot=on only works for media=disk.
> I really don't like the fact that we now have 2 different ways of flagging
> bootable disks, depending on whether want to use BIOS boot or extboot.
> 
> The management apps shouldn't have to make such a decision - QEMU should
> be picking the most appropriate choice for us. ie, if we have boot=on
> with an IDE cdrom, then QEMU should automatically do a BIOS boot instead
> of extboot. This way if extboot gets improved, QEMU can update its logic
> to correspond without needing to change all the management apps using
> QEMU.

I agree.

Laurent
-- 
--------- Laurent.Vivier@bull.net ----------
"L'avenir ne se prévoit pas, il se prépare."
- Maurice Blondel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08  9:21   ` Daniel P. Berrange
  2008-07-08  9:29     ` Laurent Vivier
@ 2008-07-08 13:01     ` Anthony Liguori
  2008-07-08 13:45       ` Laurent Vivier
  1 sibling, 1 reply; 13+ messages in thread
From: Anthony Liguori @ 2008-07-08 13:01 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: kvm

Daniel P. Berrange wrote:
> On Tue, Jul 08, 2008 at 11:17:24AM +0200, Soren Hansen wrote:
>   
>> On Tue, Jul 08, 2008 at 09:37:30AM +0100, Daniel P. Berrange wrote:
>>     
>>> The following two command lines should be identical from the user's
>>> point of view:
>>>
>>> # qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500
>>>
>>> # qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500
>>>       
>> http://sourceforge.net/tracker/index.php?func=detail&aid=1977971&group_id=180599&atid=893831
>>     
>
> Ok, so basically this is saying that boot=on only works for media=disk.
> I really don't like the fact that we now have 2 different ways of flagging
> bootable disks, depending on whether want to use BIOS boot or extboot.
>   

Semantically, boot=on means "make this the first bootable hard disk".  
That's not to say that there shouldn't be a check.

If you did:

qemu-system-x86 -drive file=foo.img,boot=on -boot d

You would still boot from the cdrom.

Regards,

Anthony Liguori

> The management apps shouldn't have to make such a decision - QEMU should
> be picking the most appropriate choice for us. ie, if we have boot=on
> with an IDE cdrom, then QEMU should automatically do a BIOS boot instead
> of extboot. This way if extboot gets improved, QEMU can update its logic
> to correspond without needing to change all the management apps using
> QEMU.
>
> Daniel
>   


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08 13:01     ` Anthony Liguori
@ 2008-07-08 13:45       ` Laurent Vivier
  2008-07-08 14:59         ` Anthony Liguori
  0 siblings, 1 reply; 13+ messages in thread
From: Laurent Vivier @ 2008-07-08 13:45 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Daniel P. Berrange, kvm

Le mardi 08 juillet 2008 à 08:01 -0500, Anthony Liguori a écrit :
> Daniel P. Berrange wrote:
> > On Tue, Jul 08, 2008 at 11:17:24AM +0200, Soren Hansen wrote:
> >   
> >> On Tue, Jul 08, 2008 at 09:37:30AM +0100, Daniel P. Berrange wrote:
> >>     
> >>> The following two command lines should be identical from the user's
> >>> point of view:
> >>>
> >>> # qemu-kvm -cdrom /home/berrange/boot.iso -boot d -m 500
> >>>
> >>> # qemu-kvm -drive file=/home/berrange/boot.iso,if=ide,media=cdrom,index=2,boot=on -m 500
> >>>       
> >> http://sourceforge.net/tracker/index.php?func=detail&aid=1977971&group_id=180599&atid=893831
> >>     
> >
> > Ok, so basically this is saying that boot=on only works for media=disk.
> > I really don't like the fact that we now have 2 different ways of flagging
> > bootable disks, depending on whether want to use BIOS boot or extboot.
> >   
> 
> Semantically, boot=on means "make this the first bootable hard disk".  
> That's not to say that there shouldn't be a check.
> 
> If you did:
> 
> qemu-system-x86 -drive file=foo.img,boot=on -boot d
> 
> You would still boot from the cdrom.

So, "boot=on" means in fact "bootable=true"

Regards,
Laurent
-- 
--------- Laurent.Vivier@bull.net ----------
"L'avenir ne se prévoit pas, il se prépare."
- Maurice Blondel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08 13:45       ` Laurent Vivier
@ 2008-07-08 14:59         ` Anthony Liguori
  2008-07-08 15:03           ` Laurent Vivier
  0 siblings, 1 reply; 13+ messages in thread
From: Anthony Liguori @ 2008-07-08 14:59 UTC (permalink / raw)
  To: Laurent Vivier; +Cc: Daniel P. Berrange, kvm

Laurent Vivier wrote:
> So, "boot=on" means in fact "bootable=true"
>   

I guess.  I don't know that the later is more clear.  I think the source 
of the confusion is the entire concept of "first bootable harddisk" 
which is what -boot c really means.

FWIW, the reason media=cdrom,boot=on doesn't work, is that a CDROM's 
boot record is in el torito format instead of the traditional BIOS boot 
sector.

media=cdrom,boot=on would work if the image was a disk image instead of 
an ISO.

In fact, I'm inclined to think that media=cdrom,boot=on should not be 
explicitly prohibited because of this fact.

Regards,

Anthony Liguori

> Regards,
> Laurent
>   


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08 14:59         ` Anthony Liguori
@ 2008-07-08 15:03           ` Laurent Vivier
  2008-07-08 15:14             ` Anthony Liguori
  0 siblings, 1 reply; 13+ messages in thread
From: Laurent Vivier @ 2008-07-08 15:03 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Daniel P. Berrange, kvm

Le mardi 08 juillet 2008 à 09:59 -0500, Anthony Liguori a écrit :
> Laurent Vivier wrote:
> > So, "boot=on" means in fact "bootable=true"
> >   
> 
> I guess.  I don't know that the later is more clear.  I think the source 
> of the confusion is the entire concept of "first bootable harddisk" 
> which is what -boot c really means.
> 
> FWIW, the reason media=cdrom,boot=on doesn't work, is that a CDROM's 
> boot record is in el torito format instead of the traditional BIOS boot 
> sector.
> 
> media=cdrom,boot=on would work if the image was a disk image instead of 
> an ISO.
> 
> In fact, I'm inclined to think that media=cdrom,boot=on should not be 
> explicitly prohibited because of this fact.

To simplify, I think qemu should ignore "boot=on" when "if=ide".

Laurent
-- 
--------- Laurent.Vivier@bull.net ----------
"L'avenir ne se prévoit pas, il se prépare."
- Maurice Blondel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Failure to boot CDROM with -drive arg
  2008-07-08 15:03           ` Laurent Vivier
@ 2008-07-08 15:14             ` Anthony Liguori
  0 siblings, 0 replies; 13+ messages in thread
From: Anthony Liguori @ 2008-07-08 15:14 UTC (permalink / raw)
  To: Laurent Vivier; +Cc: Daniel P. Berrange, kvm

Laurent Vivier wrote:
> Le mardi 08 juillet 2008 à 09:59 -0500, Anthony Liguori a écrit :
>   
>> Laurent Vivier wrote:
>>     
>>> So, "boot=on" means in fact "bootable=true"
>>>   
>>>       
>> I guess.  I don't know that the later is more clear.  I think the source 
>> of the confusion is the entire concept of "first bootable harddisk" 
>> which is what -boot c really means.
>>
>> FWIW, the reason media=cdrom,boot=on doesn't work, is that a CDROM's 
>> boot record is in el torito format instead of the traditional BIOS boot 
>> sector.
>>
>> media=cdrom,boot=on would work if the image was a disk image instead of 
>> an ISO.
>>
>> In fact, I'm inclined to think that media=cdrom,boot=on should not be 
>> explicitly prohibited because of this fact.
>>     
>
> To simplify, I think qemu should ignore "boot=on" when "if=ide".
>   

It's necessary to boot from anything other than hda.  For instance:

qemu-system-x86_64 -hda foo.img -drive file=boo.img,if=ide,boot=on -boot c

Regards,

Anthony Liguori

> Laurent
>   


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-07-08 15:14 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-08  8:37 Failure to boot CDROM with -drive arg Daniel P. Berrange
2008-07-08  8:48 ` Laurent Vivier
2008-07-08  8:51   ` Daniel P. Berrange
2008-07-08  8:54     ` Laurent Vivier
2008-07-08  9:17 ` Soren Hansen
2008-07-08  9:21   ` Daniel P. Berrange
2008-07-08  9:29     ` Laurent Vivier
2008-07-08 13:01     ` Anthony Liguori
2008-07-08 13:45       ` Laurent Vivier
2008-07-08 14:59         ` Anthony Liguori
2008-07-08 15:03           ` Laurent Vivier
2008-07-08 15:14             ` Anthony Liguori
2008-07-08  9:28   ` Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox