#!/bin/bash # setup.sh - 解压工具链到母项目 (android_kernel_eebbk_sm6150) 旁边 # # 用法: # git clone # 克隆工具链仓库 # cd # 进入 # ./setup.sh # 运行, 会把工具链放到母项目同级目录 # # 最终目录结构: # / # ├── android_kernel_eebbk_sm6150/ <- 内核源码 # └── toolchain/ # ├── android_prebuilts_clang_host_linux-x86_clang-6443078-10.0/ # └── binutils-2.27-install/ set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 工具链仓库目录的上一级 = 母项目目录 PARENT_DIR="$(dirname "$SCRIPT_DIR")" TOOLCHAIN_DIR="$PARENT_DIR/toolchain" echo "=== 工具链安装到: $TOOLCHAIN_DIR ===" mkdir -p "$TOOLCHAIN_DIR" echo "=== 解压 binutils-2.27 ===" tar -xzf "$SCRIPT_DIR/binutils-2.27-install.tar.gz" -C "$TOOLCHAIN_DIR" echo "完成" echo "=== 解压 clang-11.0.1 (较大, 请稍候) ===" tar -xzf "$SCRIPT_DIR/clang-6443078.tar.gz" -C "$TOOLCHAIN_DIR" echo "完成" echo "" echo "=== 工具链就绪 ===" ls -d "$TOOLCHAIN_DIR"/android_prebuilts_clang_host_linux-x86_clang-6443078-10.0 ls -d "$TOOLCHAIN_DIR"/binutils-2.27-install echo "" echo "编译内核时设置:" echo " export TC=$TOOLCHAIN_DIR" echo " export CROSS_COMPILE=\$TC/binutils-2.27-install/bin/aarch64-linux-gnu-" echo " export CLANG=\$TC/android_prebuilts_clang_host_linux-x86_clang-6443078-10.0" echo " export PATH=\$CLANG/bin:\$PATH"