1
0
Fork 0

reorder config

This commit is contained in:
Pratham Patel 2024-04-23 07:24:32 +05:30
parent 61ec9b1e7c
commit be6285acce
Signed by: thefossguy
SSH Key Fingerprint: SHA256:HwRBy9H1FYXWcv/Qi1WY3kmcVtGz2ydZuPJgD4pkusY
1 changed files with 38 additions and 36 deletions

View File

@ -68,6 +68,13 @@ function modify_kernel_config() {
# start with a "useful" base config
make olddefconfig
# "de-branding" and "re-branding"
DEBRAND_CONFIG=(
'--disable CONFIG_LOCALVERSION_AUTO'
'--set-str CONFIG_BUILD_SALT'
"--set-str CONFIG_LOCALVERSION ${KERNEL_LOCALVERSION}"
)
# built-in kernel config+headers
IK_CONFIG=(
'--enable CONFIG_IKCONFIG'
@ -81,24 +88,17 @@ function modify_kernel_config() {
'--module CONFIG_ZRAM'
)
# "de-branding" and "re-branding"
DEBRAND_CONFIG=(
'--disable CONFIG_LOCALVERSION_AUTO'
'--set-str CONFIG_BUILD_SALT'
"--set-str CONFIG_LOCALVERSION ${KERNEL_LOCALVERSION}"
)
# no need to have these keys, not a prod kernel
SIGNING_REMOVAL=(
'--disable CONFIG_SYSTEM_REVOCATION_LIST'
'--set-str CONFIG_SYSTEM_TRUSTED_KEYS'
)
if grep -q 'debian' /etc/os-release; then
SIGNING_REMOVAL=+(
SIGNING_REMOVAL+=(
'--set-str CONFIG_SYSTEM_REVOCATION_KEYS'
)
elif grep -q 'fedora' /etc/os-release; then
SIGNING_REMOVAL=+(
SIGNING_REMOVAL+=(
#'--disable CONFIG_MODULE_SIG'
'--disable CONFIG_MODULE_SIG_ALL'
'--set-str CONFIG_MODULE_SIG_KEY'
@ -112,6 +112,32 @@ function modify_kernel_config() {
'--disable CONFIG_CRYPTO_AEGIS128_SIMD'
)
if [[ "${BUILD_WITH_RUST:-0}" == '1' ]] && [[ "${LLVM:-0}" == '1' ]]; then
setup_rust_toolchain
make rustavailable
RUST_CONFIG=(
'--enable CONFIG_RUST'
'--enable CONFIG_RUST_OVERFLOW_CHECKS'
'--enable CONFIG_RUST_BUILD_ASSERT_ALLOW'
)
else
# shellcheck disable=SC2016
echo 'WARNING: $BUILD_WITH_RUST or $LLVM is unset, not building with Rust'
fi
# sched_ext
if [[ -n "${COMPILING_SCHED_EXT:-}" ]]; then
SCHED_EXT_CONFIG=(
'--disable CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT'
'--enable CONFIG_DEBUG_INFO_DWARF5'
'--enable CONFIG_PAHOLE_HAS_BTF_TAG'
'--enable CONFIG_SCHED_CLASS_EXT'
)
else
SCHED_EXT_CONFIG=()
fi
# debug options
DEBUG_CONFIG=(
'--enable CONFIG_ARCH_WANT_FRAME_POINTERS'
@ -142,44 +168,20 @@ function modify_kernel_config() {
'--enable CONFIG_UBSAN'
)
if [[ "$(uname -m)" == 'x86_64' ]]; then
DEBUG_CONFIG=+(
DEBUG_CONFIG+=(
'--enable CONFIG_STACK_VALIDATION'
)
fi
# sched_ext
if [[ -n "${COMPILING_SCHED_EXT:-}" ]]; then
SCHED_EXT_CONFIG=(
'--disable CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT'
'--enable CONFIG_DEBUG_INFO_DWARF5'
'--enable CONFIG_PAHOLE_HAS_BTF_TAG'
'--enable CONFIG_SCHED_CLASS_EXT'
)
fi
if [[ "${BUILD_WITH_RUST:-0}" == '1' ]] && [[ "${LLVM:-0}" == '1' ]]; then
setup_rust_toolchain
make rustavailable
RUST_CONFIG=(
'--enable CONFIG_RUST'
'--enable CONFIG_RUST_OVERFLOW_CHECKS'
'--enable CONFIG_RUST_BUILD_ASSERT_ALLOW'
)
else
# shellcheck disable=SC2016
echo 'WARNING: $BUILD_WITH_RUST or $LLVM is unset, not building with Rust'
fi
CUSTOM_CONFIG=(
"${DEBRAND_CONFIG[@]}"
"${IK_CONFIG[@]}"
"${DEFCONFIG_ADD_ONS[@]}"
"${DEBRAND_CONFIG[@]}"
"${SIGNING_REMOVAL[@]}"
"${ARM_SIMD_DISABLE[@]}"
"${RUST_CONFIG[@]}"
"${DEBUG_CONFIG[@]}"
"${SCHED_EXT_CONFIG[@]}"
"${DEBUG_CONFIG[@]}"
)
kconfigure "${CUSTOM_CONFIG[@]}"
}