Improve customization of source and work folders (#672)
* customization.cfg: add new entries for kernel paths Two choices: - Where to put git bare repository, - Will be implemented as a bare repository, the folder will have only compressed blobs and will be around ~400MB. Should be good to have even in HDDs - This is meant to be in a permanent storage like HDD or SSD. But some uses could have it on a tmpfs if the storage is very slow when compared to a full git (shallow) clone - Where to have the work/build folder - This will be implemented through a git worktree, where the bare repo will be decompressed. This is best on a tmpfs folder but needs >=32GB for a full kernel build. Otherwise should be okay with modprobed-db * customization.cfg: remove obsolete entries the tmpfs related entries can be set with the previously added entries, i.e. _kernel_work_folder and _kernel_source_folder * prepare: check if obsoleted vars get set, warn if so and exit Like this users will get notified about the change and act accordingly * prepare: remove unused kernel subver patching code this used to bump from kernel x.y to x.y.z * prepare: add func to define kernel abs paths We will use these absolute paths to refer to kernel folders (work and source) * prepare: rewrite git fetching code - Rename to "_setup_kernel_work_folder" - Now we simply fetch directly the "commit hash" / "git tag" from the user chosen remote, no branches - The source folder (the one that is preferably on disk) is only a bare repo with a small size (~400MB) - The work folder is then (re)created / updated (as need) as a git worktree * prepare: tkg_patcher: embed patch name into the message Otherwise it doesn't work on the install.sh approach, which reimplements a simple msg2 function that doesn't support %s replacement * PKGBUILD: use new path variable for work folder * install.sh: use new path variable for work folder * CI: setup source and build folder in /tmp * prepare: update diffconfig with new kernel work folder var
This commit is contained in:
committed by
GitHub
parent
86578256b7
commit
a38ef1643c
@@ -23,6 +23,18 @@ _NUKR="true"
|
||||
# Git mirror to use to get the kernel sources, possible values are "kernel.org", "googlesource.com", "github.com" and "torvalds"
|
||||
_git_mirror="kernel.org"
|
||||
|
||||
# Folder where to checkout the kernel sources and build inside it
|
||||
# Note: - Start with a '/' for an absolute path
|
||||
# - This setting can be used to set the work/build folder to a tmpfs folder
|
||||
# - Requires >= 32GB ram when building a full kernel, should work with less ram with modprobed-db
|
||||
_kernel_work_folder="linux-src-git"
|
||||
|
||||
# Permanent folder where to keep the git clone and fetch new blobs
|
||||
# Note: - Start with a '/' for an absolute path
|
||||
# - If your internet is faster than your storage, it may be wise to put this folder
|
||||
# in a tmpfs location (although it will reclone after each restart / tmpfs folder cleanup)
|
||||
_kernel_source_folder="linux-kernel.git"
|
||||
|
||||
# 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=""
|
||||
@@ -54,17 +66,6 @@ _diffconfig=""
|
||||
# Set to the file name where the generated config fragment should be written to. Only used if _diffconfig is active.
|
||||
_diffconfig_name=""
|
||||
|
||||
# [install.sh specific] Use tmpfs as a work directory, recommended when RAM >= 32GB to reduce HDD/SSD usage. For more information, see https://wiki.archlinux.org/title/Tmpfs
|
||||
_use_tmpfs="false"
|
||||
|
||||
# Always make a fresh clone of the source in tmpfs to speed up compilation times
|
||||
# ! This will take ~20GB of RAM by itself, so don't use on <32GB RAM systems !
|
||||
_source_in_tmpfs="false"
|
||||
|
||||
# [install.sh specific] tmpfs folder path, only used when _use_tmpfs="true".
|
||||
# Creates a linux-tkg work folder within that pathmake sure to have nothing important in "$_tmpfs_path/linux-tkg"
|
||||
_tmpfs_path="/tmp"
|
||||
|
||||
# [install.sh: Generic and Gentoo specific] Dracut options when generating initramfs
|
||||
_dracut_options="--lz4"
|
||||
|
||||
|
Reference in New Issue
Block a user