Build Android Kernel

1.准备编译环境
sudo apt-get install build-essential ncurses-dev


2.Get kernel source


git clone git://android.git.kernel.org/kernel/common.git
git checkout origin/android-goldfish-2.6.29 -b goldfish


3.Get prebuilt source
git clone git://android.git.kernel.org/platform/prebuilt.git


4.Export Environment Variable
export PATH=$PATH:/home/falson/mydroid_prebuilt/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin
export ARCH=arm


5.设定交叉编译参数
打开kernel目录下的Makefile文件,把CROSS_COMPILE指向刚才下载的prebuilt中的arm-eabi编译器
CROSS_COMPILE ?= arm-eabi-

LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,/
$(call ld-option, -Wl$(comma)–build-id,))
这一行注释掉,并且添加一个空的LDFLAGS_BUILD_ID定义,如下:
LDFLAGS_BUILD_ID =


6.从1.5_r1捆绑的SDK中获得内核配置文件
启动模拟器,然后通过adb pull命令(该命令用于从设备上复制文件到本地)即可完成。
adb pull /proc/config.gz ~/
gunzip config.gz
mv config ~/sources/goldfish-kernel/.config
make


7.为了启动模拟器,首先需要编译出模拟器和SDK
 下载全部的工程代码
 sudo apt-get install git-core curl
 curl http://android.git.kernel.org/repo >~/bin/repo
 chmod a+x ~/bin/repo
 cd ~/mydroid
 repo sync
make
 make sdk
 生成的所有工具在~/mydroid/out/host/linux-x86/bin下
 生成的系统image在~/mydroid/out/target/product/generic下
 生成的sdk工具目录在~/mydroid/out/host/linux-x86/sdk/android-sdk_eng.falson_linux-x86/tools下
 根据SDK生成AVD:android create avd -t 1 -n falsonAVD
 通过android list target看看所有的target列表


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/knock/archive/2010/03/09/5359388.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,首先你需要有一个可以用来构建 Android 内核模块的 Bazel BUILD 文件。这个文件应该在你的 Android 内核模块的源码目录中。 然后,你可以使用下面的命令来构建你的 Android 内核模块: ``` bazel build //path/to/your/module:module_name ``` 其中,`path/to/your/module` 是你的模块的源码目录的路径,`module_name` 是你的模块的名称。 注意,你需要在系统上安装 Bazel 和 Android NDK,并且在环境变量中配置好相关路径。 希望这些信息能帮到你。 ### 回答2: bazel build android kernel module BUILD.bazel 是一个构建 Android 内核模块的命令。Bazel 是一个构建工具,它可以用于构建和测试软件项目。使用 Bazel 构建 Android 内核模块,需要提供一个名为 BUILD.bazel 的构建文件。 BUILD.bazel 文件是指定构建规则和依赖项的文件。在构建过程中,Bazel 将根据 BUILD.bazel 文件中的指示来编译和链接内核模块的源代码。被构建的内核模块可以包括设备驱动、系统服务、文件系统等。 使用 bazel build android kernel module BUILD.bazel 命令进行构建时,Bazel 将根据 BUILD.bazel 文件的指示自动解析模块的依赖关系,并将源代码编译为目标文件。构建过程中Bazel会自动执行优化和并行构建,以提高构建效率。构建成功后,生成的内核模块可以在 Android 系统中进行部署和使用。 Bazel 是一个非常强大和灵活的构建工具,可以用于构建各种类型的软件项目,包括 Android 内核模块。使用 Bazel 进行构建,可以提供一致的构建环境和可重复构建的能力,使得构建过程更加高效和可靠。 ### 回答3: 使用bazel build android kernel module BUILD.bazel可以构建一个Android内核模块。Bazel是一个用于构建和测试软件项目的构建工具。它使用BUILD.bazel文件来定义项目的构建规则。 首先,需要在BUILD.bazel文件中定义Android内核模块的构建规则。这可以包括源代码文件、依赖项和构建选项等信息。在定义构建规则之后,可以使用bazel build命令来执行构建操作。 执行bazel build android kernel module BUILD.bazel命令后,Bazel将根据BUILD.bazel文件中定义的规则收集所有的依赖项,并逐个编译项目中的源代码文件。然后,它将生成一个Android内核模块的二进制文件,可以在设备上加载和运行。 Bazel使用一种增量编译的方式,只编译发生变化的文件和相关依赖项,以加快构建过程。此外,Bazel还支持分布式构建,可以将构建过程分配给多台计算机来并行处理,加速构建速度。 使用bazel build android kernel module BUILD.bazel可以方便地构建Android内核模块,并提供了灵活的构建规则定义和高效的构建过程。此外,Bazel还支持其他构建操作,如bazel test用于执行测试。通过合理使用Bazel的功能,可以提高项目的开发效率和构建质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值