Bering
Home
About
Developing
   Section 1
   Section 2
   Section 3
   Section 4
   Section 5
   Section 6
   Section 7

Search Web Pages




1. Introduction

1.1. Why using a virtual environment?

I see two main reasons for using a virtual environment while working on LEAF:

First, we still need a specific development environment - namely Debian/slink - built around glibc 2.0 to build userland programs. Kernel development does not need glibc but needs sometime a specific GCC compiler. The main reason is that the footprint of programs compiled in this environment is much smaller than the one we get with more recent versions of glibc. The drawback is that this version of Debian is now outdated and it becomes more and more difficult to find it.

But even if LEAF is moving one day to glibc 2.1 or 2.2, the creation of a specific virtual machine would allow the possibility to create a "standard" development environment which could be used by every LEAF developer whatever their own Linux "host" machine looks like. This environment could, for example, be created following the route suggested by Linuxfromscratch.

Second, testing: I find it very frustrating, whenever a change is made to a LEAF package, to make a floppy boot on another machine: it implies moving files in and out of the floppy, waiting for a slow booting process. Can be very frustrating during a development period...

To sum up you can think about the following applications:

  • To be able to run a virtual Debian/slink or a Debian/Woody machine within a Redhat/7.1 or a Mandrake/8.0 machines under a non root account. You can have root privilege under this virtual machine without any risk for the host machine and you can share files with your host machine and get network access.

  • I am able to run a virtual LEAF Bering router (with a 2.4.18 kernel) within my host, with the same advantages as above, and a much quicker boot time since I am not booting from a floppy.

But there are probably many more usages I have not explored yet:

  • One could think of getting rid of the dedicated router box altogether and running LEAF under a virtual machine.

  • One could also think of using several virtual machines to test various LEAF configurations: firewalls, routers, tunnels, DMZ, you name it...

  • Other ideas folks ?

1.2. Feedback

Comment on this paper can be sent to the author <jnilo@users.sourceforge.net>.

1.3. Acknowledgments and Thanks

Thanks to everyone who help me on this work and especially the members of the leaf-devel, leaf-user and UML user mailing list. Jeff Dike deserves special thanks for his great job with UML and his patience with newbies questions :-).

1.4. Changelog

Minor cleanup, December 20002, thanks to Andrew Braund

Updated November 2002 to introduce a virtual Debian/Woody machine used for Bering kernel development

Updated July 2002 to take care of several UML and Bering evolutions

Original Paper - November 2001

1.5. Useful references

  • The user-mode-linux home page, where you will meet all the UML gurus

  • The user-mode-linux community home page. A recent addition by D. Coulson.

  • Created on 2004-03-26 10:41:00 by mhnoyes
  • Updated on 2004-03-27 07:14:31 by mhnoyes

 Printable Version


Hosted on Get LEAF Linux Embedded Appliance Framework at SourceForge.net. Fast, secure and Free Open Source software downloads, and powered by phpWebSite.