[libvirt] How to connect to console of domain on PowerPC?
Daniel P. Berrange
berrange at redhat.com
Mon Feb 4 10:18:35 UTC 2013
On Mon, Feb 04, 2013 at 02:22:03AM +0000, Yin Olivia-R63875 wrote:
> For instance,
> /usr/bin/qemu-system-ppc -name demo -M ppce500v2 -enable-kvm -m 256 -nographic -kernel /media/ram/uImage -initrd /media/ram/ramdisk -append "root=/dev/ram rw console=ttyS0,115200" -serial tcp::4445,server
>
> Then to run 'telnet 10.193.20.xxx 4445' could connect the guest.
>
>
> The temporary workaround is not add '-device' string after '-serial' option.
This is wrong. -serial is legacy command line syntax that libvirt should never
use for any QEMU released in the last 2 years. New syntax is uses a combination
of -device + -chardev.
> diff -Nur libvirt-0.10.1.orig/src/qemu/qemu_command.c libvirt-0.10.1/src/qemu/qemu_command.c
> --- libvirt-0.10.1.orig/src/qemu/qemu_command.c 2012-08-30 15:35:18.000000000 +0530
> +++ libvirt-0.10.1/src/qemu/qemu_command.c 2012-10-05 17:19:32.060368755 +0530
> @@ -5501,13 +5501,15 @@
> virCommandAddArg(cmd, devstr);
> VIR_FREE(devstr);
>
> - virCommandAddArg(cmd, "-device");
> - if (!(devstr = qemuBuildChrDeviceStr(serial, qemuCaps,
> + if (!STREQ(def->os.arch, "ppc")) {
> + virCommandAddArg(cmd, "-device");
> + if (!(devstr = qemuBuildChrDeviceStr(serial,
> + qemuCaps,
> def->os.arch,
> def->os.machine)))
> - goto error;
> - virCommandAddArg(cmd, devstr);
> - VIR_FREE(devstr);
> + goto error;
> + virCommandAddArg(cmd, devstr);
> + VIR_FREE(devstr);
> + }
> } else {
> virCommandAddArg(cmd, "-serial");
> if (!(devstr = qemuBuildChrArgStr(&serial->source, NULL)))
>
> Applying the above patch to libvirt, all the other domain control commands could work except 'virsh console domain'.
>
> # cat >demo.args <<EOF
> > /usr/bin/qemu-system-ppc -name demo -M ppce500v2 -enable-kvm -m 256
> > -nographic -kernel /media/ram/uImage -initrd /media/ram/ramdisk
> > -append "root=/dev/ram rw console=ttyS0,115200" -serial
> > tcp::4445,server -net nic EOF
>
> # vi demo.args
> /usr/bin/qemu-system-ppc -name demo -M ppce500v2 -enable-kvm -m 256 -nographic -kernel /media/ram/uImage -initrd /media/ram/ramdisk -append "root=/dev/ram rw console=ttyS0,115200" -serial tcp::4445,server -net nic
If you think libvirt has a problem generating command line args, then
rather than telling us about some random command line args you've
created yourself, please provide the actual args that libvirt has
generated. See /var/log/libvirt/qemu/$GUESTNAME.log for those.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list