Guido Günther <a...@sigxcpu.org> 2010-03-28 14:53:
> On Sat, Mar 27, 2010 at 02:15:45PM -0500, Brian Kroth wrote:
> > Package: libvirt-bin, qemu-kvm
> > Severity: important
> > 
> > Attempts to PXE boot with these two versions give the following error 
> > message:
> > 
> > # virsh start faitest32
> > error: Failed to start domain faitest32
> > error: internal error Process exited while reading console log output: char 
> > device redirected to /dev/pts/1
> > Cannot boot from non-existent NIC
> > 
> > From /var/log/libvirt/qemu/faitest32.log:
> > 
> > LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
> > HOME=/local.hd/users/bpkroth USER=root LOGNAME=root QEMU_AUDIO_DRV=none 
> > /usr/bin/kvm -S -M pc-0.12 -cpu qemu32 -enable-kvm -m 512 -smp 
> > 1,sockets=1,cores=1,threads=1 -name faitest32 -uuid 
> > 2b09b863-c3ca-a819-8580-4763a3fdd61d -nodefaults -chardev 
> > socket,id=monitor,path=/var/lib/libvirt/qemu/faitest32.monitor,server,nowait
> >  -mon chardev=monitor,mode=readline -rtc base=utc -boot dnc -drive 
> > if=none,media=cdrom,id=drive-ide0-1-0,format=raw -device 
> > ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive 
> > file=/home/vms/images/faitest32/faitest32.img,if=none,id=drive-virtio-disk0,boot=on,format=raw
> >  -device 
> > virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0 
> > -drive 
> > file=/home/vms/images/faitest32/faitest32-2.img,if=none,id=drive-virtio-disk1,format=raw
> >  -device 
> > virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk1,id=virtio-disk1 
> > -device 
> > virtio-net-pci,vlan=0,id=net0,mac=52:54:00:a1:90:92,bus=pci.0,addr=0x4 
> > -net tap,fd=56,vlan=0,name=hostnet0 -chardev pty,id=serial0 -device 
> > isa-serial,chardev=serial0 -usb -vnc 
> > 0.0.0.0:0,password,tls,x509=/etc/pki/libvirt-vnc -k en-us -vga vmware 
> > -device i6300esb,id=watchdog0,bus=pci.0,addr=0x7 -watchdog-action reset 
> > -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 
> > char device redirected to /dev/pts/1
> > Cannot boot from non-existent NIC
> Could you try to add execute this "by hand" and find the offending
> option?
>  -- Guido

Yeah, I did that.  It's as the other bug I linked said.  Basically,
libvirt changed the way it arranges the command lines from the XML so
that what was this in <=0.7.5:

-net nic,macaddr=52:54:00:a1:90:92,vlan=0,model=virtio,name=virtio.0 -net 
tap,fd=22,vlan=0,name=tap.0

became this in 0.7.7 (possibly also 0.7.6):

-device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:a1:90:92,bus=pci.0,addr=0x4 
-net tap,fd=23,vlan=0,name=hostnet0

The problem appears to be that qemu 0.12.3 (possibly for earlier
versions as well) doesn't parse the "-device virtio-net..." option as
being a NIC, so it fails to boot from it.  I have tried this with other
NIC models as well and they all result in the same problem - if the NIC
definition is given as a "-device" instead of a "-net nic", then qemu
refuses to boot from it.

Luckily I had a previous version of libvirt and company lying around on
a mirror server at work so I was able to revert that and get back to my
PXE booting.  I couldn't find previous versions (0.11.1+dfsg-1 is where
I was) for the qemu-kvm package to see if this still happened there.

I'll also note that libvirt 0.7.7 rearranges the XML so that the
<address...> blocks always appear, so I don't think it's possible to
convince it to go back to using the "-net nic" style of arguments.

Brian

Attachment: signature.asc
Description: Digital signature

Reply via email to