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

本文详细介绍了如何将Linux 4.4内核移植到tiny4412开发板以及编译Android 6.0源码的过程,包括内核下载、配置修改、Android源码同步、解决编译错误和启动问题等关键步骤。
摘要由CSDN通过智能技术生成

Android预移植到tiny4412

kernel for tiny4412

 前面的文章已经把uboot给弄好了,下面就可以用自己移植的uboot来启动内核了。对于内核的移植,一开始选择的是linux4.4的内核,为什么选4.4,因为开始的时候是想在tiny4412上面跑Android 7.0的,而Android 7.0用4.4的内核比较合适,但是折腾了一段时间后发现,是我想太多了,Android 7.0上的改动还是有点打,平时在公司也比较少接触Android 7.0,所以后来还是改回移植Android 6.0了,但是内核已经能跑起来啦就不换了

 首先是下载内核,内核的下载可以通过下面的指令下载:

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

下载完后可以通过git branch -a来查看现有的Android可用的kernel版本,接着通过指令:

 git checkout remotes/origin/android-4.4-n-release

来获得Android N支持的kernel 4.4,接下来就是将kernel适配到tiny4412上了,这一部分我也是参照网上的资料来进行的,我使用的Blog教程是这个:
http://www.cnblogs.com/pengdonglin137/tag/TINY4412/default.html?page=1
目前我只移植到MMC部分

 相信各位都了解过,Android使用的Linux kernel和标准的linux kernel是有区别的,例如:标准的Linux kernel可没有binder驱动,为了让我们移植的kernel支持Android的特性,需要执行下面一条执行,将Android的特性写道.config文件中,然后再全编就好了

ARCH=arm scripts/kconfig/merge_config.sh arch/arm/configs/tiny4412_defconfig android/configs/android-base.cfg android/configs/android-recommended.cfg

如果大家觉得麻烦也可以直接到我的Github上面下载:
https://github.com/xiaojimmychen/linux-4.4

Android源码编译

 Android M的代码下载可以通过下面的指令:

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.1_r79

使用的是清华大学提供的镜像源,下载速度还是可以的,只是中间容易出现网络断开问题,要一直执行repo sync指令来同步代码而已,所以我写了一个脚本来自动执行这个步骤,下面是代码,大家可以按照自己计算机的cpu核心数改一改数值,当然还是推荐大家按照清华大学镜像源网站上说的,使用4个核心好点;接下来将下面的执行代码保存为start_repo.sh就好了,当然别忘了给start_repo.sh加上执行权限

#!/bin/bash  
echo "======start repo sync======"  
repo sync -j4
while [ $? = 1 ]; do  
        echo "======sync failed, re-sync again======"  
        sleep 3  
        repo sync -j4 
done 

 OK,代码下载完成了,下面可以使用下面的指令来添加对应的板子代码

./device/
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值