VirtualBox

From ReactOS Wiki
Revision as of 23:43, 4 April 2009 by Haos (talk | contribs) (Redirect to named pipe (Win32 host))
Jump to: navigation, search

VirtualBox is a virtual machine for x86 architecture developed by innotek and maintained by Sun Microsystems. There are two versions: the full VirtualBox package with a proprietary license and the VirtualBox Open Source Edition (GPL).

It's easier to configure than QEMU and slightly slower than VMware.

The best results tend to be obtained by configuring the ReactOS VM using the 'Windows/Windows NT4' template or 'Other/Other'.

Getting debug output

Redirect to named pipe (Win32 host)

Virtualbox and any other application that needs to access Named Pipes in Vista, must be elevated to Administrator.


1. Using putty only:

On Virtualbox serial menu set up the following: Port mode to Host Pipe, tick the create pipe, finally type the named pipe path, for example:

\\.\pipe\ros_pipe

Run Putty. On Vista it must be elevated to Admin, as anything that is to use named pipes. Select the serial as connection type, set speed to 115200 baud and put the named pipe path as serial line. Instead of ros_pipe, you can use any unique name, only mind to follow the \\.\pipe\[pipe name] scheme.

Start virtual machine first, then open the putty session. When you close down the VM window, putty will change to inactive state and display error message, but when you restart the vm, you can easily reconnect that session by pressing right mouse button on window top bar and selecting Restart session.


2. Using Vmwaregateway: You need to download the VmwareGateway application. Start it with /r option to make it run as a service (in Vista you have to use an elevated cmd for this). Next you need to start the service, using SC command:

sc start vmwaregateway

Sort out any firewall popup if applicable. Finally, use your favourite telnet client to connect to localhost on port 567.

To configure your VM, set it to Host Pipe with the following pipe adress:

\\.\pipe\vmwaredebug

Make sure you do not mark the create pipe box. vmwaregateway has already created it. Debug output should appear in your telnet client.

Redirect to console (Linux host)

Using socat

If you just simply want a display of the debug output in a terminal window, socat works nicely.

The usage is very simple:

socat unix-client:pipe_path stdout

You could also do this:

socat unix-client:pipe_path stdio

Substitute "pipe_path" with the path of the pipe you created using VirtualBox.

If ReactOS crashes, you should still be able to type in the VirtualBox window - eg within a debug session. You'll see the input and output on the console window which socat is running in.

Using minicom

This guide is based on the terminal application minicom. First install it by typing:

sudo apt-get install minicom

Then you will have to configure a pipe. Type Ctrl+A, then O. Select Configure serial ports, and name the device

unix#pipe_path

where "pipe_path" is a file like /tmp/vboxlog which will be used as pipe between the VM and minicom.

Create the new Virtual Machine in VirtualBox, then go to the Serial Ports configuration. Select Host pipe, type the "pipe_path" and select Create Pipe.

Make sure that pipe_path is exactly the same on both minicom and VirtualBox.

Redirect to file (Linux host)

When running minicom, type Ctrl-A then L. Type the name of the capture file.

Serial port output using com0com

Install and configure com0com according to the com0com guide.

Enable the first serial port for your ReactOS machine. Use port number "COM1", mode "host device" and port path "COM4" or whatever virtual port you created first with com0com.

Connect your terminal application to your second virtual port and start up VirtualBox.

Installing Guest Additions

This is NOT recommended for now as there are some bugs the mouse and graphics driver which will make the system useless after install.

Just mount the CD in the CD-Drive and open the file VBoxWindowsAdditions.exe and follow the setup instructions.

The graphics driver can be controlled by Registry-Hacks only. The mouse driver apparently doesn't work at all.