在Ubuntu上编译 emulat Android avd内核源代码(Linux Kernel)

因为我没有真机的环境  所以需要在模拟器中进行模拟进行,所以要下载支持模拟器的源代码版本,而goldfish这个源代码版本就是专门为模拟器环境而提供的。

The goldfish project contains the kernel sources for the emulated platforms.

一、首先,到

git clone https://android.googlesource.com/kernel/goldfish.git下载Linux Kernel for Android emulator源代码。

1、使用GIT工具下载,执行以下命令:

USER-NAME@MACHINE-NAME:~/$ git clone https://android.googlesource.com/kernel/goldfish.git

同样是经过漫长的等待后,在home目录下有一个goldfish目录,Linux内核代码就在这里了。

2、下载完成后,可以查看下载的内核代码版本:

USER-NAME@MACHINE-NAME:~$ cd  goldfish

USER-NAME@MACHINE-NAME:~/goldfish$ ls -a

.  ..  .git

3、 .git include 内核源代码,现在我们需要适用于模拟器用的内核,因此,我们需要checkout goldfish版本:

USER-NAME@MACHINE-NAME:~/goldfish$ git branch -a

* master

remotes/origin/HEAD -> origin/master

remotes/origin/android-goldfish-2.6.29

remotes/origin/android-goldfish-3.4

remotes/origin/linux-goldfish-3.0-wip

remotes/origin/master

选择remotes/origin/android-goldfish-3.4:

USER-NAME@MACHINE-NAME:~/my_android/kernel/goldfish$ git checkout remotes/origin/android-goldfish-3.4

二、编译内核代码。

1、导出交叉编译工具目录到$PATH环境变量中去:

USER-NAME@MACHINE-NAME:~/my_android/kernel/goldfish$

export ARCH=arm

export SUBARCH=arm

export PATH=$PATH:/home/v0idp0int/tools/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin

export CROSS_COMPILE=arm-linux-androideabi-

2、现在是要得到android的内核编译参数的配置文件的时候了,该文件需要从已经安装好的android的模拟器

中得到才行。所以安装android的sdk也是必须的,

首先启动android模拟器,然后通过adb得到模拟器中提供的内核配置文件:

USER-NAME@MACHINE-NAME:emulator &

USER-NAME@MACHINE-NAME:adb pull /proc/config.gz .

这时候adb工具会连接模拟器,并从它里面下载一个叫做config.gz的文件到你的当前目录下。

把它拷贝到你的kernel/goldfish目录:

USER-NAME@MACHINE-NAME:cd ~/my_android/kernel/goldfish

USER-NAME@MACHINE-NAME:cp ~/config.gz

解压缩该文件,并重命名为.config,这一步做了就可以跳过make menuconfig之类的内核参数设置

动作了。

USER-NAME@MACHINE-NAME:gunzip config.gz

USER-NAME@MACHINE-NAME:mv config .config

若是重新编译一个模拟器的内核版本的话,使用命令make goldfish_defconfig 或者make goldfish_armv7_defconfig产生的.config来编译内核。

时间: 2024-10-31 23:12:58

在Ubuntu上编译 emulat Android avd内核源代码(Linux Kernel)的相关文章

在ubuntu上编译jdk错误

问题描述 在ubuntu上编译jdk错误 我在ubuntu14.04上编译jdk(openjdk-7u6-fcs-src-b24-28_aug_2012.zip)错误:make[5]: *** [jvmg] Error 127 make[5]: Leaving directory /home/yuege/openjdk/build-debug/hotspot/outputdir' make[4]: *** [generic_build2] Error 2 make[4]: Leaving dir

ubuntu上编译libvnc库,报 openssl 错误

问题描述 ubuntu上编译libvnc库,报 openssl 错误 错误信息 和 libssl .libcrypto 两个库有关系. 而libssl 依赖于libcrypto,那么可以确认 是libssl的问题 . 但是 我又不敢确定一定是libssl . 系统自带的openssl ,以及 我自己安装的ssl 和libssl-dev ,我把三个 卸了,重新安装.可以依然编译报错 . 解决方案 在ubuntu上编译和交叉编译OpenSSL库在windows下编译openSSL库openssl编译

ubuntu上编译ImageStack时遇到错误

问题描述 ubuntu上编译ImageStack时遇到错误 跑有关图像代码时编译ImageStack出现以下错误 不知如何解决了,望各位帮忙解决 解决方案 看下编译器的版本或者是否缺少头文件 解决方案二: 这个定义没有找到.你对应h文件有没有正确包含. 解决方案三: ubuntu下编译时遇到的错误及解决方式ubuntu 11.10 编译Android4.0.3时遇到的错误解决

ubuntu上编译gpb时遇到问题

问题描述 ubuntu上编译gpb时遇到问题 在编译gpb时遇到以下问题 不知到怎样解决了,望各位帮忙 解决方案 看你的include有没有包含MATLABR版本号externinclude 解决方案二: mex h头文件没有找到,你编译路径配置好了吗

Linux 有问必答:如何删除 Ubuntu 上不再使用的旧内核

提问:过去我已经在我的Ubuntu上升级了几次内核.现在我想要删除这些旧的内核镜像来节省我的磁盘空间.如何用最简单的方法删除Ubuntu上先前版本的内核? 在Ubuntu上,有几个方法来升级内核.在Ubuntu桌面中,软件更新允许你每天检查并更新到最新的内核上.在Ubuntu服务器上,最为重要的安全更新项目之一就是 unattended-upgrades 软件包会自动更新内核.然而,你也可以手动用apt-get或者aptitude命令来更新. 随着时间的流逝,持续的内核更新会在系统中积聚大量的不

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

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

在Ubuntu上为Android系统编写Linux内核驱动程序

在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了.据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore.随着Android系统逐步扩大市场占有率,终端设备的多样性亟需更多的移动开发人员的参与.据业内统计,Android研发人才缺口至少30万.目前,

在Ubuntu下编译FFMPEG

在之前,我们成功地使用mingw+msys在windows平台下编译FFMpeg,并生成了ffplay.exe.现在再在Ubuntu平台上重新编译一次.相对于在windows平台上编译需要的旷日持久而且异常艰难的工作,Ubuntu上编译ffmpeg可谓是非常轻松简单的,几条简单的命令就可以轻松完成. 首先,需要在Ubuntu界面上调处命令行界面,最方便的方式是使用快捷键Ctrl+Alt+T. 第二部是安装SDL.SDL是一个开源的多媒体开发库,可以设置图像和视频的绘制等操作.如果不安装SDL,F

Android内核源码 在Ubuntu上下载,编译,安装

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