[libvirt-users] host to VM serial device configuration

John Paul Walters jwalters at isi.edu
Fri Jan 14 19:35:31 UTC 2011


On Jan 14, 2011, at 9:44 AM, Daniel P. Berrange wrote:

> On Sat, Jan 15, 2011 at 01:09:07AM +1100, Justin Clift wrote:
>> On 14/01/2011, at 9:39 PM, Daniel P. Berrange wrote:
>>> On Fri, Jan 14, 2011 at 11:50:01AM +0800, Osier Yang wrote:
>>>> 于 2011年01月12日 23:11, John Paul Walters 写道:
>>>>> Hi,
>>>>>
>>>>> I'm trying to get a virtual serial device up and running between  
>>>>> my host
>>>>> and virtual machine with a device name on the host. I'm using  
>>>>> libvirt
>>>>> 0.8.3 and qemu 0.13.0. The challenge that I'm running into is  
>>>>> that I'm
>>>>> able to get a serial device, but I cannot fix it to a pre- 
>>>>> defined device
>>>>> name. For example, I'm using the following in my VM's xml file:
>>>>>
>>>>> <serial type='pty'>
>>>>> <source path='/dev/pts/19' />
>>>>> <target port='0' />
>>>>> </serial>
>>>>>
>>>>> As I said this works, but it doesn't set the host side to /dev/ 
>>>>> pts/19.
>>>>> Is there any way to do this?
>>>>
>>>> I could reproduce it, trying to find out why.
>>>
>>> When using type='type', the source path is an output only
>>> attribute. You can't control it yourself, it is autoassigned
>>> by the kernel as it sees fit.
>>
>> Any idea if it's the kind of thing whose name could be selected or  
>> changed
>> using udev rules?
>
> No, these aren't normal devices. This is a magic filesystem
> which creates entries on the fly.

Thanks for the replies.  I'm not necessarily stuck on type='pty'.  I  
just need to be able to pin the device name or a pipe name to  
something known on the host side.  Along those lines, I've tried using  
type='pipe' like so:

<serial type='pipe'>
	<source path='/tmp/mypipe' />
	<target port='1' />
</serial>

I've created the /tmp/mypipe.in and /tmp/mypipe.out using mkfifo per  
the qemu directions.  But I'm not sure what this is supposed to look  
like on the VM-side.  I notice that I have a ttyS1 in the VM, which I  
believe is connected to the pipe on the host side, but do I use this  
as a serial device or as a named pipe?

regards,
JP





More information about the libvirt-users mailing list