diff --git a/.install.swp b/.install.swp deleted file mode 100644 index 1e13585..0000000 Binary files a/.install.swp and /dev/null differ diff --git a/README.md b/README.md index d545a63..d7ba02d 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,21 @@ Ever thought of compiling a custom kernel, but held back because of the need for ### Installation 1. Clone and navigate to the repository, then run `./install` -2. Copy your existing kernel .config file to `/root/.config/kernel/.config`. If you don't know how to create this file, this tool probably isn't for you. +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` +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.