Skip to main content

Download, compile and install the latest stable kernel for your Linux system

Project description

# KernelUpgrader
A Python tool for upgrade your kernel safetly from https://kernel.org


[![PyPi](https://img.shields.io/badge/Package%20-PyPi-green.svg)](https://pypi.org/project/KernelUpgrader/)
[![ZIP](https://img.shields.io/badge/Package%20-Zip-green.svg)](https://github.com/Javinator9889/KernelUpgrader/archive/master.zip)
[![GIT](https://img.shields.io/badge/Package%20-Git-green.svg)](https://github.com/Javinator9889/KernelUpgrader.git)

## How it works?
First of all, I designed this tool for *speed-up* kernel installation process, as the user has to perform a lot of commands and be careful (the process can crash your system if any step is not correctly completed).

So for this reason, I decided to **implement** a *[Python](https://www.python.org)* version of this process. The idea is simple: *download, compile and install a new kernel (if available) without user interaction, but showing warnings and errors*.

Basically, this program has three blocks:

1. **Kernel downloading and decompression**: the program will look for a newer stable version of the kernel at https://kernel.org. If there is a newer one, it will *download* and *decompress* it (if there is enough space available).
2. **Kernel configuration and compilation**: once the kernel is decompressed, this application will look for the *actual boot config*, copy it to the new kernel location and *adapt it* to the new configuration available at the new version. Then, **this app will start compiling kernel**.
3. **Kernel installation**: after all the compiling process, now it is the easiest part: *installing the new kernel*. For this, the application will use `dpkg` in order to adapt and install required dependencies for the new kernel.

If you want to know *what commands* is the program using, you can find them at `Constants.py` file.

## How to install
You have some alternatives to install this application (*both requires admin access - '#'' means admin access granted*):

+ Using `pip`. For that purpose, just run in your terminal:
```bash
pip install KernelUpgrader # It is important to use "pip" from Python 3
```
To use *Python 3 PIP*, you must install `pip3`:
```bash
apt-get install pip3 # Assuming that you have Python 3 installed
### PYTHON 3 NOT INSTALLED ##
apt-get install python3
```
If you find that `pip` installs dependencies in *Python 2*, in most cases the following syntax works:
```bash
python3 -m pip install KernelUpgrader
```
+ Using the `setup.py` file:
First, you have to *obtain* the correspondant version. You can get it via `wget` or using `git` (as shown below):
```bash
apt-get install wget unzip # If "wget" and "unzip" is not installed
wget https://github.com/Javinator9889/KernelUpgrader/archive/master.zip
unzip master.zip
cd KernelUpgrader-master/
```
```bash
apt-get install git # If "git" is not installed
git clone https://github.com/Javinator9889/KernelUpgrader.git
cd KernelUpgrader
```
Now, for *both processes*, we just need to run:
```bash
python3 setup.py install # We are using "python3" as "python" means "Python 2"
```

## How to update?
In order to update to a newer version of *KernelUpgrader*, we must do:
```bash
# If installed via "pip"
pip install -U KernelUpgrader
# If the above one not works
python3 -m pip install -U KernelUpgrader
```
```bash
# If installed via "wget" or "git"
# We must follow the steps in "How to install" until the "cd" command and then run:
python3 setup.py install # This automatically updates the application
```

## I found an error or I want to contribute
I would *love* to see how my application grows up, so feel free to create your **own version** of this app. Just *fork it* and make all the changes you want 😄

Also if you want to *add a new functionality* or *solve a bug*, you are free to open a **pull request** so I can merge the changes you have done.

## How can I help?
+ Feel free to *follow me at GitHub* 👥: I create a lot of projects and maybe you find someone interesting.
+ *Start* ⭐ this project if you find it helpful 😄
+ *Share it* with the people you think they will find interesting my job 🗣

## License
This project is under *GNU General Public License v3.0*. You can read all **permissions**, **limitations** and **conditions** by [clicking here](https://github.com/Javinator9889/KernelUpgrader/blob/master/LICENSE)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

KernelUpgrader-1.15.tar.gz (27.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page