Release Management/User Mode Linux
Intoduction to UML(User Mode Linux)
User-mode Linux (UML) enables multiple virtual Linux systems (known as guests) to run as an application within a normal Linux system (known as the host). As each guest is just a normal application running as a process, this approach provides the user with a way of running multiple virtual Linux machines on a single piece of hardware, offering excellent security and safety without affecting the host environment's configuration or stability.
To explain UML better I would say, it is technically a Virtual OS rather than a Virtual System.
As per installation is concerned UML requires only one package to be installed, that is uml-utilities.
Debian users can install it using
apt-get install uml-utilities
Gentoo users can install it using
emerge -av sys-apps/usermode-utilities
Configuring UML consists of steps like downloading Kernel (script) and filesystem (block device).
For normal functionality of UML user has just download the required files and follow these simple steps
bunzip2 kernel.bz2 filesystem.bz2 chmod 755 ./kernel ./kernel ubd0=filesystem mem=1024M tuntap=,,,172.20.2.1
- Note Separate block devices can be added for /home and other directories using ubd1, ubd2 and so on.
- Note Replace 172.20.2.1 with the ip you want to assign to tap device.
But @Openbravo while configuring UML we made some changes. To explain the changes I would first like to explain the structure UML. It boots from a script that acts a kernel for the virtual environment in the process of booting it looks for a block device which contains a minimal/full Operating System. On understanding this behavior of UML we changed the block device with our own Xen image (as this is also a block device). The purpose of replacing the image was to get a pre-installed Openbravo instance in our virtual system.
User-Mode Linux is a safe, secure way of running Linux versions and Linux processes. Run buggy software, experiment with new Linux kernels or distributions, and poke around in the internals of Linux, all without risking your main Linux setup.
Their are a number of pros related to UML.
- Fully authentic Linux environment.
- Full network, file systems etc.
- Fully controllable from host.
- And many more
As such I don't see any cons in UML, but after having The Twist we fased some issues, like
- There was no login screen, so to counter that we used ssh.
- As with out logging in we had to mount the image (file system) and make changes like dhcpd to static IP and adding rsa/dsa key to specific file to enable ssh login.
- The major issue which we noticed was the modules required and available were not matching (eg. after changing the image iptables are not working properly on 32 bit UML)