`
quanminchaoren
  • 浏览: 926166 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ubuntu下编译android的linux内核

阅读更多

Ubuntu下编译android的linux内核类归于: Android — 标签:Android, Linux, Ubuntu — admin @ 5:04 下午 1、构建交叉编译环境 Android的默认硬件处理器是ARM的,因此我们需要在自己的host机器上构建交叉编译环境。来到CodeSourcery, (http://www.codesourcery.com /gnu_toolchains/arm/download.html),点击GNU/Linux对应的链接,再点击IA32 GNU/Linux Installer链接直接下载。把arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux- gnu.tar.bz2解压到一目录下,如~/programes/。并加入PATH环境变量: vim ~/.bashrc 添加: ARM_TOOLCHIAN=~/programes/arm-2008q3/bin/ export PATH=${PATH}:${ARM_TOOLCHIAN}; 保存,并source ~/.bashrc 2、获取内核源码 http://code.google.com/p/android/downloads/list 注意该内核版本要与你选用的模拟器版本尽量一致。下载后,解压后得到kernel.git文件夹: tar -xvf ~/download/linux-2.6.25-android-1.0_r1.tar.gz 3、获取内核编译配置信息文件编译内核时需要configure,而一般configure的选项很多,我们往往不知道需要那些选项。Android模拟 器运行时,有一文件/proc /config.gz, config.gz是当前内核的配置信息文件,我们把config.gz获取出来,解压放到kernel.git/之下(改名为.config): cd kernel.git/ emulator & adb pull /proc/config.gz gunzip config.gz mv config .config 4、修改Makefile 修改195行: CROSS_COMPILE = arm-none-linux-gnueabi- 将CROSS_COMPILE值改为arm-none-linux-gnueabi-,这是我们安装的交叉编译工具链的前缀,修改此处意在告诉make在 编译的时候要使用该工具链。注释562,563行: #LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%, # $(call ld-option, -Wl$(comma)?build-id,)) 将build id 值注释掉,因为目前版本的android内核不支持该选项。 5、编译 make 很快就编译好,并生成zImage: LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready 生成zImage大小为1.23M,android-sdk-linux_x86-1.0_r2/tools/lib/images/kernel- qemu是1.24M 6、用模拟器加载内核测试 cd android/out/cupcake/out/target/product/generic emulator -image system.img -data userdata.img -ramdisk ramdisk.img -kernel ~/project/android/kernel.git/arch/arm/boot/zImage 模拟器加载成功就OK了

分享到:
评论

相关推荐

    在Ubuntu下载、编译Android内核源码

    请注意,编译内核不仅需要对Linux内核有一定了解,还需要对Android系统的构建过程有深入的认识。在进行内核定制时,务必谨慎操作,因为错误的配置或编译可能导致系统不稳定甚至无法启动。同时,保持与官方内核的同步...

    Ubuntu-32位机安装编译Android2.3源码及内核

    在本文中,我们将深入探讨如何在Ubuntu 32位系统上安装、编译Android 2.3源码以及内核,并解决编译过程中可能遇到的问题。Android 2.3,也被称为Gingerbread,是Android操作系统的一个重要版本,对开发者来说具有...

    ubuntu 下 编译 ffmpeg for Android armv7-a armv8-a

    在Ubuntu上编译Android应用程序或库(如FFmpeg)允许开发者利用其丰富的开发工具和调试支持。 2. **FFmpeg**: FFmpeg是一个跨平台的多媒体处理工具,包含了各种编解码器、过滤器和协议。它能够处理各种音频和视频...

    在Ubuntu上下载、编译和安装Android最新内核源代码

    Android内核通常基于某个Linux内核版本进行定制和优化。 **1. 查看可用的内核版本** 在`common`目录下运行`git branch -a`查看所有可用的分支: ```bash cd common git branch -a ``` 假设你选择了`android-...

    linux编译android内核源码问题

    ### Linux下编译Android内核源码遇到的问题及解决方案 #### 概述 在尝试编译Android内核源码的过程中,经常会遇到各种错误提示。本文将针对这些常见的编译错误进行详细解析,并提供相应的解决办法。这对于那些正在...

    在Ubuntu上下载、编译和安装Android最新内核源代码(LinuxKernel).pdf

    在Ubuntu系统上构建和安装Android的最新Linux内核源代码是一项技术性的工作,涉及到一系列步骤。首先,要明确的是,Android的源代码仓库并不直接包含Linux内核源代码,而是依赖于预先编译好的内核镜像。如果你想要...

    树莓派linux内核交叉编译shell脚本.zip

    这个压缩包文件"树莓派linux内核交叉编译shell脚本.zip"提供了在Ubuntu环境下为树莓派进行Linux内核交叉编译的工具和指南。交叉编译是在一个操作系统上编译另一个操作系统上的软件,这里是Ubuntu为树莓派编译Linux...

    Ubuntu Android源码以及内核下载与编译

    在开始之前,你需要安装OpenJDK,它是Java开发工具包,对于编译Android源码至关重要。你可以通过以下命令安装: ```bash sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install ...

    Android linux 内核开发环境(虚拟机,LINUX, secureCRT)安装过程.doc

    在Android开发过程中,有时需要对Linux内核进行定制和优化,以满足特定设备或功能的需求。为此,开发者通常会在虚拟机上搭建一个Linux开发环境,然后通过远程终端工具如secureCRT进行连接。以下是一个详细的Android ...

    Ubuntu 10.04下编译Android源码全过程

    在Ubuntu 10.04环境下编译Android源码的过程是一项复杂的任务,涉及到多个步骤和技术。首先,要了解Git,这是一个分布式版本控制系统,由Linux Torvalds创建,用于管理Linux内核开发。与传统的集中式版本控制系统如...

    ubuntu12.04编译android4.1.1_r6源代码步骤.pdf

    在本文中,我们将详细探讨如何在Ubuntu 12.04环境下编译Android 4.1.1_r6源代码。这个过程分为几个关键步骤,包括安装必要的软件、配置环境和下载源代码。 首先,确保你的硬件配置满足基本要求,例如拥有Intel Core...

    小米mix3内核编译过程.docx

    在这个例子中,我们选择了Ubuntu 14.04版本的操作系统,这个版本自带了Linux 4.4.0-142-generic版本的内核。 二、编译器环境搭建 编译器是编译内核所需的关键工具。在这个例子中,我们使用了来自谷歌的aarch64-...

    Android内核编译手册

    《Android内核编译手册》是一本专注于指导用户如何编译Android操作系统的内核的详尽指南。在Android系统中,内核起着至关重要的作用,它是连接硬件和上层软件的桥梁,负责管理和调度系统资源。对于开发者来说,理解...

    Ubuntu 8.04下编译Android源码全过程.doc

    ### Ubuntu 8.04下编译Android源码全过程知识点详解 #### 一、获取Android源代码 在本文档中,介绍了如何在Ubuntu 8.04系统环境下获取Android源代码的过程。此过程主要涉及到了Git版本控制系统的使用以及Repo脚本...

    Ubuntu下搭建Android开发环境

    2. **兼容性与性能**:Ubuntu下的Android开发环境能够充分利用硬件资源,优化编译与调试过程。 3. **集成工具**:Ubuntu内置了大量开发所需的基础工具,如GCC、GDB等,简化了开发环境的搭建流程。 #### 二、Android...

    Ubuntu中为Android系统上实现内置C可执行程序测试Linux内核驱动程序

    在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc系统文件/...

    Ubuntu_10.04下编译Android源码实用.pdf

    【Ubuntu 10.04下编译Android源码实用指南】 在Ubuntu 10.04系统中编译Android源码是一项复杂的过程,需要掌握Git版本控制系统以及Android的Repo工具。Git是Linux Torvalds为管理Linux内核开发而创建的分布式版本...

Global site tag (gtag.js) - Google Analytics