This are the keys and values the kernel takes, and under which circumstances:
root=<device>
Device to mount as root, if any.
rootuuid=<uuid>
Used instead of root
. It addresses the root device with a UUID instead
of a device name. This can be used to gain some device-independence, for
example, for addressing a given partition in a GPT drive regardless the
containing device.
init=<path>
Path to a program that will be booted by the kernel when finished loading.
The program will be started with stdin
set to /dev/null
, and
stdout
and stderr
set to /dev/console
.
initargs=<args>
Arguments to pass to init. If environment variables are what is desired,
consider the trick of booting in typical UNIX fashion
/bin/env <vars> <init command>
.
noprogaslr
The offset of loaded programs in virtual memory is randomized when loading if possible, this option disables it system-wide at boot time and hardcodes it to the lowest available value.
nolocaslr
The same as noprogaslr
but applied to memory locations like stacks
and memory allocation.