Created
          July 9, 2025 20:11 
        
      - 
      
 - 
        
Save R0rt1z2/9305fec205f2ddcdab5960cb8874a1b3 to your computer and use it in GitHub Desktop.  
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | #!/usr/bin/env bash | |
| if [ $# -eq 0 ]; then | |
| echo "Usage: $0 <kernel_directory>" | |
| exit 1 | |
| fi | |
| KERNEL_DIR="$1" | |
| TOOLCHAIN_DIR="$(pwd)/toolchain" | |
| CLANG_DIR="$TOOLCHAIN_DIR/clang-r383902" | |
| GCC_DIR="$TOOLCHAIN_DIR/aarch64-linux-android-4.9" | |
| if [ ! -d "$KERNEL_DIR" ]; then | |
| echo "Error: Kernel directory '$KERNEL_DIR' does not exist" | |
| exit 1 | |
| fi | |
| if [ ! -d "$CLANG_DIR" ]; then | |
| echo "Downloading CLANG toolchain..." | |
| mkdir -p "$TOOLCHAIN_DIR" | |
| cd "$TOOLCHAIN_DIR" | |
| wget -O clang-r383902.tar.gz "https://android.googlesource.com/platform//prebuilts/clang/host/linux-x86/+archive/3857008389202edac32d57008bb8c99d2c957f9d/clang-r383902.tar.gz" | |
| mkdir -p clang-r383902 | |
| tar -xzf clang-r383902.tar.gz -C clang-r383902 | |
| rm clang-r383902.tar.gz | |
| cd - > /dev/null | |
| fi | |
| if [ ! -d "$GCC_DIR" ]; then | |
| echo "Downloading GCC toolchain..." | |
| mkdir -p "$TOOLCHAIN_DIR" | |
| cd "$TOOLCHAIN_DIR" | |
| git clone -b lineage-18.1 https://github.com/LineageOS/android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9.git aarch64-linux-android-4.9 | |
| cd - > /dev/null | |
| fi | |
| cd "$KERNEL_DIR" | |
| export PATH="$CLANG_DIR/bin:$GCC_DIR/bin:$PATH" | |
| export ARCH=arm64 | |
| export CLANG_TRIPLE=aarch64-linux-gnu- | |
| export CROSS_COMPILE=aarch64-linux-androidkernel- | |
| export CC=clang | |
| export LD=ld.lld | |
| export AR=llvm-ar | |
| export NM=llvm-nm | |
| export OBJCOPY=llvm-objcopy | |
| export OBJDUMP=llvm-objdump | |
| export READELF=llvm-readelf | |
| export OBJSIZE=llvm-size | |
| export STRIP=llvm-strip | |
| make O=out kobe2_defconfig -j$(nproc --all) | |
| make O=out -j$(nproc --all) | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment