LINUX LITE 7.2 FINAL RELEASED - SEE RELEASE ANNOUNCEMENTS SECTION FOR DETAILS


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Select Kernel Installer
#1
This is a very simple kernel installer I've started working on. At this stage, I haven't decided if this will develop into a LL package, but people have asked for it.

The code so far:
Code:
#! /bin/bash
#--------------------------------------------------------------------------------------------------------
# Name: Lite Kernel Select
# Description: Select a Linux Kernel to install on Linux Lite.
# Authors:  Jerry Bezencon
# Website: https://www.freecinema2022.gq
#--------------------------------------------------------------------------------------------------------

# Ensure multi-language support
export LANG=C

# Kill off any package managers that may be running
if [ "$(pidof synaptic)" ]
then
   sudo killall -9 synaptic
fi

if [ ! -z "$(pgrep gdebi-gtk)" ]
then
   killall -9 gdebi-gtk
fi

# Set the window icon variable
ic="/usr/share/icons/zenity-llcc.png"

# Set the Title bar variable
tb="Lite Kernel Select"

# Download message variable
dl="Downloading and installing Kernel"

# Update package list
zenity --question --title="$tb" --window-icon="$ic" --text="We will now fetch the Updates list.\n\nClick Yes to continue or No to abort."
   if [ "$?" -eq "0" ];then

    APTUPDATE=$(grep '^deb' -c /etc/apt/sources.list) # Total of repositories registered, this is approximated
    sudo apt-get update 2>&1 | awk -v total=$APTUPDATE '/^Ign|^ Get/{count++;$1=""} FNR { if (total != 0){percentage=int (100*count/total);print (percentage < 90?percentage:90),"\n#",substr($0, 0, 128) }; fflush(stdout)}' \
      | zenity --progress --text="Updating package lists..." --window-icon=$ic --title="Updating Software Sources - please wait..." --percentage=0 --auto-close --width=600

                                if [ "${PIPESTATUS[0]}" -ne "0" ]; then

                                        unset APTUPDATE
                                        zenity --error \
                                        --title="Error" --text="$APPNAME couldn't fetch the package cache information lists."

                                        exit 1
                                fi
unset APTUPDATE

KERNLIST=$(zenity --title="Select a Kernel from the list" \
--height=300 --width="320" \
--list --radiolist --text "Select a Kernel to install:" \
--column "Select" --column "Kernel Version" \
FALSE "Kernel 3.15.0" \
FALSE "Kernel 3.16.0" \
FALSE "Kernel 3.17.0" \
FALSE "Kernel 3.18.0" \
FALSE "Kernel 3.19.0" \
FALSE "Kernel 4.0.0" \
FALSE "Kernel 4.1.0" \
FALSE "Kernel 4.2.0" \
FALSE "Kernel 4.3.0" \
FALSE "Kernel 4.4.0" \
FALSE "Kernel 4.5.0" \
FALSE "Kernel 4.6.0")

if [[ "$KERNLIST" =~ "Kernel 3.15.0" ]]; then
    apt-get install linux-headers-linuxlite-3.15.0 linux-image-linuxlite-3.15.0 -y | zenity --progress --title="$tb" --text="$dl 3.15.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 3.16.0" ]]; then
    apt-get install linux-headers-linuxlite-3.16.0 linux-image-linuxlite-3.16.0 -y | zenity --progress --title="$tb" --text="$dl 3.16.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 3.17.0" ]]; then
    apt-get install linux-headers-linuxlite-3.17.0 linux-image-linuxlite-3.17.0 -y | zenity --progress --title="$tb" --text="$dl 3.17.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 3.18.0" ]]; then
    apt-get install linux-headers-linuxlite-3.18.0 linux-image-linuxlite-3.18.0 -y | zenity --progress --title="$tb" --text="$dl 3.18.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 3.19.0" ]]; then
    apt-get install linux-headers-linuxlite-3.19.0 linux-image-linuxlite-3.19.0 -y | zenity --progress --title="$tb" --text="$dl 3.19.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.0.0" ]]; then
    apt-get install linux-headers-linuxlite-4.0.0 linux-image-linuxlite-4.0.0 -y | zenity --progress --title="$tb" --text="$dl 4.0.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.1.0" ]]; then
    apt-get install linux-headers-linuxlite-4.1.0 linux-image-linuxlite-4.1.0 -y | zenity --progress --title="$tb" --text="$dl 4.1.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.2.0" ]]; then
    apt-get install linux-headers-linuxlite-4.2.0 linux-image-linuxlite-4.2.0 -y | zenity --progress --title="$tb" --text="$dl 4.2.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.3.0" ]]; then
    apt-get install linux-headers-linuxlite-4.3.0 linux-image-linuxlite-4.3.0 -y | zenity --progress --title="$tb" --text="$dl 4.3.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.4.0" ]]; then
    apt-get install linux-headers-linuxlite-4.4.0 linux-image-linuxlite-4.4.0 -y | zenity --progress --title="$tb" --text="$dl 4.4.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.5.0" ]]; then
    apt-get install linux-headers-linuxlite-4.5.0 linux-image-linuxlite-4.5.0 -y | zenity --progress --title="$tb" --text="$dl 4.5.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.6.0" ]]; then
    apt-get install linux-headers-linuxlite-4.6.0 linux-image-linuxlite-4.6.0 -y | zenity --progress --title="$tb" --text="$dl 4.6.0, please standby..." --pulsate --auto-kill --auto-close
            else
                                        zenity --error \
                                        --title="Error" --text="There was an error while\nDownloading and installing the Kernel!"
                        fi

fi
exit 0

Open a terminal:

Code:
touch kernelinstaller

copy the above code into kernelinstaller (open kernelinstaller with a Text Editor). Now save the file.

Code:
chmod +x kernelinstaller
gksudo ./kernelinstaller

There is no end dialogue, when the Zenity message has closed, you can reboot.

This is very Beta and as such, should only be installed in a VirtualBox. When you reboot, hold down Shift key to bring up Grub, go to Advanced, and you should see the Kernel in the list, select it and press enter.

To dos:

- Initial window "Install Kernel" and "Remove Kernel" select list
- Confirm kernel is installed dialogue
- Better output in zenity, percentage of install process (similar to updates-gui)
- Move just installed kernel to the top of the list in Grub before rebooting

You can use grub-customizer for now to move the kernel you chose to install, to the top of the Grub list.
Use Lite Tweaks to remove any kernels for now.

Any contributing code from dev's is welcome Smile
Reply
#2
Thank you for starting this. I have newer computer & older computers. The older computer really do like older kernels. On an older HP I installed the LL kernel from 2.0 onto 2.8 & the computer just hummed along. Understood that it's Beta, so I'll just make a note of it for now. This really helps for people who want to use LL 3.0 to 3.8.
Reply
#3
You can use this now to install a kernel, but that's all it does.
Reply
#4
Must say this is pretty slick tool...
I installed to the Mini - Running LL3.0 32bit.. Yes on a non-VM system.... Tried both 3.18 and 3.16..
Have a systemback back up on the in-case and am ok if I would have to start over..


I installed mainly to test for better hardware support for the USB WiFi.. For a rtl8192cu
On a note; I haven't seen any differences between the kernels as far as the hardware but the installer tool works really well.
LL4.8 UEFI 64 bit ASUS E402W - AMD E2 (Quad) 1.5Ghz  - 4GB - AMD Mullins Radeon R2
LL5.8 UEFI 64 bit Test UEFI Kangaroo (Mobile Desktop) - Atom X5-Z8500 1.44Ghz - 2GB - Intel HD Graphics
LL4.8 64 bit HP 6005- AMD Phenom II X2 - 8GB - AMD/ATI RS880 (HD4200)
LL3.8 32 bit Dell Inspiron Mini - Atom N270 1.6Ghz - 1GB - Intel Mobile 945GSE Express  -- Shelved
BACK LL5.8 64 bit Dell Optiplex 160 (Thin) - Atom 230 1.6Ghz - 4GB-SiS 771/671 PCIE VGA - Print Server
Running Linux Lite since LL2.2
Reply
#5
@firenice03, thanks for testing.
Reply
#6
Cause I like the tool Smile I added the lines for kernel 4.7...

I just copied any 4.6 line and replaced the 4.6 with 4.7.. Should it work or not  Tongue but its downloading - something..
I'm again testing on the Mini... Others as Jerry suggests, for virtual box use...

Code:
#! /bin/bash
#--------------------------------------------------------------------------------------------------------
# Name: Lite Kernel Select
# Description: Select a Linux Kernel to install on Linux Lite.
# Authors:  Jerry Bezencon
# Website: https://www.freecinema2022.gq
#--------------------------------------------------------------------------------------------------------

# Ensure multi-language support
export LANG=C

# Kill off any package managers that may be running
if [ "$(pidof synaptic)" ]
then
   sudo killall -9 synaptic
fi

if [ ! -z "$(pgrep gdebi-gtk)" ]
then
   killall -9 gdebi-gtk
fi

# Set the window icon variable
ic="/usr/share/icons/zenity-llcc.png"

# Set the Title bar variable
tb="Lite Kernel Select"

# Download message variable
dl="Downloading and installing Kernel"

# Update package list
zenity --question --title="$tb" --window-icon="$ic" --text="We will now fetch the Updates list.\n\nClick Yes to continue or No to abort."
   if [ "$?" -eq "0" ];then

    APTUPDATE=$(grep '^deb' -c /etc/apt/sources.list) # Total of repositories registered, this is approximated
    sudo apt-get update 2>&1 | awk -v total=$APTUPDATE '/^Ign|^ Get/{count++;$1=""} FNR { if (total != 0){percentage=int (100*count/total);print (percentage < 90?percentage:90),"\n#",substr($0, 0, 128) }; fflush(stdout)}' \
      | zenity --progress --text="Updating package lists..." --window-icon=$ic --title="Updating Software Sources - please wait..." --percentage=0 --auto-close --width=600

                                if [ "${PIPESTATUS[0]}" -ne "0" ]; then

                                        unset APTUPDATE
                                        zenity --error \
                                        --title="Error" --text="$APPNAME couldn't fetch the package cache information lists."

                                        exit 1
                                fi
unset APTUPDATE

KERNLIST=$(zenity --title="Select a Kernel from the list" \
--height=300 --width="320" \
--list --radiolist --text "Select a Kernel to install:" \
--column "Select" --column "Kernel Version" \
FALSE "Kernel 3.15.0" \
FALSE "Kernel 3.16.0" \
FALSE "Kernel 3.17.0" \
FALSE "Kernel 3.18.0" \
FALSE "Kernel 3.19.0" \
FALSE "Kernel 4.0.0" \
FALSE "Kernel 4.1.0" \
FALSE "Kernel 4.2.0" \
FALSE "Kernel 4.3.0" \
FALSE "Kernel 4.4.0" \
FALSE "Kernel 4.5.0" \
FALSE "Kernel 4.6.0" \
FALSE "Kernel 4.7.0")

if [[ "$KERNLIST" =~ "Kernel 3.15.0" ]]; then
    apt-get install linux-headers-linuxlite-3.15.0 linux-image-linuxlite-3.15.0 -y | zenity --progress --title="$tb" --text="$dl 3.15.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 3.16.0" ]]; then
    apt-get install linux-headers-linuxlite-3.16.0 linux-image-linuxlite-3.16.0 -y | zenity --progress --title="$tb" --text="$dl 3.16.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 3.17.0" ]]; then
    apt-get install linux-headers-linuxlite-3.17.0 linux-image-linuxlite-3.17.0 -y | zenity --progress --title="$tb" --text="$dl 3.17.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 3.18.0" ]]; then
    apt-get install linux-headers-linuxlite-3.18.0 linux-image-linuxlite-3.18.0 -y | zenity --progress --title="$tb" --text="$dl 3.18.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 3.19.0" ]]; then
    apt-get install linux-headers-linuxlite-3.19.0 linux-image-linuxlite-3.19.0 -y | zenity --progress --title="$tb" --text="$dl 3.19.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.0.0" ]]; then
    apt-get install linux-headers-linuxlite-4.0.0 linux-image-linuxlite-4.0.0 -y | zenity --progress --title="$tb" --text="$dl 4.0.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.1.0" ]]; then
    apt-get install linux-headers-linuxlite-4.1.0 linux-image-linuxlite-4.1.0 -y | zenity --progress --title="$tb" --text="$dl 4.1.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.2.0" ]]; then
    apt-get install linux-headers-linuxlite-4.2.0 linux-image-linuxlite-4.2.0 -y | zenity --progress --title="$tb" --text="$dl 4.2.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.3.0" ]]; then
    apt-get install linux-headers-linuxlite-4.3.0 linux-image-linuxlite-4.3.0 -y | zenity --progress --title="$tb" --text="$dl 4.3.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.4.0" ]]; then
    apt-get install linux-headers-linuxlite-4.4.0 linux-image-linuxlite-4.4.0 -y | zenity --progress --title="$tb" --text="$dl 4.4.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.5.0" ]]; then
    apt-get install linux-headers-linuxlite-4.5.0 linux-image-linuxlite-4.5.0 -y | zenity --progress --title="$tb" --text="$dl 4.5.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.6.0" ]]; then
    apt-get install linux-headers-linuxlite-4.6.0 linux-image-linuxlite-4.6.0 -y | zenity --progress --title="$tb" --text="$dl 4.6.0, please standby..." --pulsate --auto-kill --auto-close


elif [[ "$KERNLIST" =~ "Kernel 4.7.0" ]]; then
    apt-get install linux-headers-linuxlite-4.7.0 linux-image-linuxlite-4.7.0 -y | zenity --progress --title="$tb" --text="$dl 4.7.0, please standby..." --pulsate --auto-kill --auto-close
            else
                                        zenity --error \
                                        --title="Error" --text="There was an error while\nDownloading and installing the Kernel!"
                        fi

fi
exit 0


Update
After letting run the better of an hour, the install box didn't close so I did and rebooted... Mini is on 4.7 so far so good after initial tests...
LL4.8 UEFI 64 bit ASUS E402W - AMD E2 (Quad) 1.5Ghz  - 4GB - AMD Mullins Radeon R2
LL5.8 UEFI 64 bit Test UEFI Kangaroo (Mobile Desktop) - Atom X5-Z8500 1.44Ghz - 2GB - Intel HD Graphics
LL4.8 64 bit HP 6005- AMD Phenom II X2 - 8GB - AMD/ATI RS880 (HD4200)
LL3.8 32 bit Dell Inspiron Mini - Atom N270 1.6Ghz - 1GB - Intel Mobile 945GSE Express  -- Shelved
BACK LL5.8 64 bit Dell Optiplex 160 (Thin) - Atom 230 1.6Ghz - 4GB-SiS 771/671 PCIE VGA - Print Server
Running Linux Lite since LL2.2
Reply
#7
Thought this might be of interest.

http://www.infoworld.com/article/3109184...x-471.html

And this.

  http://www.computerworld.com/article/311...tk.rss_all

On topic.
Reply
#8
So I'm setting up a fresh install of 3.4 on the mini and going for 4.10 kernel = as I'm waiting for install.. I remembered how slick this tool was..

Curious if there was any traction?? Or something for the future??



LL4.8 UEFI 64 bit ASUS E402W - AMD E2 (Quad) 1.5Ghz  - 4GB - AMD Mullins Radeon R2
LL5.8 UEFI 64 bit Test UEFI Kangaroo (Mobile Desktop) - Atom X5-Z8500 1.44Ghz - 2GB - Intel HD Graphics
LL4.8 64 bit HP 6005- AMD Phenom II X2 - 8GB - AMD/ATI RS880 (HD4200)
LL3.8 32 bit Dell Inspiron Mini - Atom N270 1.6Ghz - 1GB - Intel Mobile 945GSE Express  -- Shelved
BACK LL5.8 64 bit Dell Optiplex 160 (Thin) - Atom 230 1.6Ghz - 4GB-SiS 771/671 PCIE VGA - Print Server
Running Linux Lite since LL2.2
Reply
#9
Probably not, when there is something like this - http://www.omgubuntu.co.uk/2017/02/ukuu-...nel-ubuntu
Reply
#10
Hmmm... could it be considered as a Lite Tweak maybe? That application is for Mainline kernels and it will require adding PPAs and what not. A simple Lite Tweak addition could possibly cover this... the code is already there for the most part.
https://unlockforus.com

Sorry for seeming stupid and preferring Linux - I just don't know any better.

[Image: AGxgqJ6.png]
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)