Android内核编译、调试环境配置

技术小白 专栏收录该内容
14 篇文章 0 订阅

前言:2014-08-30记录在hi baidu上,现在移过来

前提:JDK、SDK都已配置OK!

一、使用git下载,执行命令

cd ~/Android/AndroidKernel

git clone https://android.googlesource.com/kernel/goldfish.git

大约有600多MB,如果有稳定的代理把https换成http。

二、获取源码,我这里获取的是3.4的源码

cd goldfish     

git branch -a   会列出goldfish内核所有的版本

git checkout -t remotes/origin/android-goldfish-3.4 -b goldfish3.4 

三、获取交叉编译工具

cd ..

git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6

四、编译内核

1. export刚才下载的交叉编译工具的目录到$PATH中:

    export PATH=$PATH:~/Android/AndroidKernel/arm-eabi-4.6/bin

2. 修改goldfish目录下Makefile文件:

    # ARCH ?= (SUBARCH)
    # CROSS_COMPILE?= 
    ARCH              ?= arm
    CROSS_COMPILE     ?= arm-eabi-

3. 编译

    make ARCH=arm goldfish_defconfig (或者:make ARCH=arm goldfish_armv7_defconfig)

    make ARCH=arm menuconfig (修改配置选项)

    进入内核配置界面,勾选下列选项
    [*] Kernel hacking
         [*] Compile the kernel with debug info
         [*] KGDB: kernel debugging with remote gdb --->   (这个我始终没找到)
         [*] Enable dynamic printk() call support

    make


编译成功:
    OBJCOPY arch/arm/boot/zImage
    Kernel: arch/arm/boot/zImage is ready

五、加载刚编译的内核

  1. 启动模拟器加载内核

    emulator -show-kernel -kernel ~/Android/AndroidKernel/goldfish/arch/arm/boot/zImage @Android2.3 -no-skin -logcat *:v -qemu

  2. 新打开一个Terminal查看内核版本

    adb devices
    adb shell
    cat /proc/version

六、启动arm-eabi-gdb调试内核

  1. 启动一个带监听端口的模拟器

    emulator -show-kernel -kernel ~/Android/AndroidKernel/goldfish/arch/arm/boot/zImage @Android2.3 -no-skin -logcat *:v -qemu -gdb tcp::12345,ipv4

  2. 新打开一个Terminal用于调试,执行以下命令

    export PATH=$PATH:~/Android/AndroidKernel/arm-eabi-4.6/bin/arm-eabi-gdb

    target remote localhost:12345 接下来就可以调试了!

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值