Various refactorings + Enable Clang LTO (#248)
* Enable Clang LTO Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: improve kernel prompting and selection code - Subversion are to be directly edited in the _kver_subver_map variable at the top of the file - _supported_kernels is theoretically not needed, but it's needed for the prompting to happen with the correct order, since the keys in _kver_subver_map are hash-ordered, which is not the natural ordering Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: update comment * prepare: improve compiler selection and LTO enablement code path Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * install.sh: use _prompt_from_array for distro selection Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: move optiprofile prompt to _prompt_from_array Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: improve cpu sched fallback code * install.sh: move set -e at the top * prepare: use arrays for HZ configs * prepare: enable default selection in _prompt_from_array * prepare: use _prompt_from_array for _rr_interval Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: update _rr_interval prompting * prepare: update and use config script for tickless * prepare: use scripts/config accross the entire script * prepare: change last lines to scripts/config * prepare: small fixes * customization.cfg: revert back to old values for _tickless * prepare: revert back to old numbering for _rr_interval Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: msg2 used _rr_interval Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: be smarter/dumber with _rr_interval Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: remove last manual interventions to .config * prepare: fix condition Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: improve cpu march handling and implement prompt Making `make` prompt wasn't working on my Gentoo for a reason I don't understand anymore. The configs are unset by the script. So it always goes for generic by default. Maybe they need to be entirely deleted from the .config file. Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: fix name for MuQSS.c * prepare: use _sched for scheduler source code files * install.sh: use sudo to clean root owned files in linux-src-git * prepare: remove useless code * prepare: fix issue with MuQSS * Add CacULE scheduler Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * 5.13 rc4 Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: Remove voluntary_preempt, OFenable and disable_acpi_cpufreq options * prepare: Prevent config prompt w/ modprobed-db Rebase of @CodingKoopa PR Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: Empty LOCALVERSION config option for Arch at the correct spot @CodingKoopa spotted the issue and reported it, thanks! Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * prepare: use _enable _undefine and _disable wrappers Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com> * Restore the state tracker for makepkg usage * Fix tickless array selection order for nohz idle/hz periodic * Also handle the disabling part of the generic march selector * Replace _undefine() calls with _disable() * Preserve the case of config options passed to scripts/config * Echo the CONFIG_EXPERT options without blank lines And with a header/footer Makes searching for config setting bugs easier * prepare: uppercase config options with "tr" Co-authored-by: Etienne JUVIGNY <ti3nou@gmail.com>
This commit is contained in:
committed by
GitHub
parent
3e6a12eb76
commit
dea8847167
66
install.sh
66
install.sh
@@ -1,5 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Stop the script at any ecountered error
|
||||
set -e
|
||||
|
||||
_where=`pwd`
|
||||
srcdir="$_where"
|
||||
|
||||
source customization.cfg
|
||||
|
||||
source linux-tkg-config/prepare
|
||||
|
||||
msg2() {
|
||||
echo -e " \033[1;34m->\033[1;0m \033[1;1m$1\033[1;0m" >&2
|
||||
}
|
||||
@@ -17,37 +27,10 @@ plain() {
|
||||
}
|
||||
|
||||
_distro_prompt() {
|
||||
|
||||
while true; do
|
||||
echo "Which linux distribution are you running ?"
|
||||
echo "if it's not on the list, chose the closest one to it: Fedora/Suse for RPM, Ubuntu/Debian for DEB"
|
||||
echo " 1) Debian"
|
||||
echo " 2) Fedora"
|
||||
echo " 3) Suse"
|
||||
echo " 4) Ubuntu"
|
||||
echo " 5) Generic"
|
||||
read -p "[1-5]: " _distro_index
|
||||
|
||||
if [ "$_distro_index" = "1" ]; then
|
||||
_distro="Debian"
|
||||
break
|
||||
elif [ "$_distro_index" = "2" ]; then
|
||||
_distro="Fedora"
|
||||
break
|
||||
elif [ "$_distro_index" = "3" ]; then
|
||||
_distro="Suse"
|
||||
break
|
||||
elif [ "$_distro_index" = "4" ]; then
|
||||
_distro="Ubuntu"
|
||||
break
|
||||
elif [ "$_distro_index" = "5" ]; then
|
||||
_distro="Generic"
|
||||
break
|
||||
else
|
||||
echo "Wrong index."
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Which linux distribution are you running ?"
|
||||
echo "if it's not on the list, chose the closest one to it: Fedora/Suse for RPM, Ubuntu/Debian for DEB"
|
||||
_prompt_from_array "Debian" "Fedora" "Suse" "Ubuntu" "Generic"
|
||||
_distro="${_selected_value}"
|
||||
}
|
||||
|
||||
_install_dependencies() {
|
||||
@@ -123,7 +106,13 @@ _linux_git_branch_checkout() {
|
||||
msg2 "Reseting files to their original state"
|
||||
|
||||
git reset --hard HEAD
|
||||
git clean -f -d -x
|
||||
|
||||
if [ "${_distro}" = "Generic" ]; then
|
||||
msg2 "Please enter your sudo password so the script can clean root owned files from the kernel sources"
|
||||
sudo git clean -fdx
|
||||
else
|
||||
git clean -f -d -x
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$_sub" = rc* ]]; then
|
||||
@@ -171,16 +160,6 @@ _linux_git_branch_checkout() {
|
||||
|
||||
}
|
||||
|
||||
# Stop the script at any ecountered error
|
||||
set -e
|
||||
|
||||
_where=`pwd`
|
||||
srcdir="$_where"
|
||||
|
||||
source customization.cfg
|
||||
|
||||
source linux-tkg-config/prepare
|
||||
|
||||
if [ "$1" != "install" ] && [ "$1" != "config" ] && [ "$1" != "uninstall-help" ]; then
|
||||
msg2 "Argument not recognised, options are:
|
||||
- config : interactive script that shallow clones the linux 5.x.y git tree into the folder linux-src-git, then applies extra patches and prepares the .config file
|
||||
@@ -282,9 +261,6 @@ if [ "$1" = "install" ] || [ "$1" = "config" ]; then
|
||||
# apply linux-tkg patching script
|
||||
_tkg_srcprep
|
||||
|
||||
# source cpuschedset since _cpusched isn't set
|
||||
source "$srcdir"/cpuschedset
|
||||
|
||||
# Uppercase characters are not allowed in source package name for debian based distros
|
||||
if [ "$_distro" = "Debian" ] || [ "$_distro" = "Ubuntu" ] && [ "$_cpusched" = "MuQSS" ]; then
|
||||
_cpusched="muqss"
|
||||
|
Reference in New Issue
Block a user