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
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)
Fun and Games
Kernel Hangman
Disaster of the Month

Kernel command line switches

This is a list of the UML-specific command line arguments, plus a few generic ones which deserve mention here.
--version
This causes UML to print its version and exit.
--help
This causes UML to print a usage message and exit.
con
con=channel attaches one or more UML consoles to the named channel. The format of the channel is described here.
debug
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.
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.
fakehd
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.
gdb
gdb=channel , when used with debug, attaches gdb to the named channel. The format of the channel is described here.
gdb-pid
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.
mem
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.
ncpus
ncpus=number tells an SMP kernel how many virtual processors to start. Currently, this has no effect because SMP isn't enabled.
ssl
ssl=channel attaches one or more UML serial lines to the named channel. The format of the channel is described here.
root
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
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.
ubd
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.
umid
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.
umn
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.
Hosted at SourceForge Logo