Android 内核编译过程记录

  1. 下载内核源码和交叉编译链
    交叉编译链我用的 https://aosp.tuna.tsinghua.edu.cn/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9
  2. 设置交叉编译链前缀
    export CROSS_COMPILE=$(pwd)/bin/<toolchain_prefix>-
    例如:export CROSS_COMPILE=$(pwd)/bin/aarch64-linux-android-
  3. 指定交叉编译目标架构
    export ARCH=<arch> && export SUBARCH=<arch>
    这里我用的是arm
  4. 开始编译,新建输出文件夹,如果不是首次编译需要通过第二三条命令进行清理。指定 defconfig 文件,进行编译。
    mkdir -p out
    make O=out clean
    make O=out mrproper
    make O=out <defconfig_name>
    make O=out -j$(nproc --all)
    
  5. 在4.x的机器上编译3.x的内核需要把 kernel/timeconst.pl 第373行改为 if (!(@val)) {
  1. 下载内核源码和交叉编译链
    交叉编译链我用的 https://aosp.tuna.tsinghua.edu.cn/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9
  2. 设置交叉编译链前缀
    export CROSS_COMPILE=$(pwd)/bin/<toolchain_prefix>-
    例如:export CROSS_COMPILE=$(pwd)/bin/aarch64-linux-android-
  3. 指定交叉编译目标架构
    export ARCH=<arch> && export SUBARCH=<arch>
    这里我用的是arm
  4. 开始编译,新建输出文件夹,如果不是首次编译需要通过第二三条命令进行清理。指定 defconfig 文件,进行编译。
    mkdir -p out
    make O=out clean
    make O=out mrproper
    make O=out <defconfig_name>
    make O=out -j$(nproc --all)
    
  5. 在4.x的机器上编译3.x的内核需要把 kernel/timeconst.pl 第373行改为 if (!(@val)) {

猜你喜欢

转载自www.cnblogs.com/smnet/p/10851194.html