Tuesday, January 25, 2011

Virtualization with VirtualBox


VirtualBox is an open source software virtualization system. For those not really familiarized with virtualization technologies I will say that basically it is a program that allows you to run an operative system inside another operative system.

For instance you could run a Windows XP inside our brand new Ubuntu 10.04 (See fig.1). Of course you may wonder why the hell would you even want to have a Windows XP running in your computer, but this is a complete different history.

Fig.1 Windows XP running inside Ubuntu 10.04

In today's domestic world there are plenty of professional applications like Oracle that could be interesting to have and install but that it takes a lot of resources from the machine, here we can find a good usage of a virtual machine. You can create your virtual machine, install Oracle and have it ready to be used whenever you need it.

In professional world virtualized environment are really in trend. You can find a lot of different architectures (Several virtual machines running in the same computer at the same time working as a replication of a real distributed system, the same architecture serving as Testing environment in the different testing phases, virtualized platforms as development environment, integration environment etc).

Maybe the most famous commercial tool for virtualization is VMware, VirtualBox as far as I tested offers almost the same but for free. Here you can find an interesting comparative done by a blogger.

A. Installing VirtualBox

VirtualBox is included in the Ubuntu repository so you just need to open Synaptic (System --> Administration --> Synaptic Package Manager) and look for virtualbox-ose package. Once installed you can find it under Applications --> Accessories

B. Creating New Virtual Machine

VirtualBox is provided with a quite intuitive graphical interface, to create a new Virtual Machine just click on the wheel at the top left of the interface.
A wizard will (See fig.2) guide you all over the installation, asking you for the name and type of the virtual machine, the amount of ram that you want to dedicate for it and if you want to create a new Virtual hard disk or use an existing one.

Fig.2 New virtual machine wizard

If you want to create a new Virtual hard disk I highly recommend you to select the "Dinamically expanding storage" so the file in your computer associated to this Virtual hard disk will grow as far as you store information inside the virtual machine.


C. Configuring a Virtual Machine
If you want to access to your virtual machine in a easy way from your main Operative System (Host operative system) you need to configure the virtual machine network as a bridged adapter. To do so, select you virtual machine (Ensure that is powered off because otherwise you will not be able to modify any parameter) click on network and set it up as in Fig.3



Fig.3 Configuring the Network


D. Troubleshooting

If you retrieve an error like "  * modprobe vboxnetflt failed. Please use 'dmesg' to find out why [fail]" when you try to run the virtual machine with a bridged connection, try to remove the package virtualbox-ose-guest-dkms. You can find a better explanation for this issue here.



Monday, January 24, 2011

C Development Tools

C Development Tools

Life changed for C and C++ Developers with the arrival of CDT for Eclipse. Eclipse is one of the most famous IDEs (Integrated development environments) based in plugin approach architecture allowing to program in different technologies and languages under the same graphical framework.

CDT is an open source plugin that enhance Eclipse with the needed features to develop in C and C++ both large and small projects. It brings all the typical characteristics of an IDE (Syntax highlighting, Code completion etc) and it can be of course combined with other external tools like control version systems (CVS, SVN etc).

A. Installing Eclipse.

You have basically two ways to install Eclipse:

The classical one (Synaptic → Eclipse) and

Directly downloading from Eclipse download page (Eclipse for C/C++ Developers).

If you choose the second option, you can download the version that includes CDT from the Eclipse download page (See Fig.1) and therefore you can avoid the “Installing CDT” step, but if you are planning on download a whole Eclipse for each feature that you need you will probably waste a lot of space in your hard disk. Therefore I recommend you to choose the first option.

Fig.1 Eclipse download page

B. Installing CDT.

If you choose the first option, you need to follow a couple of extra steps to install an run CDT:

1. Go to the download main page of the CDT Project and log the repository version that you need. In my case I am going to install it on a Eclipse Galileo (Is the one that is installed by default in Ubuntu 10.04) so my repository is http://download.eclipse.org/tools/cdt/releases/galileo

2. Open Eclipse and click on Help –> Install New Software. A new windows is opened, just paste the repository address in the first text box (See fig.2) and wait until the CDT Installation packages appears.

Fig.2 Adding CDT to Eclipse

3. Select both installation packages (CDT Main Features and CDT Optional Features) and click Next. Leave the next screens as it appears and if you do not receive any error message it means that CDT is now installed and integrated in your Eclipse.