Site Home Page
Downloads
The UML Wiki
The Old UML Site

The User-mode Linux Kernel Home Page

Run Linux inside itself
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.

User-Mode Linux gives you a virtual machine that may have more hardware and software virtual resources than your actual, physical computer. Disk storage for the virtual machine is entirely contained inside a single file on your physical machine. You can assign your virtual machine only the hardware access you want it to have. With properly limited access, nothing you do on the virtual machine can change or damage your real computer, or its software.

Applications
Here are some of the things that UML is used for:
  • Hosting of virtual servers
  • Kernel development
  • Experimenting with new kernels and distributions
  • Education
  • Sandbox
The UML Book
It's out!

It's written by me, and covers UML pretty comprehensively.

Available from the publisher and from Amazon.

Getting started
  • Download this kernel (or this one for 64-bit systems) and this filesystem (80M, uncompressing to 1.6G) (or this 64-bit filesystem)
  • Uncompress them:
    host% bunzip2 linux-2.6.24-rc7.bz2 FedoraCore5-x86-root_fs.bz2
    
  • Run UML as follows:
    host% chmod 755 ./linux-2.6.24-rc7
    host% ./linux-2.6.24-rc7 ubda=FedoraCore5-x86-root_fs mem=128M
    
    Boot log
  • Log in as root, no password needed:
    Fedora Core release 5 (Bordeaux)
    Kernel 2.6.19-rc7 on an i686
    
    localhost login: root
    [root@localhost ~]# 
    
  • Explore!
  • When you're done, shut it down:
    [root@localhost ~]# halt
    
    Broadcast message from root (tty0) (Tue Apr  4 17:18:01 2006):
    
    The system is going down for system halt NOW!
    INIT: Switching to runlevel: 0
    INIT: Sending processes the TERM signal
    
    Shutdown log

"Panic - Failed to open 'root_fs', errno = 2"

"F_SETLK failed, file already locked by pid n"

UML exits after a few lines of output

"Kernel panic - not syncing: Kernel mode signal 7"

"handle_trap - failed to wait at end of syscall"

On x86_64, processes randomly segfault

Hang after 'VFS: Mounted root...'
Where to go from here

For a lot more (and a lot less organized) information, see the old UML site.

Resources
This project is hosted at sourceforge.net. which provides a number of useful services:
  • This web site is hosted at SourceForge
  • Mailing lists
  • Bug reports may be sent to either list.
    Searchable list archives exist at MARC (uml-user, uml-devel) and gmane ( uml-user, uml-devel).
  • IRC (see www.irchelp.org/ for more information on IRC) - #uml on irc.oftc.net is where I hang out 2-3 days a week. It's good for general UML questions and chit-chat. #kernelnewbies on oftc.net is a also good place for UML questions and discussion that relate to kernel development in general.
Related Projects
http://clownix.net : A network simualation tool for UML - contains its own virtual switch
http://vde.sourceforge.net/ : Virtual Distributed Ethernet - layers a virtual ethernet over IP
http://www.dit.upm.es/vnumlwiki/index.php/Main_Page : Virtual Network User-Mode-Linux over IP
Robert P. J. Day's UML on Fedora Wiki
Thanks
Hosted at SourceForge Logo