# Quick start guide¶

Welcome to the quick start guide! Here you will see a selection of commands to quickly get started with autokernel.

This is basically an extreme summary of the Usage section. It is recommended to read both the Introduction and the Usage section, as commands and their effects are explained in greater detail there.

## Basic invokation¶

Hint

If you are not using gentoo or another source distribution, which has kernel sources available under /usr/src/linux, use -K kernel_dir to specify the kernel directory. Autokernel will not work otherwise.

## Detecting kernel options¶

Detect configuration options for your system and report differences to the running kernel:

autokernel detect -c


The next command generates output as commonly seen in a .config file. This is useful if you want to use other tools with the detected options:

# Generates a kconf file for usage with other tools
autokernel detect -t kconf -o ".config.local"


You can also generate an autokernel module from the result:

# Generates a module named 'local'
autokernel detect -o "/etc/autokernel/modules.d/local.conf"


Warning

Be aware that even though this detection mechanism is nice to have, it is also far from perfect. The option database is automatically generated from kernel sources, and so you will have false positives and false negatives. You should work through the list of detected options and decide if you really want to enable them.

## Generating the kernel configuration¶

Generate a .config file from your autokernel configuration with generate-config:

# Generates a config file at the given location
autokernel generate-config -o .config


Alternatively, you can compare the theoretically generated config to another config by using check:

# Checks against the current kernel (/proc/config.gz)
autokernel check
# Check against the .config file of another kernel version
autokernel check -c -k some/kernel/dir some/kernel/dir/.config


## Enabling arbitrary symbols¶

You can use the satisfy command to automatically show which dependencies are missing to enable an option:

autokernel satisfy -g WLAN


## Querying symbol information¶

Query symbol information (menuconfig help text) with info:

autokernel info WLAN


## Querying symbol reverse dependencies¶

Use the revdeps command to show all symbols that depend on the given symbol:

autokernel revdeps EXPERT


## Hardening the kernel¶

Check out Hardening the kernel for a short description of the included hardening module.

## Building and installing the kernel¶

To build and install the kernel according to your configuration use build and install:

autokernel build   # Just build targets
autokernel install # Just install targets
autokernel all     # Do both