/mainline

A continuation of the free version of ukuu.

Primary LanguageValaGNU General Public License v3.0GPL-3.0

Ubuntu Mainline Kernel Installer

A tool for installing the latest Linux kernels on Ubuntu-based distributions.

Main window screenshot

Features

  • Fetches the list of available kernels from the Ubuntu Mainline PPA
  • Optionally watches and displays notifications when a new kernel update is available
  • Downloads and installs packages automatically
  • Display available and installed kernels conveniently
  • Install/Uninstall kernels from gui
  • For each kernel, the related packages (headers & modules) are installed or uninstalled at the same time

Install

Minimal .deb packages are in releases. (Usually just a single deb for any given release).

Better: cappelikan maintains a PPA

sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline

Build

sudo apt install libgee-0.8-dev libjson-glib-dev libvte-2.91-dev valac aria2 lsb-release aptitude
git clone https://github.com/bkw777/mainline.git
cd mainline
make
sudo make install

Usage

Look for System -> Ubuntu Mainline Kernel Installer in your desktop's Applications/Start menu.

Otherwise:
CLI

mainline --help
mainline

GUI

mainline-gtk

About

Written using Vala and GTK3.

mainline is a fork of ukuu
The original author stopped maintaining the original GPL version of ukuu and switched to a paid license for future versions.

Enhancements / Deviations from the original author's final GPL version

  • (from stevenpowerd) Options controlling the internet connection check
  • (from cloyce) Option to include or hide pre-release kernels
  • Changed name from "ukuu" to "mainline"
  • Removed all GRUB options
  • Removed all donate buttons, links, dialogs
  • Remove source cruft
  • Better temp and cache directory behavior
  • Better desktop notification behavior

TODO & WIP

  • Make the notification bg process detect when the user logs off and exit itself.
  • Save & restore window dimensions.
  • Move the notification/dbus code into the app and make an "applet mode"