cannot boot from network - roms missing

Bug #819486 reported by Michal Suchanek
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ipxe (Ubuntu)
Fix Released
Undecided
Unassigned
qemu-kvm (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

The kvm package does not contain any PXE roms nor does it depend on or suggest another package containing them.

Debian uses ipxe roms with kvm, and ipxe is already in Ubuntu so I don't see any reason why there can't be package placing the roms where kvm searches for them.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: qemu-kvm 0.14.1+noroms-0ubuntu1
ProcVersionSignature: Ubuntu 3.0.0-5.6-generic 3.0.0-rc7
Uname: Linux 3.0.0-5-generic x86_64
Architecture: amd64
Date: Mon Aug 1 21:36:48 2011
KvmCmdLine: Error: command ['ps', '-C', 'kvm', '-F'] failed with exit code 1: UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-5-generic root=UUID=ae7d5095-c8b3-4205-af0e-032b0e124ec3 ro splash vt.handoff=7
SourcePackage: qemu-kvm
UdevDb: Error: [Errno 2] No such file or directory
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 02/23/2010
dmi.bios.vendor: Intel Corp.
dmi.bios.version: CBQ4510H.86A.0119.2010.0223.1522
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: DQ45CB
dmi.board.vendor: Intel Corporation
dmi.board.version: AAE30148-302
dmi.chassis.type: 3
dmi.modalias: dmi:bvnIntelCorp.:bvrCBQ4510H.86A.0119.2010.0223.1522:bd02/23/2010:svn:pn:pvr:rvnIntelCorporation:rnDQ45CB:rvrAAE30148-302:cvn:ct3:cvr:

Related branches

Revision history for this message
Michal Suchanek (hramrach) wrote :
Revision history for this message
Serge Hallyn (serge-hallyn) wrote : Re: [Bug 819486] [NEW] cannot boot from network - roms missing

Thanks for submitting this bug and helping to make Ubuntu better.

Note that pxe is enabled by the roms in the kvm-pxe package.

However, I agree that now that ipxe is packaged, its roms should be
symlinked into /usr/share/qemu/.

That probably should be done, as it is in etherboot, in the
ipxe package itself.

Revision history for this message
Michal Suchanek (hramrach) wrote :

I am not particularly concerned which roms are used so long as they are easily available.

As is it is nearly impossible to find the roms. There are many packages concerning pxe so digging the right one when kvm does not even suggest it is quite difficult.

The etherboot roms are mostly broken but at least the rtl8139 one works in most cases so that's good enough.

Not that ipxe is much better. Either tends to fail miserably if you happen to load the the pxeonly image of ipxe/gpxe and boot using that. With the new ipxe roms there is at least some hope somebody might fix them someday, though.

Note that the ipxe roms need to be padded (eg using truncate) to 32k/64k before they can be used in kvm.

Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

Thanks, Michal.

Do you have any suggestions for what we could do to help people find and
use the kvm-pxe roms?

Would you have looked first at the kvm man page for help? If so, do you
have a suggestion for what text to insert where?

Changed in qemu-kvm (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Scott Moser (smoser) wrote :

Why would the kvm-qemu package not 'Suggest' or even 'Recommend' kvm-pxe (or ipxe).
I'm guessing it doesn't Suggest to avoid the main inclusion, but that probably is something that should happen anyway.

Realistically, kvm and network boot is something that needs to be supported.

Revision history for this message
Michal Suchanek (hramrach) wrote :

The package that requires the roms (qemu-system or qemu-kvm in this case) should recommend or suggest the package that contains them.

I looked in the man page and I found no information about installing roms whatsoever. If it is supposed to be helpful in this regard it should mention the location where the roms are searched by qemu and kvm (I had to use strace to determine that). This is obviously an upstream issue.

Once this is resolved it is much easier to search for the roms in packages by filename or a note could be added which package provides the the roms in Ubuntu.

It seems the roms do not need to be padded with recent qemu. I used some guide that recommended it but qemu in Debian uses the ipxe roms directly without any issues.

Thanks

Michal

Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

@Scott

Looks like Dustin had invited MIRs for etherboot some time ago, but no one ever filed one. (see https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/551474). MIR for kvm-pxe/etherboot or ipxe would definately be welcome, though of course the security team might still reject them. If someone else doesn't get around to it before I get a chance, I will do so, but please feel free to preempt me.

Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

I was going to add kvm-pxe and ipxe to the Suggests: for now, but I see that kvm-pxe is in fact already in qemu-common's Suggests.

Revision history for this message
Michal Suchanek (hramrach) wrote :

I don't think hiding dependencies in qemu-common is a good idea.

qemu-user does not depend on qemu-common but qemu-common is supposed to pull docs as well - does qemu user not need those? And where are those, anyway?

qemu-kvm and qemu-user both depend on qemu-common and the former also depends on bridge-utils, iproute, upstart-job and whatnot while the latter does not but depends on qemu-keymaps instead. Don't see why there should be any difference.

Obviously, qemu-common fails at bringing any uniformity into qemu dependencies, only hides them from the user.

Revision history for this message
Serge Hallyn (serge-hallyn) wrote : Re: [Bug 819486] Re: cannot boot from network - roms missing

Quoting Michal Suchanek (<email address hidden>):
> I don't think hiding dependencies in qemu-common is a good idea.

I'm not sure what the original rationale was for qemu-common. Removing
it may make sense.

> qemu-user does not depend on qemu-common but qemu-common is supposed to
> pull docs as well - does qemu user not need those? And where are those,
> anyway?

qemu-user is a completely separate package providing the non-accelerated
emulators. If it's missing documentation, then a bug should indeed be
opened against qemu-user.

The docs for qemu, qemu-img, etc are in the qemu-kvm package.

> qemu-kvm and qemu-user both depend on qemu-common and the former also
> depends on bridge-utils, iproute, upstart-job and whatnot while the
> latter does not but depends on qemu-keymaps instead. Don't see why there
> should be any difference.
>
> Obviously, qemu-common fails at bringing any uniformity into qemu
> dependencies, only hides them from the user.

As far as the kvm-pxe dependency goes, however, doing

 apt-get install qemu-kvm

shows kvm-pxe in the list of Suggested packages.

Nevertheless, working on getting kvm-pxe and ipxe into main, and then
making qemu depend on them, is the best solution for this bug.

Revision history for this message
Michal Suchanek (hramrach) wrote :

On 6 August 2011 00:50, Serge Hallyn <email address hidden> wrote:
> Quoting Michal Suchanek (<email address hidden>):

>> qemu-user does not depend on qemu-common but qemu-common is supposed to
>> pull docs as well - does qemu user not need those? And where are those,
>> anyway?
>
> qemu-user is a completely separate package providing the non-accelerated
> emulators.  If it's missing documentation, then a bug should indeed be
> opened against qemu-user.
>
> The docs for qemu, qemu-img, etc are in the qemu-kvm package.

i A --\ qemu-common 0.14.1+nor 0.14.1+nor
  Description: qemu common functionality (bios, documentation, etc)
    This package pulls in the various binary bios rom blobs needed to boot
    the various emulated architectures, as well as the documentation.

but no docs are in the dependencies.

Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

ipxe now installs the links to roms under /usr/share/qemu, so this bug is fixed against that target. qemu-kvm fix is coming shortly

Changed in ipxe (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qemu-kvm - 0.14.1+noroms-0ubuntu4

---------------
qemu-kvm (0.14.1+noroms-0ubuntu4) oneiric; urgency=low

  * Add a line to the extended package description pointing to ipxe for
    network installs (LP: #819486)
  * Change the qemu-common Suggests from kvm-pxe to ipxe, as ipxe is newer
    and is in main.
 -- Serge Hallyn <email address hidden> Mon, 12 Sep 2011 10:16:55 -0500

Changed in qemu-kvm (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.