现在的位置: 首页 > 综合 > 正文

编译Android1.6(Donut) Emulator的内核

2013年10月16日 ⁄ 综合 ⁄ 共 1112字 ⁄ 字号 评论关闭

编译Android1.6(Donut) Emulator的内核

SDK更新内核到了2.6.29,我们可以自己来编译一个。
首先,你需要下载最新的Android Emulator的内核代码,它位于“Common Android Kernel Tree”

  1. mkdir kernel
  2. cd kernel
  3. git clone git://android.git.kernel.org/kernel/common.git
  4. cd common
  5. git checkout origin/android-goldfish-2.6.29 -b android-goldfish-2.6.29

然后,你还需要一个gcc编译器来编译kernel,它位于你的Android repo目录下,eg:prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/。如果你还没有初始化你的repo,那么开始吧:

  1. mkdir mydroid
  2. cd mydroid
  3. repo init -u git://android.git.kernel.org/platform/manifest.git
  4. repo sync

好了,准备环境变量还是编译:

  1. export PATH=$PATH:<REPO_ROOT>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/
  2. export ARCH=arm
  3. export CROSS_COMPILE=arm-eabi-
  4. make goldfish_defconfig
  5. make


译完成后,你就会得到Emulator的内核:arch/arm/boot/zImage。把他命名为kernel-qemu,替代SDK1.6的
kernel-qemu(platforms/android-1.6/images/kernel-qemu),当然,你也可以直接将这个内核拷贝的
AVD的目录(e.g.
$HOME/.android/avd/donut.avd/kernel-qemu)。这样,再次运行Emulator,他就会使用新的内核了。

emulator: argv[00] = "./emulator"
emulator: argv[01] = "-kernel"
emulator: argv[02] = "/home/william/.android/avd/donut.avd/kernel-qemu"
....
Uncompressing
Linux.........................................................................................
done, booting the kernel.

抱歉!评论已关闭.