ACRN Kernel Parameters¶
Generic Kernel Parameters¶
A number of kernel parameters control the behavior of ACRN-based systems. Some are applicable to the Service VM kernel, others to the User VM kernel, and some are applicable to both.
This section focuses on generic parameters from the Linux kernel which are relevant for configuring or debugging ACRN-based systems.
Parameter |
Used in Service VM or User VM |
Description |
Usage Example |
||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Service VM |
A comma-separated list of modules that should not be loaded. Useful to debug or work around issues related to specific modules. |
module_blacklist=dwc3_pci
|
||||||||||||||||||
|
Service VM, User VM |
Disables the code that tests for broken timer IRQ sources. |
no_timer_check
|
||||||||||||||||||
|
Service VM, User VM |
Output console device and options.
|
console=tty0
console=ttyS0
console=hvc0
|
||||||||||||||||||
|
Service VM |
All kernel messages with a loglevel less than the console loglevel will
be printed to the console. The loglevel can also be changed with
|
loglevel=7
|
||||||||||||||||||
|
User VM |
Ignoring loglevel setting will print all
kernel messages to the console. Useful for debugging.
We also add it as the |
ignore_loglevel
|
||||||||||||||||||
|
User VM |
Sets the size of the |
log_buf_len=16M
|
||||||||||||||||||
|
Service VM, User VM |
The console blank (screen saver) timeout in seconds. Defaults to 600 (10 minutes). A value of 0 disables the blank timer. |
consoleblank=0
|
||||||||||||||||||
|
Service VM, User VM |
Wait (indefinitely) for root device to show up. Useful for devices that are detected asynchronously (e.g., USB and MMC devices). |
rootwait
|
||||||||||||||||||
|
Service VM, User VM |
Define the root filesystem.
|
root=/dev/mmcblk0p1
root=/dev/vda2
root=PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF
|
||||||||||||||||||
|
Service VM, User VM |
Mount the root device read/write on boot. |
rw
|
||||||||||||||||||
|
User VM |
Disable clocksource stability checks for TSC. Format: <string>, where the only supported value is:
|
tsc=reliable
|
||||||||||||||||||
|
Service VM |
Sets the size of the kernel global memory area for
contiguous memory allocations, and optionally the
placement constraint by the physical address range of
memory allocations. A value of 0 disables CMA
altogether. For more information, see
|
cma=64M@0
|
||||||||||||||||||
|
Service VM |
Sets the guest physical address and size of the dedicated hypervisor
log ring buffer between the hypervisor and Service VM.
A If hypervisor relocation is enabled, reserve the memory below 256MB, since the hypervisor could be relocated anywhere between 256MB and 4GB. Enable address space layout randomization (ASLR) on the Service VM. This ensures that when the guest Linux is relocating the kernel image, it will avoid this buffer address. |
hvlog=2M@0xe00000
|
||||||||||||||||||
|
Service VM |
Mark specific memory as reserved.
|
memmap=0x400000$0xa00000
|
||||||||||||||||||
|
Service VM |
Ramoops is an oops/panic logger that writes its logs to RAM before the system crashes. Ramoops uses a predefined memory area to store the dump. See Linux Kernel Ramoops oops/panic logger for details. This buffer should not overlap with hypervisor reserved memory and
guest kernel image. See |
ramoops.mem_address=0xa00000
ramoops.mem_size=0x400000
ramoops.console_size=0x200000
|
||||||||||||||||||
|
Service VM |
Reboot in case of panic. The comma-delimited parameters are:
|
reboot_panic=p,w
|
||||||||||||||||||
|
User VM |
Maximum number of processors that an SMP kernel will bring up during boot.
After booting, you can bring up additional plugged CPUs by executing
|
maxcpus=1
|
||||||||||||||||||
|
User VM |
Don’t use the HPET timer. |
nohpet
|
||||||||||||||||||
|
User VM |
Intel IOMMU driver (DMAR) option
|
intel_iommu=off
|
||||||||||||||||||
|
Service VM, User VM |
|
hugepages=10
hugepagesz=1G
|
||||||||||||||||||
|
Service VM |
GPU driver loading option.
|
i915.modeset=0
|
Note
The hugepages
and hugepagesz
parameters are automatically
taken care of by the ACRN Configurator tool. If users have customized
hugepage settings to satisfy their particular workloads in the Service VM,
the hugepages
and hugepagesz
parameters can be redefined in the GRUB
menu to override the settings from the ACRN Configurator tool.