An open API service indexing awesome lists of open source software.

https://github.com/javinator9889/kernelupgrader

A Python tool for upgrade your kernel safely from kernel.org
https://github.com/javinator9889/kernelupgrader

compiler fast free kernel linux linux-kernel python python3 updater upgrade-tool user-friendly

Last synced: about 1 month ago
JSON representation

A Python tool for upgrade your kernel safely from kernel.org

Awesome Lists containing this project

README

        

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

[![PyPi](https://img.shields.io/badge/v1.19.1%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)
[![Downloads](https://pepy.tech/badge/kernelupgrader)](https://pepy.tech/project/kernelupgrader)

## 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 correspondent 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
```
## How to use it?
Once the application *is installed* you now should be able to run it from command line, typing:
```bash
kernel_upgrader # or
sudo kernel_upgrader
```

Read [GoodPractices](https://github.com/Javinator9889/KernelUpgrader/blob/master/GoodPractices.md) in order to make the
usage of this application even easier.

## 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)