Metadata-Version: 1.2
Name: autokernel
Version: 0.9.6
Summary: A tool to autodetect and manage kernel configuration options
Home-page: https://github.com/oddlama/autokernel
Author: oddlama
Author-email: oddlama@oddlama.org
Maintainer: oddlama
Maintainer-email: oddlama@oddlama.org
License: MIT
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:
        
        - [kconfiglib](https://github.com/ulfalizer/Kconfiglib) for the awesome python library to load and process Kconfig files, whithout which this project would have been impossible.
        - [sympy](https://www.sympy.org/) for the sophisitcated symbolic logic solver
        - [lark](https://github.com/lark-parser/lark) for the great parsing library
        - [LKDDb](https://cateee.net/lkddb/) for providing the awesome Linux Kernel Driver Database (which is used for option detection)
        - [KSSP](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) for the great list of kernel hardening options
        - [CLIP OS](https://docs.clip-os.org/clipos/kernel.html#configuration) for their well documented and well chosen kernel options
        - [kconfig-hardened-check](https://github.com/a13xp0p0v/kconfig-hardened-check) for the collection of options from several kernel hardening resources
        
        
Keywords: autokernel,config,detect,detection,kconf,kconfiglib,kernel,manager
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Security
Classifier: Topic :: System :: Operating System Kernels
Classifier: Topic :: System :: Operating System Kernels :: Linux
Classifier: Topic :: Utilities
Requires-Python: >=3.6
