Linux下android内核编译

7 篇文章 0 订阅
4 篇文章 0 订阅

Linux系统为Red Hat

按步骤来吧!
一,安装Linux JDK

     1,网上下载jdk(jdk-6u24-linux-i586.bin),64位的需下载另一个jdk-6u24-linux-x64.bin

     2,保存到安装目录下(/usr/local),直接执行./jdk-6u24-linux-i586.bin解压到/usr/local/jdk1.6.0_24目录

     3,配置环境变量

           #vi /etc/profile

           在profile最后面加入

           #set java environment

           JAVA_HOME=/usr/local/jdk1.6.0_24

           CLASSPATH=.:$JAVA_HOME/lib.tools.jar

           PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

           export JAVA_HOME CLASSPATH PATH

       4,设置文件链接,进入到/usr/bin目录,执行 ln -s -r /usr/local/jdk1.6.0_24/bin/java

       5,测试是否安装成功:执行java -versioin和javac命令看看是否有版本信息输出

二,Android内核编译环境搭建

       1,下载交叉编译工具,地址http://www.codesourcery.com/gnu_toolchains/arm/download.html 选择Linux版本的,我下的是arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

       2,下载Android源代码,http://code.google.com/p/android/downloads/list 现在好像挂墙了 我下了个linux-2.6.25-android-1.0_r1.tar.gz

       3,下载Android linux版本SDK,主要是用到里面的一个配置文件,android-sdk-linux_x86-1.5_r2.zip

       4,搭建编译环境,把arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2解压到/usr/local/arm-2008q3下,并将其bin路径添加到PATH中,$ export PATH=$PATH:/usr/local/arm-2008q3/bin

       5,将内核源码和SDK解压到/home/android下

三,创建一个avd

       1,到Android SDK For Linux目录下,进入tools子目录可以用./android list targets查看当前的android都提供了哪些target具体可见该文章 Android: 如何创建AVD以及选择合适target类型  http://blogold.chinaunix.net/u/20947/showart_1927099.html

    2,执行./android create avd -t 2 –n myAVD创建一个avd,这是为了获取编译内核时的一个config文件

       3,运行模拟器,././emulator -avd myAVD  在SecureCRT上使用SSH 登录后运行emulator出错:
      SDL init failure, reason is: No available video device.
            原因是他依赖X11,可以进入图形化界面来运行。

       4,运行后,打开另一个终端,进入到android sdk tools目录下,执行./adb pull /proc/config.gz .命令,该命令从模拟器的/proc/config.gz文件考到当前目录下。好了,模拟器暂时用不到了,可以关闭了。

四,编译android内核

      1,将config.zg考到android内核源码目录,并解压改成.config文件,

             #gunzip config.gz

      #mv config .config

   2,修改MakeFile文件

      2.1修改CROSS_COMPILE变量为:
      CROSS_COMPILE=arm-none-eabi-    //具体看将的交叉编译工具目录bin下的文件名

      2.2 注释掉LDFLAGS_BUILD_ID这个变量:
        例如将如下定义:
        LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,/$(call ld-option, -Wl$(comma)--build-id,))

        改为

        #LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,/$(call ld-option, -Wl$(comma)--build-id,))

  3,执行make命令等待结果

       执行完后在/home/soft/kernel.git/arch/arm/boot下生成一个zImage文件

  4,在Android SDK tool目录下执行./emulator @myAVD -kernel /home/soft/kernel.git/arch/arm/boot/zImage命令,

       OK, android界面出现了,,,,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值