This repository has been archived on 2020-07-19. You can view files and clone it, but cannot push or open issues/pull-requests.
Go to file
toloveru 150a1e2ab5 Fixed tar xf error 2017-04-19 15:59:45 +02:00
LICENSE Changed license 2017-04-03 21:34:16 +02:00
README.md Tested on Mate 2017-04-10 18:47:34 +02:00
install Licensing 2017-04-08 22:54:24 +02:00
kernelcheck Fixed tar xf error 2017-04-19 15:59:45 +02:00
notify_all Licensing 2017-04-08 22:54:24 +02:00

README.md

Kernel checker

Introduction

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.

What does it do?

  • Periodically check for updates on kernel.org
  • Download a new kernel if available
  • Verify the kernel signature
  • Compile and install the kernel
  • Nofity the users about what is going on (tested on Xfce and Mate).
  • Remove a distribution kernel if present (disabled by default).

Installation

  1. Clone and navigate to the repository, then run ./install
  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. So, in a nutshell:

  1. Grab the kernel source from 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) and verify again.
  5. Unpack the tarball using tar xf linux-*.*.*.tar
  6. Change directory to linux-*.*.*
  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.
  10. Don't forget to copy the config file to /root/.config/kernel/.config!

This script runs as root. Isn't that unsafe?

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.

I want to use this code in my own projects. What should I be aware of?

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:

  • You must use it for non-commercial purposes only.
  • Attribution to this project (my name and a link to this repository) are required.
  • In disputes, the previous Creative Commons license is invalid.

By downloading this project you agree to abide by the license and the aforementioned rules.

Contact me

If you have any questions, encountered bugs, feature requests, etc. about this project, please send me a message on Facebook, and I'll get back to you as soon as possible. If you find this an interesting project, consider following me there also!