The COM1 - pipe using VBoxModify - vanishes on VM power-off.

Discussions related to using VirtualBox on Linux hosts.
Post Reply
Chandan
Posts: 1
Joined: 30. Jun 2008, 20:36

The COM1 - pipe using VBoxModify - vanishes on VM power-off.

Post by Chandan »

Hello all,

I compiled VirtualBox on fedora 9 , and excellent, only headers in some files had to be changed to old style c headers ( example, string.h to cstring etcetera ), as some variables scope definitions vary. No problem other than this.

also while building I specified 'kmk -j 2' for my dual core T8250 Processor , and I can see how excellently it balances the load on both cores with my monitors set-up.

Keep it up guys, My heartily compliments. it is simple and very functional and straight forward. I just hope you guys get good funds along with appreciations, because you guys really deserve and i understand what goes on in creating such software :) .

Now coming to the place where I need your help.

I have a VM (Solaris 10 installed). I have enabled Serial Port - COM1 and have used host pipe.

when the GUI gave errors to create this pipe, I created using the following commands and they worked.

-----------------------------------------------
chandan@localhost ~ $ VBoxManage modifyvm cluster-node01 -uart1 0x3F8 4
chandan@localhost ~ $ VBoxManage modifyvm cluster-node01 -uartmode1 server /tmp/cluster-node01-com1

-----------------------------------------------

and I see the create check is ticked and things work fine, but the socket is created when the VM boots and the socket is gone when I poweroff.

I do not want it to create every time, and delete the socket on every shut down. I want it to create for once and use the same, So that I can write a script , using which other users can monitor the console, and see boot messages etcetera for the guest.

So, I decided to create this myself and also wrote my own program to create the host pipe ( actually a socket is created in Linux) .

Program follows :

-----------------------------------------------
chandan@localhost ~ $ cat ./create_socket.c
//create_socket.c
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

int main()
{
mknod("/tmp/cluster-node01-com1",S_IFSOCK,2);
system("chmod a+rwx /tmp/cluster-node01-com1");
system("ls -ltrh /tmp/cluster-node01-com1");
return 0;
}

chandan@localhost ~ $

-----------------------------------------------

and when I ran this , the output was as expected :

-----------------------------------------------
chandan@localhost ~ $ ./create_socket
srwxrwxrwx 1 chandan chandan 0 2008-06-20 00:28 /tmp/cluster-node01-com1
chandan@localhost ~ $
chandan@localhost ~ $ file /tmp/cluster-node01-com1
/tmp/cluster-node01-com1: socket
chandan@localhost ~ $

-----------------------------------------------

but now when I un-check the create in VirtualBox Serial Options for COM1 and try to start the VM I am getting the following error message and the VM is powering off and not coming up.

error message follows :

--------------------------------

NamedPipe#0 failed to connect to local socket /tmp/cluster-node01-com1.
VBox status code: -461 (VERR_NET_CONNECTION_REFUSED).


Result Code:
0x80004005
Component:
Console
Interface:
IConsole {8b029405-b41f-40c2-9d01-b854a39f7d48}

--------------------------------

and even with socat I am getting the following error :

--------------------------------
chandan@localhost ~ $ socat /tmp/cluster-node01-com1 -
2008/06/20 00:31:59 socat[13283] E connect(7, /tmp/cluster-node01-com1, 110): Connection refused
chandan@localhost ~ $

--------------------------------

>> kindly someone please help me set this up.

>> also I wanted to use serial console facility for input and output both, not just monitoring and watching boot messages etcetera, I tried minicom but without success, if anyone can help me and give some info on this , I will be very thankful.

Kind Regards and once again many compliments to the developers of VirtualBox.

-- Chandan.
( Chandan.maddanna@gmail.com )
Post Reply