Skip to main content



autokernel

Quick start guide | Documentation | Gitter Chat

PyPI MIT License Docs Gitter

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 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 asciicast

Quick start

To get started right away, please check out the Quick start guide. For in-depth command explanations, visit the Usage section.

Installation

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

pip

pip install autokernel

From source

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), 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:

  • kconfiglib for the awesome python library to load and process Kconfig files, whithout which this project would have been impossible.
  • sympy for the sophisitcated symbolic logic solver
  • lark for the great parsing library
  • LKDDb for providing the awesome Linux Kernel Driver Database (which is used for option detection)
  • KSSP for the great list of kernel hardening options
  • CLIP OS for their well documented and well chosen kernel options
  • kconfig-hardened-check for the collection of options from several kernel hardening resources

Release files for autokernel 0.9.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autokernel 0.9.9
File Size Uploaded
autokernel-0.9.9.tar.gz 96.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autokernel 0.9.9
File Interpreter ABI Platform
autokernel-0.9.9-py3-none-any.whl Python 3 none any Details

Total release size: 162.4 kB

Release files / autokernel-0.9.9.tar.gz

Download URL autokernel-0.9.9.tar.gz
Size 96.0 kB
Tags Source
SHA-256 checksum
How to use checksums
405959337a58f9a9d7e89a5ba211e7e22b16b3c1fac0ba29c3683ba55625cc45
BLAKE2b-256 checksum
How to use checksums
95efbda0c939d3d5724367812ecf29f3bf5eabc9926ffadcd6abed2622ac8b00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

Release files / autokernel-0.9.9-py3-none-any.whl

Download URL autokernel-0.9.9-py3-none-any.whl
Size 66.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f744e462632b0d6c67783c57449ff8fe376eb50efac75c56de537d150edc7c87
BLAKE2b-256 checksum
How to use checksums
bea15298d8eba5701c60734b8725bf9b9128e338ca155cc7336475b8b017003b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

Release history Release notifications | RSS feed

This release

0.9.9 This release

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page