Skip to content

Commit

Permalink
kcb: Reworks
Browse files Browse the repository at this point in the history
  • Loading branch information
alanndz committed Jan 3, 2025
1 parent d252631 commit c837092
Showing 1 changed file with 80 additions and 50 deletions.
130 changes: 80 additions & 50 deletions kcb/kcb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# Credit to: Rama Bondan Prakoso (rama982)
#

export TZ=":Asia/Makassar"
export TZ=":Asia/Jakarta"
conf="$HOME/.kcb"

usage() {
Expand All @@ -33,10 +33,10 @@ exit
}

_conf() {
mkdir -p $conf
echo "$(openssl enc -base64 <<< ${1})" > $conf/.chat_id
echo "$(openssl enc -base64 <<< ${2})" > $conf/.token
exit
mkdir -p $conf
echo "$(openssl enc -base64 <<< ${1})" > $conf/.chat_id
echo "$(openssl enc -base64 <<< ${2})" > $conf/.token
exit
}

sendInfo() {
Expand All @@ -60,18 +60,18 @@ push() {

while (( ${#} )); do
case ${1} in
"-c"|"--clean") CLEAN=true ;;
"-d"|"--dirty") DIRTY=true ;;
"-n"|"--codename") shift; CODENAME="-${1}" ;;
"-C"|"--directory") shift; DIR=${1} ;;
"-D"|"--defconfig") shift; CONFIG=${1} ;;
"-j"|"--jobs") shift; JOBS=${1} ;;
"-e"|"--env") shift; ENV=${1} ;;
"-r"|"--regen") REGEN=true ;;
"-t"|"--telegram") shift; _conf ${1} ${2}; shift;;
"-p"|"--compiler") shift; COMPILER=${1}; shift;;
"-l"|"--lto") LTO=true ;;
"-h"|"--help") usage ;;
"-c"|"--clean") CLEAN=true ;;
"-d"|"--dirty") DIRTY=true ;;
"-n"|"--codename") shift; CODENAME="-${1}" ;;
"-C"|"--directory") shift; DIR=${1} ;;
"-D"|"--defconfig") shift; CONFIG=${1} ;;
"-j"|"--jobs") shift; JOBS=${1} ;;
"-e"|"--env") shift; ENV=${1} ;;
"-r"|"--regen") REGEN=true ;;
"-t"|"--telegram") shift; _conf ${1} ${2}; shift;;
"-p"|"--compiler") shift; COMPILER=${1}; shift;;
"-l"|"--lto") LTO=true ;;
"-h"|"--help") usage ;;
esac
shift
done
Expand All @@ -88,12 +88,14 @@ fi
KDIR=$(pwd)
TC="${HOME}/.kcb-tools"
AK=${TC}/AnyKernel
MODULES_DIR="${AK}/modules/vendor/lib/modules"
OUT="out"
KERNEL_NAME="aLn"
KERNEL_TYPE="EAS"
PHONE="Poco X3 Pro"
DEVICE="vayu"
CONFIG=${CONFIG:-vayu_defconfig}
CODENAME=${CODENAME:--Testing}
CODENAME=${CODENAME:-}
JOBS=${JOBS:-$(nproc --all)}
COMPILER=${COMPILER:-clang}
CHAT_ID="$(openssl enc -base64 -d <<< `cat $conf/.chat_id`)"
Expand All @@ -105,16 +107,16 @@ AK_BRANCH="vayu"
if [[ ${COMPILER} == "clang" ]]; then
# git clone https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86 --depth=1 --no-tags --single-branch -b master $TC/dcl/clang
git clone https://gitlab.com/alanndz/clang-aosp.git -b main --depth=1 --no-tags --single-branch $TC/dcl/clang
git clone https://github.com/mvaisakh/gcc-arm64 --depth=1 --no-tags --single-branch $TC/dcl/gcc64
git clone https://github.com/mvaisakh/gcc-arm --depth=1 --no-tags --single-branch $TC/dcl/gcc32
# git clone https://github.com/mvaisakh/gcc-arm64 --depth=1 --no-tags --single-branch $TC/dcl/gcc64
# git clone https://github.com/mvaisakh/gcc-arm --depth=1 --no-tags --single-branch $TC/dcl/gcc32
CL="$TC/dcl/clang"
CL="${TC}/dcl/clang"
export PATH="${CL}/bin:$PATH"
export LD_LIBRARY_PATH="${Cl}/lib:$LD_LIBRARY_PATH"
KBUILD_COMPILER_STRING=$("${CL}/bin/clang" --version | head -n 1 | perl -pe 's/\(http.*?\)//gs' | sed -e 's/ */ /g' -e 's/[[:space:]]*$//')
GCC64=$(ls ${TC}/dcl/gcc64/bin/aarch64*-gcc | sed 's/gcc$//')
GCC32=$(ls ${TC}/dcl/gcc32/bin/arm*-gcc | sed 's/gcc$//')
ENV="CC=clang LLVM=1"
# GCC64=$(ls ${TC}/dcl/gcc64/bin/aarch64*-gcc | sed 's/gcc$//')
# GCC32=$(ls ${TC}/dcl/gcc32/bin/arm*-gcc | sed 's/gcc$//')
# ENV="CC=clang LLVM=1"
elif [[ ${COMPILER} == "gcc" ]]; then
CL="$TC/gc/gcc64"
Expand All @@ -134,7 +136,7 @@ fi
# Setup name
GIT="$(git log --pretty=format:'%h' -1)"
ENDZ="${GIT}-$(date "+%d%m%Y-%H%M")"
ENDZ="${GIT}-$(date "+%Y%m%d-%H%M")"
KVERSION="${CODENAME}-${GIT}"
ZIP_NAME="${KERNEL_NAME}${CODENAME}-${DEVICE}-${ENDZ}.zip"
LOG=$(echo ${ZIP_NAME} | sed "s/.zip/.log/")
Expand All @@ -154,32 +156,52 @@ set_defconfig() {
esac
}
xcache() {
export CCACHE_EXEC=$(which ccache)
export USE_CCACHE=1
export CCACHE_DIR=$KDIR/.ccache
ccache -M 20G >/dev/null
# ccache -o compression=true
}
m() {
make -j${JOBS} O=out \
ARCH=arm64 \
LOCALVERSION=${KVERSION} \
CROSS_COMPILE="${GCC64}" \
CROSS_COMPILE_ARM32="${GCC32}" \
${ENV} \
${@}
if [[ ${COMPILER} == "clang" ]]; then
make -j$(nproc --all) O=${OUT} \
ARCH=arm64 \
SUBARCH=arm64 \
PYTHON=python \
DTC_EXT=dtc \
LOCALVERSION=${KVERSION} \
CLANG_TRIPLE=aarch64-linux-gnu- \
CROSS_COMPILE=aarch64-linux-gnu- \
CROSS_COMPILE_ARM32=arm-linux-gnueabi- \
CROSS_COMPILE_COMPAT=arm-linux-gnueabi- \
KBUILD_BUILD_USER="alanndz" \
KBUILD_BUILD_HOST="$(hostname)" \
LD=ld.lld \
AR=llvm-ar \
NM=llvm-nm \
STRIP=llvm-strip \
OBJCOPY=llvm-objcopy \
OBJDUMP=llvm-objdump \
READELF=llvm-readelf \
HOSTCC=clang \
HOSTCXX=clang++ \
HOSTAR=llvm-ar \
HOSTLD=ld.lld \
LLVM=1 \
LLVM_IAS=1 \
REAL_CC="clang" \
CC="clang" \
${ENV} ${@}
else
make -j${JOBS} O=out \
ARCH=arm64 \
LOCALVERSION=${KVERSION} \
CROSS_COMPILE="${GCC64}" \
CROSS_COMPILE_ARM32="${GCC32}" \
${ENV} ${@}
fi
}
START=$(date +"%s")
# xcache
if [[ -n ${REGEN} ]]; then
m $CONFIG
#m menuconfig
vi out/.config
vi out/.config || nano out/.config
m savedefconfig
cp out/defconfig arch/arm64/configs/$CONFIG
exit 0
Expand All @@ -194,16 +216,14 @@ fi
rm -rf ${IMG}
rm -rf ${DTBO}
m $CONFIG > /dev/null
if [[ ! -n $LTO ]]; then set_defconfig enable CONFIG_THINLTO; fi
m "${CONFIG}"
# if [[ ! -n $LTO ]]; then set_defconfig enable CONFIG_THINLTO; fi
set_defconfig enable CONFIG_BUILD_ARM64_DTBO_IMG
set_defconfig enable CONFIG_SECTION_MISMATCH_WARN_ONLY
set_defconfig disable CONFIG_LOCALVERSION_AUTO
if [[ ${COMPILER} == "clang" ]]; then
m AR=llvm-ar LLVM_NM=llvm-nm OBJCOPY=llvm-objcopy LD=ld.lld NM=llvm-nm LLVM=1 LLVM_IAS=1 CC=clang > >(tee out/${LOG}) 2> >(tee out/${LOGE} >&2)
else
m > >(tee out/${LOG}) 2> >(tee out/${LOGE} >&2)
fi
m > >(tee out/${LOG}) 2> >(tee out/${LOGE} >&2)
END=$(date +"%s")
DIFF=$(($END - $START))
Expand All @@ -214,6 +234,7 @@ sendInfo "<b>----- ${KERNEL_NAME} New Kernel -----</b>" \
"<b>Kernel Version:</b> <code>$(make kernelversion)</code>" \
"<b>Type:</b> <code>${KERNEL_TYPE}</code>" \
"<b>Branch:</b> <code>$(git branch --show-current)</code>" \
"<b>Configs:</b> <code>${CONFIG}</code>" \
"<b>Commit:</b> <code>$(git log --pretty=format:'%h : %s' -1)</code>" \
"<b>Started on:</b> <code>$(hostname)</code>" \
"<b>Compiler:</b> <code>${KBUILD_COMPILER_STRING}</code>"
Expand All @@ -225,10 +246,19 @@ if [[ ! -f ${IMG} ]]; then
exit 1
fi
MODULE_FILES=$(find "$OUT" -type f -name "*.ko")
make -C ${AK} clean
cp ${IMG} ${AK}
cp ${DTBO} ${AK}
find ${DTB} -name "*.dtb" -exec cat {} + > ${AK}/dtb
if [[ -n "$MODULE_FILES" ]]; then
for MODULE in $MODULE_FILES; do
cp "$MODULE" "$MODULES_DIR"
done
fi
make -C ${AK} ZIP="${ZIP_NAME}" normal
push ${AK}/${ZIP_NAME}
Expand Down

0 comments on commit c837092

Please sign in to comment.