Linux下android内核编译

Android 系统编译内核编译 本来想超频自己的手机的,于是发现需要编译内核才能实现 作为Android开发者的我 没有任何内核编译经验,只是想试一下, 于是折腾了两天终于把内核成功编译出来了 现在分享下学习经验 我的是小米手机,其实我看了一下github, 其他手机的内核开源的目录结构几乎是一样的,所以应该是同一种编译方式 网上的文章实在太少了, 真的是太少了!!! 少到你只能找到几篇英文的国外文章… 但论坛上都... 阅读详情

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界面出现了,,,,

编译安卓内核教程(2023,6,13) 2023六月最新构建安卓内核的教程,简单粗暴,无脑复制黏贴即可。 阅读详情

相关推荐

Linux 4.4内核移植以及Android系统编译

Android M预移植到tiny4412

xiaojimmychen的专栏 1万+

Android内核编译

Android内核编译需要是Mac或者ubuntu系统,centos和windows系统是不行的,磁盘需要不低于170G,如果磁盘太小编译不过,引发异常而导致中断。如果是使用的是MacOS,必须在要重新划分磁盘分区,以区分大小写,原有的磁盘不区分大小写,没法编译软件,另外换需要下载Xcode环境,配置比较麻烦, 内存下载也比较慢,很需要硬盘空间。所以我使用的是ubuntu系统统,很曲折,我执行的时候由于申请总磁盘300G,但是执行目录才100G,有没挂载其他硬盘,文件夹运行的磁盘剩余空间太...

一杯清泉 5793

android编译linux内核

本文以高通410c开发板为例分析linux kernel如何在android编译。 大家知道android系统原始代码中是不包含kernel代码的。为了编译方便需要厂家自己将kernel集成到android编译系统中去。 在高通410C的源码树中我们可以看到kernel代码仓。这是因为高通自己做了集成。 进入kernel目录,可以看到目录中多出了一个文件AndroidKernel.mk,

1145

Android Kernel 编译与调试指北

经过一步步的摸索,将Linux内核成功运行到了Cuttlefish中,在Cuttlefish的环境下,可以调试内核,调试Native代码,调试Framework代码,也可以当作你的常用“开发机”使用。该文章是笔者学习中的一个总结,由于知识面的狭隘总有认识不到的错误产生,请大家不吝赐教。如果大家学习中遇见问题,也欢迎大家交流沟通。

Eqiqi的博客 4406

编译安卓内核教程

如果里面没有config文件,那么你就需要从你的官方boot里面提取了,先下载或者从你设备提取boot分区出来,上传到Linux环境里面,cd到内核源码里面,执行scripts/extract-ikconfig工具提取config信息。一、 从你的手机里面提取config.gz文件,在/proc/config.gz路径,这个文件是构建你手机内核的配置文件,这个默认是官方的,如果没有这个文件,那你需要通过解包boot.img来获取,稍后会说。先去你的内核源码里面看看,有没有config文件。

wyh757787026的博客 5133

安卓 arm linux内核编译环境变量,Android内核源码 在Ubuntu上下载,编译,安装

从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。那么,如何才能DIY自己的内核呢?这篇文章一一道来。一. 首选,参照前一篇在Android源码 在Ubuntu上下载,编译和安装准备好Android...

weixin_42099987的博客 611

android下的linux内核编译

二、android中bootimage的生成 0.linux VMLINUX 的生成      vmlinux(vmlinuz)是一个包含linux kernel的静态链接的可执行文件,文件型态可能是linux接受的可执行文件格式之一(ELF、COFF或a.out)。vmlinux是未压缩的内核,vmlinux 是ELF文件,即编译出来的最原始的文件。       下面以mtk6582分析为

lxl584685501的专栏 8287

编译Androidlinux内核,并用emulator命令启动编译好的linux内核

准备工作 使用上一篇文章,编译Android源码,并用模拟器启动编译好的镜像,可以

gs344937933的专栏 1929

安卓 arm linux内核编译环境变量,在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)...

在前一篇文章(http://www.linuxidc.com/Linux/2011-06/37781.htm)提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。那么,如何才能DIY自己的内核呢...

weixin_35651916的博客 347

Android Linux内核编译调试

http://bbs.pediy.com/showthread.php?t=192746 对于在Windows上写代码写习惯的人,调试是必不可少的手段,但是转到Android以后,发现调试手段异常简陋,跟Windows简直不是一个级别,特别是Android内核调试,网上资料也相对较少,不过通过一段时间的倒腾,我终于找到了还算靠谱的调试方法.就是利用Emulator + Eclipse进行And

老孙的android6探索之旅 2952

编译androidlinux内核

编译androidlinux内核 分类: android 2009-03-19 09:36 2311人阅读 评论(1) 收藏 举报 参考文档:http://linux.chinaunix.net/techdoc/beginner/2009/02/06/1060906.shtml 运行环境:Ubuntu8.10 1、构建交叉编译环境 Android的默认硬件处理器是ARM的,因此我们需要

shangyaowei的专栏 367

linux android内核编译时间,Linuxandroid内核编译

Linux系统为Red Hat按步骤来吧!一,安装Linux JDK1,网上下载jdk(jdk-6u24-linux-i586.bin),64位的需下载另一个jdk-6u24-linux-x64.bin2,保存到安装目录下(/usr/local),直接执行./jdk-6u24-linux-i586.bin解压到/usr/local/jdk1.6.0_24目录3,配置环境变量#vi /etc/pro...

weixin_39998906的博客 183

macos下编译linux内核,Mac OS X 编译Android内核源代码

我在Mac电脑上编译Android内核源代码遇到了不少问题,下面对遇到的问题进行一个简单的总结,希望对大家有所帮助。1、Android编译内核的源代码和编译Rom的源代码是分开的,因此如果要编译内核的话,需要单独下载。用git从谷歌的网站上克隆:git clone http://android.googlesource.com/kernel/goldfish.git注意这里不要用https,我用...

weixin_39597987的博客 636

三、编译Android源码与Linux内核

1准备Android编译环境 需要安装编译过程中的依赖的其他第三方库。 sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-...

AFEIXING的专栏 821

Android内核开发 Goldfish Linux Kernel编译及安卓虚拟机测试

配置交叉编译环境 作者用的是android-ndk的/交叉编译工具 编辑配置文件 sudo vim /etc/profile

李乾文的博客 4008

Android编译 & Linux内核编译

<br /><br />Android编译<br />一、 编译环境<br />1、 交叉编译<br />Android本身带有交叉编译工具,所以不需要单独配置。<br />2、 必要的JAVA环境<br />包括JDK等,具体可以参考google的android网站。<br /><br />二、 配置<br />1、 android功能配置<br />配置文件路径 vendor/rockchip/sdkDemo/BoardConfig.mk<br /><br />三、编译<br />make prebui

深南大盗 925
上一篇: 搭建arm-linux-gcc交叉编译工具链环境(Android原生(JNI)开发环境搭建)
下一篇: JNIEnv*的常用函数详解
红尘给我滚滚
博客等级 码龄18年 65粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值