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子目录可以用./androidlisttargets查看当前的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界面出现了,,,,
相关推荐
### Android内核编译方法详解 #### 一、引言 随着移动互联网的快速发展,Android系统作为主流的移动操作系统之一,其开源性吸引了大量的开发者进行深入研究与定制开发。其中,Android内核编译是定制Android系统的...
### 图解Google Android内核编译教程 #### 一、Android内核编译的重要性与背景 Android是由Google公司推出的移动操作系统平台,它基于Linux内核,具有高度的可定制性和扩展性。Android的成功很大程度上得益于其...
《Android内核编译手册》是一本专注于指导用户如何编译Android操作系统的内核的详尽指南。在Android系统中,内核起着至关重要的作用,它是连接硬件和上层软件的桥梁,负责管理和调度系统资源。对于开发者来说,理解...
### Android内核编译方法详解 #### 一、引言 随着移动互联网的发展,Android操作系统逐渐成为智能手机领域的主导系统之一。对于开发者而言,了解并掌握Android内核的编译方法至关重要,这不仅能帮助他们更好地理解...
Android 内核编译方法 Android 内核编译是 Android 软件开发中的一个重要步骤。本文将详细介绍 Android 内核编译的方法,并提供有用的参考资源。 首先,需要了解 Android 内核编译的背景。Google 的 Android 项目...
【Android内核编译】是Android开发中一项高级任务,主要涉及操作系统的核心部分,用于定制和优化设备的性能。本文将详细介绍如何在Linux环境下编译Android内核,并在模拟器中运行。 首先,你需要一个合适的**工作...
本文将深入探讨“android内核交叉编译工具”的使用,以及如何配置和管理这些工具。 首先,交叉编译是针对不同架构的处理器进行编译的一种方法,因为Android操作系统可以运行在多种处理器架构上,如ARM、x86、AArch...
### Linux下编译Android内核源码遇到的问题及解决方案 #### 概述 在尝试编译Android内核源码的过程中,经常会遇到各种错误提示。本文将针对这些常见的编译错误进行详细解析,并提供相应的解决办法。这对于那些正在...
根据提供的文件信息,本文将详细解释Linux内核的编译过程。这不仅涉及到了Linux内核本身的编译步骤,还...以上是关于Linux内核编译最完整过程的成功案例的详细介绍,希望能帮助到正在学习或实践Linux内核编译的读者。
需要注意的是,一些手机内核编译还需要llvm-Snapdragon_LLVM_for_Android_6.0。 三、准备编译工作 在编译内核之前,我们需要安装一些必要的库和工具。这些库和工具包括git、ccache、automake、flex、lzop、bison、...
如果你的公司专注于定制Android系统,并且在X86平台上运行,那么理解和掌握Android-x86内核编译的过程至关重要。这个过程包括多个步骤,涉及到源码获取、配置、编译以及生成最终的ISO镜像。 首先,你需要从Android...
"android开发板.doc"和"android开发.PDF"可能包含关于Android系统在Arm设备上的开发和部署信息,这与Linux内核编译和bootloader密切相关,因为Android是基于Linux内核的操作系统。 在实践中,编译内核和调试...
### Google Android操作系统内核编译教程 #### 一、前言 随着移动互联网技术的快速发展,Android系统作为全球最流行的移动操作系统之一,在智能手机和平板电脑市场占据着主导地位。对于开发者来说,掌握如何编译...
### Android内核编译知识点详解 #### 一、Android内核概述 Android作为一个开源的操作系统,其核心基于Linux内核。Google所提供的内核源代码不仅仅包括标准Linux内核的部分,还包括了与虚拟处理器QEMU和模拟硬件...
在本文中,我们将深入探讨Linux内核编译的全过程,包括前置条件、配置、编译以及安装,同时也会涉及与Android开发相关的知识。 首先,让我们了解编译Linux内核的必要性。Linux内核是操作系统的核心部分,它负责管理...