> For the complete documentation index, see [llms.txt](https://aptivi.gitbook.io/deprecated/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aptivi.gitbook.io/deprecated/nitrocid-ks-v0.1.0-beta-2-manual/advanced-and-power-users/inner-workings/kernel-arguments.md).

# Kernel Arguments

How do the kernel arguments work? And how it affects the kernel?

Kernel Arguments are command-line parameters to the simulator that changes the behavior of the kernel according to the available arguments listed below:

* `quiet`: Starts the kernel quietly
* `maintenance`: Starts the kernel in maintenance mode which behaves like safe mode but with additional features turned off
* `safe`: Starts the kernel in safe mode which disables all mods
* `testInteractive`: Opens the interactive test facade selection
* `debug`: Enables debug mode
* `terminaldebug`: Enables terminal debug mode
* `reset`: Wipes all settings and resets the kernel to factory settings
* `bypasssizedetection`: Bypasses the 80x24 console size detection
* `noaltbuffer`: Prevents the kernel from using the alternative buffer
* `lang <lang>`: Selects a pre-boot environment language

Each argument is provided the `ArgumentInfo` class that defines the argument and its properties.

{% hint style="warning" %}
It's been theorized that we can actually define the argument parameters using `CommandArgumentInfo`. As of Beta 1, there is one kernel argument that actually uses parameters, but you have to surround said argument with the double quotation marks `""`.
{% endhint %}

The arguments are parsed each time the kernel starts up or gets rebooted. If there are any switches or argument parameters, they'll get parsed using the `ProvidedArgumentArgumentsInfo` class.
