|
Kernel command line switches
This is a list of the UML-specific command line arguments, plus a few
generic ones which deserve mention here.
This causes UML to print its version and exit.
This causes UML to print a usage message and exit.
con=channel
attaches one or more UML consoles to the
named channel. The format of the channel is described
here.
Starts up the kernel under the control of gdb. See the
kernel debugging tutorial and the
debugging session pages for more
information. Another form of this switch is debug=go which is the
same as debug except that the kernel runs instead of stopping at the
beginning of start_kernel.
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.
dsp=host dsp
tells the UML sound driver what the
filename of the host dsp is so that it can relay to it. The default
is "/dev/sound/dsp".
ethn=host interface
enables a virtual ethernet
device inside UML. See the
networking HOWTO
for more information on setting up UML networking.
Causes the ubd device to put its partition information in
/proc/partitions under the device name "hd" rather than "ubd". Again,
this is to fake out installation procedures which are overly picky in
their sanity-checking.
fake_ide causes the ubd driver to install realistic-looking
entries into /proc/ide. This is useful for convincing some
distribution installation procedures to run inside UML.
gdb=channel
, when used with debug, attaches gdb to the
named channel. The format of the channel is described
here.
gdb-pid=pid
, when used with debug, specifies the pid of
an already running debugger that UML should attach to. This can be used
to debug UML with a gdb wrapper such as emacs or ddd, as well as with debuggers
other than gdb. See the
debugging page for more information.
honeypot causes UML to rearrange its address space in order to
put process stacks in the same location as on the host. This allows
stack smash exploits to work against UML just as they do against the
host. This option enables jail, since it is most unlikely that
a honeypot UML should run without it enabled.
initrd=image
sets the filename of the initrd image that
UML will boot from.
iomem=name,file
makes file available to be
mapped by a driver inside UML. See
this page for more information.
jail enables protection of UML kernel memory from UML
processes. This is disabled by default for performance reasons.
Without it, it is fairly simple to break out of UML by changing the
right pieces of UML kernel data.
mconsole=notify:socket
asks the mconsole driver to send
the name of its socket to the Unix socket named by this switch. This
is intended for the use of scripts which want to know when they can
start using the mconsole and what socket they should send commands to.
mem=size
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.
mixer=host mixer
tells the UML sound driver what the
filename of the host mixer is so that it can relay to it. The default
is "/dev/sound/mixer".
ncpus=number
tells an SMP kernel how many virtual processors to
start. Currently, this has no effect because SMP isn't enabled.
ssl=channel
attaches one or more UML serial lines to the
named channel. The format of the channel is described
here.
root=root device
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
ubd=number
causes the ubd device to take over a different major
number than the one assigned to it. This is useful for making it appear to
be an "hd" device.
ubdn=filename
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.
ubdn=cow-file,backing-file
is used to layer a COW
file on another, possibly readonly, file. This is useful in a number
of ways. See this
page for all the details.
umid=name
is used to assign a name to a virtual machine. This
is intended to make it easy for UIs to manage multiple UMLs. Currently, the
only effect of this is that UML writes its tracing thread pid in
/tmp/uml/name.
uml_dir=directory
sets the directory in which UML will
put the umid directory, which in turn will contain the pid file and
mconsole socket.
umn=ip-address
sets the ip address of the host side of the slip
device that the umn device configures. This is necessary if you want to set up
networking, but your local net isn't 192.168.0.x, or you want to run
multiple virtual machines on a network, in which case, you need to
assign different ip addresses to the different machines. See the
networking tutorial for more information.
|