Site Home Page
What it's good for
Case Studies
Kernel Capabilities
Downloading it
Running it
Compiling
Installation
Building filesystems
Troubles
User Contributions
Related Links
The ToDo list
Projects
Diary
Thanks
Contacts
Tutorials
The HOWTO (html)
The HOWTO (text)
Host file access
Device inputs
Sharing filesystems
Creating filesystems
Virtual Networking
Management Console
Kernel Debugging
gprof and gcov
Running X
Diagnosing problems
Configuration
Installing Slackware
Porting UML
IO memory emulation
UML on 2G/2G hosts
Adding a UML system call
How you can help
Overview
Documentation
Utilities
Kernel bugs
Kernel projects
Screenshots
A virtual network
An X session
Transcripts
A login session
A debugging session
Slackware installation
Reference
Kernel switches
Slackware README
Papers
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)
Fun and Games
Kernel Hangman
Disaster of the Month

Downloads

UML download mirrors
The UML downloads are available from a number of mirrors:

UML Mirror Location

This page will connect you to the mirror.

If you hate this new-fangled download page and want the SourceForge project download page back, click here .

The host
First off, the host machine needs to be an i386 Linux box running 2.2.15 or later, or 2.3.22 or later (including any 2.4 kernel). If you have an earlier kernel, and for some reason you don't want to upgrade, then you can still run UML by applying this patch to it. But you should really get a more modern kernel.
The recommended installation
Minimally, you need a UML kernel and a root filesystem to boot it on. Almost everyone should get the kernel by installing either the RPM or deb. These also provide a set of userspace tools, kernel modules, and documentation.

The tools aren't needed for basic use of UML, but they are needed for networking, managing COW filesystem files, and using the management console.

RPMs File Type : RPM
Name Release Date Download Size (bytes)

debs are no longer available here, since there are now official UML debs in unstable. So, just point your apt.sources at either testing or unstable if it isn't already, and 'apt-get install user-mode-linux'.

Here are some URLs for people who want to point and click:

The root filesystem
There are a number of bootable root filesystems available for download. They cover most of the major distributions and a number of more specialized, minor ones. They are compressed filesystem images and typically are downloads of tens of megabytes, uncompressing to several hundred megs.

If this is too large a download for you, the tomsrtbt filesystem is small enough to be reasonable for almost everyone. For its size, it provides an amazing number of tools. The other possibility is to generate your own filesystem. The mkrootfs script, which is provided in the packages, will produce a bootable filesystem from almost any RPM-based distribution media.

There are also a number of separate projects which will let you create your own filesystems from media. They are listed here. If you're an absolute rank UML beginning, downloading one of the preinstalled filesystems is the better way to go.

Matt Zimmerman has also made some Debian images available here . At this writing, there's a current snapshot of potato and one of woody.

Note : The SuSE filesystem is a non-devfs filesystem. If you use a kernel with devfs built in and enabled (as the ones from this site are), you need to add 'devfs=nomount' to the command line.

Filesystems File Type : bzipped ext2 filesystem image
Name Release Date Download Size (bytes)

Jail filesystems
These are filesystems which boot up UML with exactly one service for the purpose of jailing that service (along with any unfriendly outsiders who manage to break into it).

Currently, we have only a DNS filesystem from Chris Reahard. See his description for what's in it and how to use it. More contributions are welcome.

Jail filesystems File Type : bzipped ext2 filesystem image
Name Release Date Download Size (bytes)

UML utilities
If you are going to grab the standalone kernel or patch below, you want to pay attention to this section. Otherwise, if you install the RPM or deb, you can ignore it, since these utilities come with the packages.

This is a tarball of the sources for the UML utilities

Build and install them with
make all
make install DESTDIR=/
from the top level directory.

Ocassionally, a new UML needs a new version of one of the utilities. So, if you don't install one of the packages, you should check the changelog to see if you need anything new, and, if so, grab, build, and install the tools from the tarball.

UML Utilities File Type : bzipped source tarball
Name Release Date Download Size (bytes)

The bare kernel
If you don't want to grab one of the packages, you can download the precompiled kernel binary. In this case, it's up to you to make sure you have the userspace tools you'll need, and to make sure that they are up to date with the kernel, since they change occasionally.

Also, see http://www.need2host.com:8080/uml/kernel/ where Daniel Morrigan is placing some kernels of his own (there appears to be one there at the moment). He also made an offer to set up a specify-your-UML-config-and-pick-up-the-kernel-later UML building service if there's enough interest. So, contact him at dmorrigan at peapod dot com if you'd be interested in this.

Kernels File Type : bzipped ELF binary
Name Release Date Download Size (bytes)

The UML test suite
This is the brand-new UML test suite. The main driver is test.pl, which uses the Perl modules UML.pm and UML/*.pm. The tests themselves are located under tests. Configuration is done in Config.pm. And that's all the documentation which exists at the moment.

Test Suite File Type : bzipped tarball
Name Release Date Download Size (bytes)

Building from source
If you want to build UML from source, you can get the patch here, or download the ac tree, which has UML in it already. The patch that's available from here applies against the appropriate Linus pool. It will also likely apply against nearby kernels, including his pre-patches, but there are no guarantees. See this page for more detailed instructions for building UML from source.

Again, if you go this route, you need to make sure that you have the tools you'll need to fully use UML.

The patch is updated most frequently. I will release a patch for every CVS update. These patches are named uml-patch-2.4.x-y.bz2. If you want the latest UML, the latest of these patches is what you should get.

Patches File Type : bzipped patch
Name Release Date Download Size (bytes)

Hosted at SourceForge Logo