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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| autokernel-0.9.9.tar.gz | 96.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|