|
Section:
|
Introduction
|
Description:
|
It will be a good idea to have previous knowledge of installing and running a UML,
before using umvs. If you have not, or you don't know what a UML is, then I
suggest go to the UML website
and get yourself acquainted with user-mode Linux.
|
|
Section:
|
Specs
|
Description:
|
umvs specifications:
Languges: C++, Bash
Configuration file format: XML
License: GNU General Public License(GPL)
Develpoment environment: Kdevelop 3, gcc-3.2.2
Develpoment platform: Redhat 9, Fedora Core 2
Testing platform: Redhat 9, Fedora Core 2
Compatibility: Linux only
Dependancies:
|
|
Section:
|
Compilation & Installation
|
Description:
|
Running:
bash$ ./configure --prefix=/usr --sysconfdir=/etc
...
bash$ make
...
bash$ make install
...
bash$
|
will install the umvs executable and scripts into /usr/bin and the
configuration files in /etc/umvs. The defaults are /usr/local/bin
and /usr/local/etc/umvs respectively. Run ./configure --help to see all the
available configuration options.
|
|
Section:
|
Configuration
|
Description:
|
/umvs/umvs-config Node
Configuring the /umvs/umvs-config node is very straight forward,
please refer to the
/umvs/umvs-config
node reference for a description of each attribute.
/umvs/umvs-network Node
First of all, decide which network topology you are interested in using. Refer
to the Network Topologies section
for the available topologies(each topology is described in detail in the
/umvs/umvs-network node
reference ). When you have done that, configure the attributes(again
refer to the /umvs/umvs-network
node reference ).
Note: When neither the ethernet or the tap device is specified, umvs
will create and configure only the bridge connected to the UMLs,
this means that the bridge has to be connected to another device to be able
to have network connectivity. The connection between the bridge and the other
device should be taken care of by you, umvs will though provide for
opportunity to configure other devices in the init script to try and aid you
in the task.
Now is a good time to make shure that your
dhcpd daemon is configured and in place. You don't have to start it, umvs
will take care of that.
|
|
Section:
|
Adding a new UML
|
Description:
|
The following will happen when a new UML gets
added(umvs -a [ID] ):
First umvs will find out if the ID is available.
If the ID is available, then the IP address will be determined by parsing the dhcpd.conf file.
When a host entry, with the same name as the ID, exists, then that host entry will be used to configure
the UML(IP address, MAC address and hostname). This also in effect means
that any changes to dhcpd.conf, will be applied to the UMLs. If no host entry exist, then it will
be generated and added by umvs using the next availbale IP address, a MAC address generated from the ID
and a hostname(if the hostname is not specified, the ID will be prepended to the hosts' hostname and used as
a hostname for the new UML, for example ID.yourhostname.com).
The /umvs/umls/uml node is then added to umvs_conf.xml.
umvs_conf.xml is reparsed, and the following directories are created:
'home'/ID/ - contains the COW and swapfile(the swapfile will also be created, but only if the swap size is specified in the template).
'ulm_dir'/ID/ - mconsole dir, will contain the socket and PID file of the UML when started.
And lastly, the UML gets enabled(default).
|
|
Section:
|
Starting the UML
|
Description:
|
The following will happen when a new UML gets
initiated(umvs -I [ID] ):
The network will be configured and started if it is not allready up.
dhcpd.conf, umvs_conf.xml and umvs_spec.xml are parsed to check for updates
and to see if the UML is enabled.
Any modifications are applied.
The specified template is parsed.
-
-
The UML is initiated/started by executing the following command(this will depend on
your template configuration ):
-
/usr/bin/screen -dmS william_www su - william -c '/umvs/bin/linux-2.4.20 ubd0=../../misc/home/www/www_uml.cow,/umvs/rh9server/root_fs ubd1=../../misc/home/www/www_uml.swapfs con=null con0=fd:0,fd:1 fake_ide fakehd mem=128M ubd=3 uml_dir=../../misc/uml_dir umid=www eth0=tuntap,william_www0,FE:FD:4E:AE:35:F1'
|
The UML init output can be viewed in the configured UML log file.
|
|
|
|
|
|