LINUX(1)

NAME
linux - User mode Linux kernel -- Run Linux inside itself.

SYNOPSIS
linux [options] [arguments]

DESCRIPTION
This manual page explains the user mode linux utility. 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.

Normally, the Linux Kernel talks straight to your hardware (video card, keyboard, hard drives, etc), and any programs which run ask the kernel to operate the hardware. The User Mode Linux Kernel is different; instead of talking to the hardware, it talks to a `real' Linux kernel (called the `host kernel'), like any other program. Programs can then run inside User-Mode Linux as if they were running under a normal kernel.

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.

OPTIONS

--showconfig
    Prints the config file that this UML binary was generated from.

--version
    Prints the version number of the kernel.

--help
    Prints a help message.

ARGUMENTS

iomem=<name>,<file>
    Configure <file> as an IO memory region named <name>.

mem=<Amountofdesiredram>
    This controls how much "physical" memory the kernel allocates for the system. The size is specified as a number followed by one of 'k', 'K', 'm', 'M', which have the obvious meanings. This is not related to the amount of memory in the host. It can be more, and the excess, if it's ever used, will just be swapped out.
    Example: mem=64M

root=<filecontainingtherootfs>
    This is actually used by the generic kernel in exactly the same way as in any other kernel. If you configure a number of block devices and want to boot off something other than ubd0, you would use something like:
    root=/dev/ubd5

mode=tt
    When both CONFIG_MODE_TT and CONFIG_MODE_SKAS are enabled, this option forces UML to run in tt (tracing thread) mode. It is not the default because it's slower and less secure than skas mode.

umid=<name>
    This is used to assign a unique identity to this UML machine and is used for naming the pid file and management console socket.

uml_dir=<directory>
    The location to place the pid and umid files.

initrd=<initrdimage>
    This is used to boot UML from an initrd image. The argument is the name of the file containing the image.

ssl[0-9]*=<channeldescription>
    Attach a console or serial line to a host channel. See http://user-mode-linux.sourceforge.net/input.html for a complete description of this switch.

eth[0-9]+=<transport>,<options>
    Configure a network device.

mconsole=notify:<socket>
    Requests that the mconsole driver send a message to the named Unix socket containing the name of the mconsole socket. This also serves to notify outside processes when UML has booted far enough to respond to mconsole requests.

ubd<n>=<filename>
    This is used to associate a device with a file in the underlying filesystem. Usually, there is a filesystem in the file, but that's not required. Swap devices containing swap files can be specified like this. Also, a file which doesn't contain a filesystem can have its contents read in the virtual machine by running dd on the device. n must be in the range 0 to 7. Appending an 'r' to the number will cause that device to be mounted read-only. For example ubd1r=./ext_fs. Appending an 's' (has to be _after_ 'r', if there is one) will cause data to be written to disk on the host immediately.

fakehd
    Change the ubd device name to "hd".

dsp=<dspdevice>
    This is used to specify the host dsp device to the hostaudio driver. The default is /dev/sound/dsp .

term=<terminalemulator>,<titleswitch>,<execswitch>
    Specifies an alternate terminal emulator to use for the debugger, consoles, and serial lines when they are attached to the xterm channel. The values are the terminal emulator binary, the switch it uses to set its title, and the switch it uses to execute a subprocess, respectively. The title switch must have the form '<switch> title', not '<switch>=title'. Similarly, the exec switch must have the form '<switch> command arg1 arg2 ...'. The default values are 'term=xterm,-T,-e'. Values for gnome-terminal are 'term=gnome-terminal,-t,-x'.

con[0-9]*=<channeldescription>
    Attach a console or serial line to a host channel. See http://user-mode-linux.sourceforge.net/input.html for a complete description of this switch.

aio=2.4
    This is used to force UML to use 2.4-style AIO even when 2.6 AIO is available. 2.4 AIO is a single thread that handles one request at a time, synchronously. 2.6 AIO is a thread which uses 2.5 AIO interface to handle an arbitrary number of pending requests. 2.6 AIO is not available in tt mode, on 2.4 hosts, or when UML is built with /usr/include/linux/aio_abi not available.

hostfs=<rootdir>,<flags>,...
    This is used to set hostfs parameters. The root directory argument is used to confine all hostfs mounts to within the specified directory tree on the host. If this isn't specified, then a user inside UML can mount anything on the host that's accessible to the user that's running it.

The only flag currently supported is 'append', which specifies that all files opened by hostfs will be opened in append mode.

SEE ALSO
http://user-mode-linux.sourceforge.net/

AUTHOR

User-mode Linux was written by Jeff Dike and others.

This manual page was written by Manoj Srivastava <srivasta@debian.org>, for the Debian GNU/Linux system.