Skip to main content

A tool to autodetect and manage kernel configuration options

Project description

<br/><br/> [![autokernel](./docs/imgs/autokernel_banner.svg)](https://autokernel.oddlama.org) <br/><br/>

[Quick start guide](https://autokernel.oddlama.org/en/latest/intro/quick-start-guide.html) | [Documentation](https://autokernel.oddlama.org/en/latest) | [Gitter Chat](https://gitter.im/oddlama-autokernel/community)

[![PyPI](https://img.shields.io/pypi/v/autokernel.svg)](https://pypi.org/pypi/autokernel/) [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) [![Docs](https://readthedocs.org/projects/autokernel/badge/?version=latest)](https://autokernel.oddlama.org/en/latest/?badge=latest) [![Gitter](https://badges.gitter.im/oddlama-autokernel/community.svg)](https://gitter.im/oddlama-autokernel/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

## About autokernel

Autokernel is primarily a kernel configuration management tool. Its main purpose is to generate a kernel .config file from a more formal description of your configuration. To help you writing the configuration, it comes with some helpful features:

  • Detect kernel options for your system (based on information from /sys)

  • Manage the kernel configuration in a more structured and sane way. Option conflict detection and conditional expressions for configuration statements allow writing a sound and modular configuration that can be used with multiple kernel versions.

  • Build the kernel (and initramfs) and install them on the system

You may use it for any combination of the above, There is no need to use it as a build system if you only want to detect options for your device.

Please have a look at the [Introduction](https://autokernel.oddlama.org/en/latest/intro/introduction.html) section from the documentation, which explains more about what this tool is designed for, and how it works.

Detecting kernel options | Automatically satisfying a kernel option ———————————————————————————- | ———————————————————————————- [![asciicast](https://asciinema.org/a/320174.svg)](https://asciinema.org/a/320174) | [![asciicast](https://asciinema.org/a/320179.svg)](https://asciinema.org/a/320179)

## Quick start

To get started right away, please check out the [Quick start guide](https://autokernel.oddlama.org/en/latest/intro/quick-start-guide.html). For in-depth command explanations, visit the [Usage section](https://autokernel.oddlama.org/en/latest/contents/usage.html).

## Installation

You can use pip to install autokernel, or run from source:

#### pip

`bash pip install autokernel `

#### From source

`bash git clone "https://github.com/oddlama/autokernel.git" cd autokernel pip install -r requirements.txt ./bin/autokernel.py --help `

Afterwards you should run autokernel setup once to create a default configuration in /etc/autokernel.

## Kernel hardening

A special note if you are interested in hardening your kernel: Be aware that autokernel provides a preconfigured module for kernel hardening ([hardening.conf](./autokernel/contrib/etc/modules_d/hardening.conf)), which is compatible with any kernel version >= 4.0. Every choice is also fully documented and explanined. Feel free to adjust it to your needs.

## Acknowledgements

I would like to especially thank the following projects and people behind them:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autokernel-0.9.7.tar.gz (93.4 kB view hashes)

Uploaded Source

Built Distribution

autokernel-0.9.7-py3-none-any.whl (66.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page