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
File details
Details for the file autokernel-0.9.9.tar.gz
.
File metadata
- Download URL: autokernel-0.9.9.tar.gz
- Upload date:
- Size: 96.0 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 405959337a58f9a9d7e89a5ba211e7e22b16b3c1fac0ba29c3683ba55625cc45 |
|
MD5 | bffa7143c5eb1d5e058d9ba495b296bd |
|
BLAKE2b-256 | 95efbda0c939d3d5724367812ecf29f3bf5eabc9926ffadcd6abed2622ac8b00 |
File details
Details for the file autokernel-0.9.9-py3-none-any.whl
.
File metadata
- Download URL: autokernel-0.9.9-py3-none-any.whl
- Upload date:
- Size: 66.4 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f744e462632b0d6c67783c57449ff8fe376eb50efac75c56de537d150edc7c87 |
|
MD5 | 49d56c253032bb09acfb613a1899c580 |
|
BLAKE2b-256 | bea15298d8eba5701c60734b8725bf9b9128e338ca155cc7336475b8b017003b |