Because it can be tricky to get user mode linux working correctly, I have written out some "works-for-me" directions about the specific version I have gotten working. For a comprehensive document, go to the UML home page. Of particular note, these instructions allow one to build and use UML on the UT Linux boxes without root access.
I used Linux 2.6.13.2 + the skas-2.6.13-rc7-v9-pre7.patch uml patch. I used the Debian-3.0r2.ext2 disk image file from mdz as a starting point.
To select kernel options, type 'make ARCH=um menuconfig'
Be sure to:
To compile, type 'make ARCH=um linux'. If you have problems, you
can also add 'KBUILD_VERBOSE=1' to the command line to see what is
happening.
UT Notes: For some reason compilation doesn't go as smoothly on
the UT machines as at home for me. In particular, to get everything
to compile I had to type the definition of CLONE_PARENT into
arch/um/kernel/skas/clone.c. Also, change '/lib/libutil.a' to
'-L/usr/lib -lutil' in arch/um/Makefile (thanks to Sibi Govindan).
You will want to download and install the uml utilities package (in particular the port-helper binary). Also, you will want to download and install the slirp package.
Type: ./linux ubd0=./Debian-3.0r2.ext2 eth0=slirp,,/path/to/slirp/executable
and you are off to the races.
To get networking without root, you can use slirp. There are better
ways of setting up virtual networking, but you have to have root on
the host machine. So,
here we are.
Log in to uml as root
Edit /etc/resolv.conf and add:
nameserver 128.111.1.2
nameserver 128.111.1.1
Edit /etc/network/interfaces:
auto eth0
iface eth0 inet static
address 10.0.2.15
netmask 255.0.0.0
gateway 10.0.2.15
type:
ifup eth0 (first time only - after that it should start on its
own).