Reference

linux(1)

User-mode Linux

NAME

linux — User-mode Linux

SYNOPSIS

linux [options ...]

DESCRIPTION

This manual page briefly documents User-mode Linux.

This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.

OPTIONS

mem=memory

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 physical machine. It can be more, and the excess, if it's ever used, will just be swapped out.

iomem=name,file

Configure file as a named IO memory region named name.

gdb-pid=pid

gdb-pid is used to attach an external debugger to UML. This may be an already-running gdb or a debugger-like process like strace.

debugtrace

Causes the tracing thread to pause until it is attached by a debugger and continued. This is mostly for debugging crashes early during boot, and should be pretty much obsoleted by the debug switch.

honeypot

This makes UML put process stacks in the same location as they are on the host, allowing expoits such as stack smashes to work against UML.

debug

Starts up the kernel under the control of gdb. See the kernel debugging tutorial and the debugging session pages in the user-mode-linux-doc package for more information.

root=file

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".

umid=name

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

uml_dir=directory

The location to place the pid and umid files.

initrd=file

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

jail

Enables the protection of kernel memory from processes

con[0-9]*=description

Attach a console to a host channel. Examples of channels include ttys, ptys, pts terminals, xterms, and file descriptors.

tty

This will make UML attach the device to the specified tty. If the tty that you specify is the slave end of a tty/pty pair, something else must have already opened the corresponding pty in order for this to work. con1=tty:/dev/tty3

pty

This will cause UML to allocate a free host pty for the device. The pty will be announced in the boot log. You would attach to it via the corresponding tty. con1=pty

pts terminal

This is similar to pty above, but the specified UML device will be attached to a free pts device on the host. Look at the boot log to see which one. con1=pts

xterm

UML will run an xterm and the device will be attached to it. con1=xterm

file descriptors

If you set up a file descriptor on the UML command line, you can attach a UML device to it. This is most commonly used to put the main console back on stdin and stdout after assigning all the other consoles to something else. con0=fd:0,fd:1 con=xterm

You can also specify different input and output channels for a device by putting a comma between them: ssl3=tty:/dev/tty2,xterm. See Setting up Serial Lines and Consoles (link to URL file:/usr/share/doc/user-mode-linux-doc/input.html) for a more information.

ssl[0-9]*=description

Attach a serial line to a host channel. The same options are supported as for consoles, described above.

fake_ide

Create ide0 entries that map onto ubd devices.

ubd[0-7][r][s]=file

ubd0r=/tmp/debian-woody.ext2

ubd0rs=/tmp/debian-woody.ext2

ubd0=/tmp/chroot

This is used to associate a device with a file or 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. Appending an 'r' will cause that device to be mounted read-only. Appending an 's' tells UML to open the file using O_SYNC (synchronous I/O).

As a special case, if a directory is specified instead of a file for the ubd0 device, the root filesystem will be mounted as a hostfs filesystem using the specified directory.

fakehd

Change the ubd device name to "hd", allowing programs within UML to access UBD devices as if they were normal IDE disks.

eth[0-9]+=transport,options

Configure a network device. Formats and examples follow (one for each configured transport).

eth[0-9]+=ethertap,device,ethernet_address,tap_ip_address eth0=ethertap,tap0,,192.168.0.1

eth[0-9]+=tuntap,,ethernet_address,ip_address eth0=tuntap,,fe:fd:0:0:0:1,192.168.0.1

eth[0-9]+=daemon,ethernet_address,type,control_socket,data_socket eth0=daemon,unix,/tmp/uml.ctl,/tmp/uml.data

eth[0-9]+=slip,slip_ip eth0=slip,192.168.0.1

eth[0-9]+=mcast,ethernet_address,address,port,ttl eth0=mcast,,224.2.3.4:5555,3

--help

Prints syntax information.

--version

Prints the version number of the kernel

SEE ALSO

The UserModeLinux-HOWTO (link to URL file:/usr/share/doc/user-mode-linux-doc/UserModeLinux-HOWTO.html)

AUTHOR

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

This manual page was written by Matt Zimmerman [email protected] for the Debian GNU/Linux system, based on linux --help and the user-mode-linux website.