Xen Command Line and Boot Options

From Xen
Revision as of 12:11, 4 December 2011 by Lars (talk | contribs) (Formatting)


These are the Xen Hypervisor boot-time options you can specify in grub.conf for xen.gz.

This document is still work in progress and therefore not complete

Boot time option Description
noreboot Don’t reboot the machine automatically on errors. This is useful to catch debug output if you aren’t catching console messages via the serial line.
nosmp Disable SMP support. This option is implied by ‘ignorebiostables’.
watchdog Enable NMI watchdog which can report certain failures.
noirqbalance Disable software IRQ balancing and affinity. This can be used on systems such as Dell 1850/2850 that have workarounds in hardware for IRQrouting issues.
badpage=<page number>,<page number>, . . . Specify a list of pages not to be allocated for use because they contain bad bytes. For example, if your memory tester says that byte 0x12345678 is bad, you would place ‘badpage=0x12345’ on Xen’s command line.
serial_tx_buffer=<size> Size of serial transmit buffers. Default is 16kB.
com1=<baud>,DPS,<io base>,<irq> com2=<baud>,DPS,<io base>,<irq> Xen supports up to two 16550-compatible serial ports. For example: ‘com1=9600, 8n1, 0x408, 5’ maps COM1 to a 9600-baud port, 8 data bits, no parity, 1 stop bit, I/O port base 0x408, IRQ 5 (use 0 if you want to poll instead of waiting for an IRQ). If some configuration options are standard (e.g., I/O base and IRQ), then only a prefix of the full configuration string need be specified. If the baud rate is pre-configured (e.g., by the bootloader) then you can specify ‘auto’ in place of a numeric baud rate. Note that in Xen 4.2 you can specify 'pci' or 'amt' instead of the <io base>,<irq>' so that Xen can auto detect.
console=<specifier list> Specify the destination for Xen console I/O. This is a commaseparated list of, for example: vga Use VGA console (until domain 0 boots, unless vga=...keep is specified). com1 Use serial port com1. com2H Use serial port com2. Transmitted chars will have the MSB set. Received chars must have MSB set. com2L Use serial port com2. Transmitted chars will have the MSB cleared. Received chars must have MSB cleared. The latter two examples allow a single port to be shared by two subsystems (e.g. console and debugger). Sharing is controlled by MSB of each transmitted/ received character. [NB. Default for this option is ‘com1,vga’]
conring_size=<size in bytes> Sets the size of Xen hypervisor console ring buffer. Bigger buffer allows you to store more lines in "xm dmesg" log before overwriting them. Example: "conring_size=65536" to set a buffer of 64 kilobytes.
vga=<mode>(,keep) The mode is one of the following options: ask Display a vga menu allowing manual selection of video mode. current Use existing vga mode without modification. text-<mode> Select text-mode resolution, where mode is one of 80x25, 80x28, 80x30, 80x34, 80x43, 80x50, 80x60. mode-<mode> Specify a mode number as discovered by ‘vga ask’. Note that the numbers are displayed in hex and hence must be prefixed by ‘0x’ here (e.g., ‘vga=mode-0x0335’). The mode may optionally be followed by ‘,keep’ to cause Xen to keep writing to the VGA console after domain 0 starts booting (e.g., ‘vga=text-80x50,keep’).
no-real-mode (x86 only) Do not execute real-mode bootstrap code when booting Xen. This option should not be used except for debugging. It will effectively disable the vga option, which relies on real mode to set the video mode.
edid=no,force (x86 only) Either force retrieval of monitor EDID information via VESA DDC, or disable it (edid=no). This option should not normally be required except for debugging purposes.
edd=off,on,skipmbr (x86 only) Control retrieval of Extended Disc Data (EDD) from the BIOS during boot.
console_to_ring Place guest console output into the hypervisor console ring buffer. This is disabled by default. When enabled, both hypervisor output and guest console output is available from the ring buffer. This can be useful for logging and/or remote presentation of console data.
sync_console Force synchronous console output. This is useful if you system fails unexpectedly before it has sent all available output to the console. In most cases Xen will automatically enter synchronous mode when an exceptional event occurs, but this option provides a manual fallback.
conswitch=<switch-char><auto-switch-char> Specify how to switch serial-console input between Xen and DOM0. The required sequence is CTRL-<switch-char> pressed three times. Specifying the backtick character disables switching. The <auto-switch-char> specifies whether Xen should auto-switch input to DOM0 when it boots — if it is ‘x’ then auto-switching is disabled. Any other value, or omitting the character, enables auto-switching. [NB. Default switch-char is ‘a’.]
loglvl=<level> / <level> Specify logging level. Messages of the specified severity level (and higher) will be printed to the Xen console. Valid levels are ‘none’, ‘error’, ‘warning’, ‘info’, ‘debug’, and ‘all’. The second level specifier is optional: it is used to specify message severities which are to be rate limited. Default is ‘loglvl=warning’.
guest_loglvl=<level> / <level> As for loglvl, but applies to messages relating to guests. Default is ‘guest loglvl=none/warning’.
console_timestamps Adds a timestamp prefix to each line of Xen console output.
nmi=xxx Specify what to do with an NMI parity or I/O error. ‘nmi=fatal’: Xen prints a diagnostic and then hangs.
mem=xxx Set the physical RAM address limit. Any RAM appearing beyond this physical address in the memory map will be ignored. This parameter may be specified with a B, K, M or G suffix, representing bytes, kilobytes, megabytes and gigabytes respectively. The default unit, if no suffix is specified, is kilobytes.
dom0_mem=<specifier list> Set the amount of memory to be allocated to domain 0. This is a comma-separated list containing the following optional components: min:<min amt> Minimum amount to allocate to domain 0 max:<min amt> Maximum amount to allocate to domain 0 <amt> Precise amount to allocate to domain 0 Each numeric parameter may be specified with a B, K, M or G suffix, representing bytes, kilobytes, megabytes and gigabytes respectively; if no suffix is specified, the parameter defaults to kilobytes. Negative values are subtracted from total available memory. If <amt> is not specified, it defaults to all available memory less a small amount (clamped to 128MB) for uses such as DMA buffers.
dom0_vcpus_pin Pins domain 0 VCPUs on their respective physical CPUS (default=
dom0_max_vcpus=x Limit the number of virtual cpus dom0 has. As a default dom0 has as many vcpus as there are physical cpus in the system.
tbuf size=xxx Set the size of the per-cpu trace buffers, in pages (default 0).
sched=xxx Select the CPU scheduler Xen should use. The current possibilities are ‘credit’ (default), and ‘sedf’.
apic_verbosity=debug,verbose Print more detailed information about local APIC and IOAPIC configuration.
lapic Force use of local APIC even when left disabled by uniprocessor BIOS.
nolapic Ignore local APIC in a uniprocessor system, even if enabled by the BIOS.
apic=bigsmp,default,es7000,summit Specify NUMA platform. This can usually be probed automatically.
dma_bits=xxx Specify width of DMA addresses in bits. This is used in NUMA systems to prevent this special DMA memory from being exhausted in one node
extra_guest_irqs=x Increase the number of PIRQs available for the guest. The default is 32.

''''''

In addition, the following options may be specified on the Xen command line. Since domain 0 shares responsibility for booting the platform, Xen will automatically propagate these options to its command line. These options are taken fromLinux’s commandline syntax with unchanged semantics.

Boot time option Description
acpi=off,force,strict,ht,noirq,. . . Modify how Xen (and domain 0) parses the BIOS
acpi_skip_timer_override Instruct Xen (and domain 0) to ignore timer-interrupt override
noapic Instruct Xen (and domain 0) to ignore any IOAPICs that are present in the system, and instead continue to use the legacy PIC. This is _not_ recommended with pvops type kernels.

help us to improve this list and add missing entries. This command lists all known options:


 find * -name "*.[ch]" | xargs grep -Ewn '(custom_param|boolean_param|invbool_param|integer_param|size_param|string_param)'