05-28-2016, 08:14 AM
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:
Open a terminal:
copy the above code into kernelinstaller (open kernelinstaller with a Text Editor). Now save the file.
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
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