A tool to autodetect and manage kernel configuration options
Project description
Quick start guide | Documentation | Gitter Chat
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 |
---|---|
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for autokernel-0.9.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f744e462632b0d6c67783c57449ff8fe376eb50efac75c56de537d150edc7c87 |
|
MD5 | 49d56c253032bb09acfb613a1899c580 |
|
BLAKE2b-256 | bea15298d8eba5701c60734b8725bf9b9128e338ca155cc7336475b8b017003b |