Site Home Page
The UML Wiki
UML Community Site
The UML roadmap
What it's good for
Case Studies
Kernel Capabilities
Downloading it
Running it
Skas Mode
Incremental Patches
Test Suite
Host memory use
Building filesystems
User Contributions
Related Links
The ToDo list
The HOWTO (html)
The HOWTO (text)
Host file access
Device inputs
Sharing filesystems
Creating filesystems
Resizing filesystems
Virtual Networking
Management Console
Kernel Debugging
UML Honeypots
gprof and gcov
Running X
Diagnosing problems
Installing Slackware
Porting UML
IO memory emulation
UML on 2G/2G hosts
Adding a UML system call
Running nested UMLs
How you can help
Kernel bugs
Kernel projects
A virtual network
An X session
A login session
A debugging session
Slackware installation
Kernel switches
Slackware README
ALS 2000 paper (html)
ALS 2000 paper (TeX)
ALS 2000 slides
LCA 2001 slides
OLS 2001 paper (html)
OLS 2001 paper (TeX)
ALS 2001 paper (html)
ALS 2001 paper (TeX)
UML security (html)
LCA 2002 (html)
WVU 2002 (html)
Security Roundtable (html)
OLS 2002 slides
LWE 2005 slides
Fun and Games
Kernel Hangman
Disaster of the Month

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.

This web site
  • This page contains brief descriptions of how people are using User-Mode Linux.
  • The kernel page has a brief description of the kernel, its capabilities, and how it makes use of the hosting kernel's resources.
  • The download page tells you what you need in order to run the kernel and where to get it.
  • The running it page describes how to run the kernel, what to do once it's running, and how to shut it down.
  • For some fun with UML, see the Sysadmin Disaster of the Month contest where you will trash a UML system and figure out how to fix it.
  • This page describes how to get the source and build it, plus how to compile and use kernel modules.
  • The to-do page lists the current major bugs, patches which would be nice to incorporate, and lousy code that needs to be cleaned up.
  • Here is a screenshot of a two-machine virtual network, with one node running a local X server and the other displaying an xterm onto it.
  • Rusty Russell wrote a nice HOWTO, which can be found here.
  • Also see David Coulson's UML community site for news, forums, and lots of other stuff.
Plus, there's lots more! Look at that sidebar on the left and see all the stuff that hasn't been mentioned yet.
This project has outgrown my ability to run it on a volunteer, part-time basis and parts of it have not had any attention for a while and have fallen seriously behind. So, I'm looking for people to help pick up the pieces that I've dropped.

There are jobs suitable for all ages and skill levels. See

  • Overview - the overall picture of what needs doing, plus some miscellaneous things that didn't fit anywhere else
  • Documentation - if you like doing documentation, this describes how the UML docs are done and lists some of the things that need doing
  • UML utilites - for people who code, this page describes what needs doing with the various UML utilities and a few other areas of userspace
  • UML version 1.0 - If you want UML to reach V1.0 already, here's the current list of bugs, small features, and cleanups that I want done before I consider it to have reached that milestone.
  • UML projects - If you're a far-seeing kernel hacker, this is my list of post-version 1 projects for UML.
There are a number of pages showing the user-mode kernel in action:
Search this site

You can make a donation to the UML project through PayPal, and help ensure that I can continue to spend time on it, by clicking on this button:

Or you can send it the old-fashioned way to this address:

Jeff Dike
375 Tubbs Hill Rd
Deering, NH  03244
Thanks to
  • Dartmouth ISTS and Bill Stearns for sponsoring the security work in UML
  • RidgeRun for sponsoring the floating point ptrace fixes
  • The UML SMP and highmem work, and the existence of the 2.5 BK repositories were sponsored by Cluster Filesystems.
  • Thanks to Steve Freitas, Harry Zink, and the PostNuke Project for donating an SMP box so that host SMP problems can be fixed.
  • HP contributed a nice IA64 workstation to the UML project.
If there's a UML feature that you need or a bug you want fixed now rather than when I get around to it, and you'd be interested in sponsoring the work, get in touch with me at jdike at karaya dot com.
This project is hosted at, which provides a number of useful services:
  • This web site is hosted at sourceforge
  • The project page , which contains pointers to everything associated with the project
  • Mailing lists

  • user-mode-linux-devel - for discussion of the innards, code, algorithms, etc.
    user-mode-linux-user - for discussion of the outards, questions about running the kernel, configuring it, etc.
    Bug reports may be sent to either list.
    Searchable list archives exist at MARC (uml-user, uml-devel) and gmane ( uml-user, uml-devel).
  • CVS - The code is in cvs, and can be browsed from here. There is also anonymous CVS, which can be accessed by
    cvs -d cvs command
  • IRC (see for more information on IRC) - #uml on is where I hang out 2-3 days a week. It's good for general UML questions and chit-chat. #kernelnewbies on is a also good place for UML questions and discussion that relate to kernel development in general.
Send any questions, comments, flames, etc to jdike at karaya dot com
Hosted at SourceForge Logo