• Android内核编译




    说明:

    我这里用的是Android 4.2.2自带的交叉编译工具。如果是使用host系统安装的,我觉得应该也是可以的。但是没有测试过。因为Android源代码已经自带了,所以大多数情况下,不需要再安装host系统的交叉编译工具。

    Android自带的交叉编译工具有两套,位于prebuilts/gcc/linux-x86/arm目录下:
    1. arm-eabi-4.6
    2. arm-linux-androideabi-4.6

    两者的区别是:后者比前者新一些,具备一些新的特性。实际测试表明都可以用来编译内核,都可以。似乎是后者更多地用于NDK。而且包含一些针对Android的特定修改。

    对于如何编译Android kernel (默认指的是给Android模拟器编译),说明文档位于Android源代码下的
    external/qemu/docs/ANDROID-KERNEL.TXT。大家可以参考。

    环境准备:

    1.将交叉编译工具链的路径加入系统路径中

    在~/.bashrc中加入如下语句(具体路径请根据自己实际情况调整):

    export PATH=$PATH:~/Android_4.2.2_r1.2/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin

    2.重新登录终端或者使用source ~/.bashrc。

    3.在命令行下执行 arm-eabi-gcc --version,如果没有出错信息,说明配置完成。

    编译:

    去google下载最新的kernel代码。假设放在了goldfish目录下,则执行以下命令编译(假设你的模拟器是armv7,你的编译工作站有8个core);
    cd goldfish
    export CROSS_COMPILE=arm-eabi-
    export ARCH=arm
    export SUBARCH=arm
    make goldfish_armv7_defconfig
    make -j8

    如果编译过程没有出错,则最后编译出的arch/arm/boot/zImage,就是我们要的kernel,可以用来测试了。

  • 相关阅读:
    Custom Settings.in 配置信息收集
    DPM恢复点和保持期、常见问题排除指南
    裸机恢复 (BMR) 和系统状态恢复
    远程桌面开启(命名空间)
    RPC终结点映射
    远程计算机 进程/服务 启动停止(WMI)
    环境变量、语言类型转换、静态类、字符串
    密封管理包
    PowerShell管理SCOM2007R2
    PowerShell管理SCOM_批量设置维护模式(上 )
  • 原文地址:https://www.cnblogs.com/jizhao/p/3741851.html
Copyright © 2020-2023  润新知