Skip to content

Upgrade latest Linux kernel automatically for Ubuntu and derivatives 🐧

License

Notifications You must be signed in to change notification settings

aleluff/uktools

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Project Status: Active

UkTools

Linux Logo

Upgrade

It provides to upgrade Linux kernel to latest version for Debian/Ubuntu and derivatives.

3 kernel version are available
Version Stability Features Performance Security Compatibility
Release Candidate Low Many Normal Very High Low
Testing Normal Some Normal High Normal
Stable High Few Low Normal Very High

Purge

It removes old Linux kernel images/headers in machine for Debian/Ubuntu and derivatives.


Normal Setup

Dependencies

sudo apt install git make wget

Download & Install

git clone https://github.com/usbkey9/uktools && cd uktools
make

Optionnal

Now you can call the script whereever you are

sudo uktools-upgrade
sudo uktools-purge

You can re-run setup script by

./setup

Logs are available with

cat /var/log/ukt.log

One-line Install

Only use for testing, prefer normal setup for regular use
It'll get Testing kernel
sudo apt install wget && \
cd /usr/src && \
sudo wget https://github.com/usbkey9/uktools/archive/master.tar.gz && \
sudo tar -xvf master.tar.gz && \
sudo rm -fr master.tar.gz && \
cd uktools-master && \
sudo chown ${USER:=$(id -run)}:$USER ../uktools-master && \
./src/upgrade -d

Additionnal Infos

Ubuntu kernel packages comes from this archive

Auto Run can be enabled/disabled in setup

  • If enabled, upgrade will be done automatically by cronjob each 2hours.

Incompatibilities with RC and testing version

  • Linux Tools (perf, usb over ether, kbuild)
  • Canonical Livepatch
  • Some misconfigured packages (eg rtl8812au-dkms/4.3.8)
  • Obviously all packages not compatible with very last versions of kernel (eg sysdig)
TODO

Handle user interupt during install

Choose next grub default kernel

Ask and allow to run purge periodically without upgrade

Bash Unit Test

  • Test MakeFile
Upgrade
  • check install of each kernel's versions
  • check message of the day with ssh connection just after install
  • check call parameters
  • check "no need to upgrade" by running script two times in a row
Purge
  • check if script keep the very last version of minor kernel
  • eg with Ubuntu 18.04 :
Versions Keep
4.13.0-39 βœ—
4.13.0-41 βœ“
4.15.0-32 βœ—
4.15.0-34 βœ“
4.16.5 βœ—
4.16.6 βœ—
4.16.7 βœ“

Any other contributions is welcome (trad, display, etc)

Releases

No releases published

Packages

No packages published

Languages

  • Shell 94.9%
  • Makefile 5.1%