linux-tkg/linux57-tkg/install.sh

211 lines
6.3 KiB
Bash

Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
#!/bin/bash
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
msg2() {
echo -e " \033[1;34m->\033[1;0m \033[1;1m$1\033[1;0m" >&2
}
error() {
echo -e " \033[1;31m==> ERROR: $1\033[1;0m" >&2
}
warning() {
echo -e " \033[1;33m==> WARNING: $1\033[1;0m" >&2
}
plain() {
echo "$1" >&2
}
# alias plain=echo
set -e
# Variable to know if the user command has been recognised
_command_recognised=0
_where=`pwd`
srcdir="$_where"
_cpu_opt_patch_link="https://raw.githubusercontent.com/graysky2/kernel_gcc_patch/master/enable_additional_cpu_optimizations_for_gcc_v10.1%2B_kernel_v5.7%2B.patch"
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
source customization.cfg
if [ "$1" != "install" ] && [ "$1" != "config" ] && [ "$1" != "uninstall" ]; then
echo "Command not recognised, options are:
- config : shallow clones the linux 5.7.x git tree into the folder linux-5.7, then applies on it the extra patches and prepares the .config file by copying the one from the current linux system in /boot/config-`uname -r` and updates it.
- install : [Debian-like only (Debian, Ubuntu, Pop_os!...)], does the config step, proceeds to compile, then prompts to install
- uninstall : [Debian-like only (Debian, Ubuntu, Pop_os!...)], lists the installed custom kernels through this script, then prompts for which one to uninstall."
exit 0
fi
# Load external configuration file if present. Available variable values will overwrite customization.cfg ones.
if [ -e "$_EXT_CONFIG_PATH" ]; then
msg2 "External configuration file $_EXT_CONFIG_PATH will be used and will override customization.cfg values."
source "$_EXT_CONFIG_PATH"
fi
if [ "$1" == "install" ] || [ "$1" == "config" ]; then
source linux*-tkg-config/prepare
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
if [ $1 == "install" ] && [ "$_distro" != "Ubuntu" ]; then
msg2 "Variable \"_distro\" in \"customization.cfg\" hasn't been set to \"Ubuntu\""
msg2 "This script can only install custom kernels for Ubuntu and Debian derivatives. Exiting..."
exit 0
fi
if [ "$_distro" == "Ubuntu" ]; then
msg2 "Installing dependencies"
sudo apt install git build-essential kernel-package fakeroot libncurses5-dev libssl-dev ccache bison flex
else
msg2 "Dependencies are unknown for the target linux distribution."
fi
# Force prepare script to avoid Arch specific commands if the user didn't change _distro from "Arch"
if [ "$1" == "config" ]; then
_distro=""
fi
_command_recognised=1
if [ -d linux-${_basekernel}.orig ]; then
rm -rf linux-${_basekernel}.orig
fi
if [ -d linux-${_basekernel} ]; then
msg2 "Reseting files in linux-$_basekernel to their original state and getting latest updates"
cd "$_where"/linux-${_basekernel}
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
git checkout --force linux-$_basekernel.y
git clean -f -d -x
git pull
msg2 "Done"
cd "$_where"
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
else
msg2 "Shallow git cloning linux $_basekernel"
git clone --branch linux-$_basekernel.y --single-branch --depth=1 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git linux-${_basekernel}
msg2 "Done"
fi
# Define current kernel subversion
if [ -z $_kernel_subver ]; then
cd "$_where"/linux-${_basekernel}
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
_kernelverstr=`git describe`
_kernel_subver=${_kernelverstr:5}
cd "$_where"
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
fi
# Run init script that is also run in PKGBUILD, it will define some env vars that we will use
_tkg_initscript
cd "$_where"
msg2 "Downloading Graysky2's CPU optimisations patch"
wget "$_cpu_opt_patch_link"
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
# Follow Ubuntu install isntructions in https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
# cd in linux folder, copy Ubuntu's current config file, update with new params
cd "$_where"/linux-${_basekernel}
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
msg2 "Copying current kernel's config and running make oldconfig..."
cp /boot/config-`uname -r` .config
yes '' | make oldconfig
msg2 "Done"
# apply linux-tkg patching script
_tkg_srcprep
msg2 "Configuration done."
fi
if [ "$1" == "install" ]; then
_command_recognised=1
# Use custom compiler paths if defined
if [ -n "${CUSTOM_GCC_PATH}" ]; then
PATH=${CUSTOM_GCC_PATH}/bin:${CUSTOM_GCC_PATH}/lib:${CUSTOM_GCC_PATH}/include:${PATH}
fi
if [ "$_force_all_threads" == "true" ]; then
_thread_num=`nproc`
else
_thread_num=`expr \`nproc\` / 4`
if [ "$_thread_num" = "0" ]; then
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
_thread_num=1
fi
fi
# ccache
if [ "$_noccache" != "true" ]; then
if [ "$_distro" == "Ubuntu" ] && dpkg -l ccache > /dev/null; then
export PATH="/usr/lib/ccache/bin/:$PATH"
export CCACHE_SLOPPINESS="file_macro,locale,time_macros"
export CCACHE_NOHASHDIR="true"
msg2 'ccache was found and will be used'
fi
fi
_kernel_flavor="${_kernel_localversion}"
if [ -z $_kernel_localversion ]; then
_kernel_flavor="tkg-${_cpusched}"
fi
if [ "$_distro" == "Ubuntu" ]; then
if make -j ${_thread_num} deb-pkg LOCALVERSION=-${_kernel_flavor}; then
msg2 "Building successfully finished!"
read -p "Do you want to install the new Kernel ? y/[n]: " _install
if [ $_install == "y" ] || [ $_install == "Y" ] || [ $_install == "yes" ] || [ $_install == "Yes" ]; then
cd "$_where"
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
_kernelname=$_basekernel.$_kernel_subver-$_kernel_flavor
_headers_deb=linux-headers-${_kernelname}*.deb
_image_deb=linux-image-${_kernelname}_*.deb
sudo dpkg -i $_headers_deb $_image_deb
# Add to the list of installed kernels, used for uninstall
if ! { [ -f installed-kernels ] && grep -Fxq "$_kernelname" installed-kernels; }; then
echo $_kernelname >> installed-kernels
fi
fi
fi
fi
fi
if [ "$1" == "uninstall" ]; then
_command_recognised=1
cd "$_where"
Add Ubuntu install script + general-ish .config&patching script (#26) * linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
2020-08-06 12:59:17 +07:00
if [ ! -f installed-kernels ] || [ ! -s installed-kernels ]; then
echo "No custom kernel has been installed yet"
exit 0
fi
i=1
declare -a _custom_kernels
msg2 "Installed custom kernel versions: "
while read p; do
echo " $i) $p"
_custom_kernels+=($p)
i=$((i+1))
done < installed-kernels
i=$((i-1))
_delete_index=0
read -p "Which one would you like to delete ? [1-$i]: " _delete_index
if [ $_delete_index -ge 1 ] && [ $_delete_index -le $i ]; then
_delete_index=$((_delete_index-1))
# sudo dpkg -r linux-headers-${_custom_kernels[$_delete_index]} linux-image-${_custom_kernels[$_delete_index]}
fi
rm -f installed-kernels
i=0
for kernel in "${_custom_kernels[@]}"; do
if [ $_delete_index != $i ]; then
echo "$kernel" >> installed-kernels
fi
i=$((i+1))
done
fi