android6.0 goldfish内核,ubuntu16.04下编译android-goldfish-3.4内核源码(android6.0.1系统源代码)...

配置

笔者环境

系统: ubuntu 16.04 LTS

硬盘: 固态硬盘

笔者刚开始直接克隆的时候出现如下错误:

error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected

所以将buffer配置增大

git config --global http.postBuffer 520000000

开始克隆

这里使用的是国内的镜像

git clone https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.git

81ebf395605d697b9039964684725b0c.png

刚克隆完是没有内容的,可以用如下命令看下分支,注意分支是

android-goldfish-3.4,这个是android系统源代码6.0.1的内核版本。

360bd1398890f1f50d6e01c0e9a3176c.png

编译源码

根目录下配置脚本build.sh,其中的PATH路径替换成你本机的

export ARCH=arm

export SUBARCH=arm

export CROSS_COMPILE=arm-eabi-

export PATH=/media/byhook/Backup/Code/6.0.1_r74/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin:$PATH

make goldfish_armv7_defconfig

make -j4

开始编译

bash build.sh

整个过程比编译源代码快多了,几分钟就可以了

42e9afca504fd4b96d50943c8761e3fc.png

可以看到最终生成的文件:

76918d2ac9c5b95ff1b7c4a9461782b2.png

编译Android6.0.1源码

下载和编译配置过程不多说,可以参看之前的文章,Android系统源代码的下载与编译

需要注意的是:

需要将art/build/Android.common_build.mk中的ART_HOST_CLANG改为false

ART_HOST_CLANG := false

ifneq ($(WITHOUT_HOST_CLANG),true)

# By default, host builds use clang for better warnings.

ART_HOST_CLANG := false

endif

开始编译

make -j8

d1557564db49bb0b87aee0ad511a8435.png

配置下相关的环境变量:

export PATH=$PATH:$android/out/host/linux-x86/bin

export ANDROID_PRODUCT_OUT=$android/out/target/product/generic

注意其中的$android是你的android6.0.1的源码根目录。

启动模拟器:

source build/envsetup.sh

lunch 1

cd ~/Code/goldfish

emulator -kernel ./arch/arm/boot/zImage &

注意其中的路径需要替换成你自己的,比如~/Code/goldfish这个就是存放android-3.4内核源代码的目录

6e5bdc24b38d12a95fec73f61d3990fa.png

可以看到红色区域就是下午编译的内核版本信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值