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.
This commit is contained in:
Adel Kara Slimane
2020-08-06 19:59:17 +02:00
committed by GitHub
parent d039728f97
commit 3c7fd7b2e5
9 changed files with 556 additions and 188 deletions

View File

@@ -1,16 +1,18 @@
# linux57-TkG config file
# Linux distribution you are using, options are "Arch" (default), "Ubuntu"
_distro="Arch"
#### MISC OPTIONS ####
# External config file to use - If the given file exists in path, it will override default config (customization.cfg) - Default is ~/.config/frogminer/linux52-tkg.cfg
_EXT_CONFIG_PATH=~/.config/frogminer/linux57-tkg.cfg
# Set to anything else than "true" to limit cleanup operations and keep source and files generated during compilation.
# [Arch specific] Set to anything else than "true" to limit cleanup operations and keep source and files generated during compilation.
# Default is "true".
_NUKR="true"
# Custom compiler root dirs - Leave empty to use system compilers
# [Arch specific] Custom compiler root dirs - Leave empty to use system compilers
# Example: CUSTOM_GCC_PATH="/home/frog/PKGBUILDS/mostlyportable-gcc/gcc-mostlyportable-9.2.0"
CUSTOM_GCC_PATH=""
@@ -30,7 +32,7 @@ _noccache="false"
# !!!! Make sure to have a well populated db !!!! - Leave empty to be asked about it at build time
_modprobeddb="false"
# Set to "1" to call make menuconfig or "2" to call make nconfig before building the kernel. Set to false to disable and skip the prompt.
# Set to "1" to call make menuconfig, "2" to call make nconfig, "3" to call make xconfig, before building the kernel. Set to false to disable and skip the prompt.
_menunconfig=""
# Set to true to generate a kernel config fragment from your changes in menuconfig/nconfig. Set to false to disable and skip the prompt.
@@ -41,7 +43,7 @@ _diffconfig_name=""
#### KERNEL OPTIONS ####
# Name of the default config file to use from the linux???-tkg-config folder. Arch default is "config.x86_64" and Arch hardened is "config_hardened.x86_64".
# [Arch specific] Name of the default config file to use from the linux???-tkg-config folder, use "distro" to use the config file of the kernel you are currently using. Arch default is "config.x86_64" and Arch hardened is "config_hardened.x86_64".
# To get a complete hardened setup, you have to use "cfs" as _cpusched
_configfile="config.x86_64"
@@ -153,6 +155,9 @@ _custom_commandline="intel_pstate=passive"
# !!! It will also change pkgname - If you don't explicitely need this, don't use it !!!
_custom_pkgbase=""
# [non-Arch specific] Kernel localversion. Putting it to "Mario" will make for example the kernel version be 5.7.0-Mario (given by uname -r)
# If left empty, it will use -tkg-"${_cpusched}" where "${_cpusched}" will be replaced by the user chosen scheduler
_kernel_localversion=""
#### USER PATCHES ####