Ever thought of compiling a custom kernel, but held back because of the need for manual tracking, compilation and installation? Well, I say no more. This tool can do it for you.
IMPORTANT: this tool has currently reached the alpha stage. It will likely work as expected on testing systems by now, but you should still be cautious on production systems.
2. Copy your existing kernel .config file to `/root/.config/kernel/.config`.
### Gee, I don't have my own .config file. How can I create one?
The easiest approach (and the one that I used as well), is using the assistance of the [Arch Wiki](https://wiki.archlinux.org/index.php/Kernels/Traditional_compilation).
So, in a nutshell:
1. Grab the kernel source from [kernel.org](https://kernel.org) and its signature, and put it in a kernel build directory.
2. Unpack the archive using `unxz linux-*.*.*.tar.xz` (replace the wildcards with the version number). This will return you a .tar file.
3. Verify the tarball by running `gpg2 --verify linux-*.*.*.tar.sign`
4. Receive the keys if required with `gpg2 --recv-keys KEY_ID` (for more info check on [kernel.org](https://www.kernel.org/category/signatures.html)) and verify again.
5. Unpack the tarball using `tar xf linux-*.*.*.tar`
7. Clean up the kernel directory using `make clean && make mrproper`.
8. Run `make localmodconfig` to get a basic configuration file.
9. You can add more features like NTFS support, AppArmor, kernel hardening etc. using `make nconfig` and navigating to the respective configuration menus.
In a non-interactive script, it's much easier to run priveleged by default and drop priveleges as needed, instead of requiring authentication every time. If you know of a fully non-interactive way of achieving on-the-fly enhanced priveleges though, feel free to open a pull request.
If you wish to redistribute, share or otherwise modify the material provided in this project, aside from the license, the following rules also apply and when conflicting with the license override it:
If you have any questions, encountered bugs, feature requests, etc. about this project, please send me a message on [Facebook](https://www.facebook.com/irc.condor), and I'll get back to you as soon as possible.