您的位置:首页 > 移动开发 > Android开发

Tiny4412上编译烧录android折腾笔记

2020-02-13 01:52 537 查看

1. 基础环境说明

  • 开发板型号:
    FriendlyARM Tiny4412SDK-1312-S702
  • 编译机linux环境:
    Ubuntu 14.04.5
    下载地址
  • Android源码版本:
    android-5.0.2-fs-20170116.tar.gz
    下载地址
  • kernel源码版本:
    linux-3.0.86-20170221.tgz
    下载地址
  • uboot源码版本:
    uboot_tiny4412_0929.tar.gz
    下载地址

2. 配置步骤

以下配置步骤假设你对linux系统的基本知识已经有所了解,并已经拥有了ubuntu系统的root权限。不要盲目复制命令执行,你需要知道每条命令做了什么,根据自己的实际情况来操作。

2.1 安装交叉编译环境

  • 用到的文件:附赠的光盘中的

    arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
    压缩包

  • 配置方法:

      首先在命令行进入压缩包所在目录并使用

      tar
      命令解压,假设压缩包所在目录为
      /mnt/Disk-A/
      ,则执行

      cd /mnt/Disk-A
      tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz –C /
    1. 配置系统环境变量。如果正常解压,此时交叉编译器已经被解压到了

      /opt/FriendlyARM/toolschain/4.5.1
      这个目录,需要设置环境变量以方便使用。

      假设你使用的shell是bash,使用你常用的编辑器(如vim,gedit)打开

      ~/.bashrc
      ,如果没有这个文件,则新建。例如:

      vim ~/.bashrc

      然后将以下语句加入该文件的最后一行。

    export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin

    之后保存退出。

    1. 注销用户并重新登录,此时在命令行执行
      arm-linux-gcc –v
      ,如果能正常输出版本信息,则说明交叉编译器已经安装成功,否则检查前两步是否出现了问题。

2.2 配置Android编译环境

  1. 安装

    java
    环境

      根据你要编译的android版本选择适合的JDK版本

    The master branch of Android in AOSP: Ubuntu - OpenJDK 8, Mac OS - jdk 8u45 or newer

    Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Ubuntu - OpenJDK 7, Mac OS - jdk-7u71-macosx-x64.dmg

    Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Ubuntu - Java JDK 6, Mac OS - Java JDK 6

    Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu - Java JDK 5

    • 以我们本次用到的Android 5.0.2 和 Ubuntu14.04为例,我们需要安装

      OpenJDK 7
      ,这个包在ubuntu的软件源里有了,所以我们只需要执行

      sudo apt-get install openjdk-7-jdk
    • 在命令行执行

      java
      javac
      来检查是否已经成功安装了java环境。

  2. 安装编译必须的软件包

  • 接下来需要在ubuntu上安装编译Android所需要的软件包。

  • 如果你是

    ubuntu14.04
    的版本,在命令行执行以下命令安装:

    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-dev libx11-dev lib32z-dev ccache \
    libgl1-mesa-dev libxml2-utils xsltproc unzip
  • 如果你是

    ubuntu12.04
    的版本,则执行以下命令:

    sudo apt-get install git gnupg flex bison gperf build-essential \
    zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
    libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
    libgl1-mesa-dev g++-multilib mingw32 tofrodos \
    python-markdown libxml2-utils xsltproc zlib1g-dev:i386
    
    sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
  • 推荐使用

    ubuntu14.04
    版本进行编译工作,避免因为版本不同出现问题。

2.3 解压源码

2.3.1 解压kernel源码

将kernel源码压缩包解压到一个用于编译的文件夹中,假设我们的压缩包放在

/tmp/compile/kernel
中,将其解压到当前目录只需要执行以下命令:

cd /tmp/compile/kernel
tar xvzf linux-3.0.86-20170221.tgz

之后就能在当前目录下看到解压好的

linux-3.0.86
文件夹。

2.3.2 解压Android源码

与解压kernel类似,同样进入压缩包所在目录将源码包解压。(解压后大概14GB,要保证磁盘空间足够)

例如:

cd /tmp/compile/android
tar xvzf android-5.0.2-fs-20170116.tar.gz

执行后就能得到解压后的android源码文件夹。

2.3.2 解压uboot源码

与前二者类似,都是使用

tar
命令解压
.tar.gz
压缩包。

例如:

cd /tmp/compile/uboot
tar xvzf uboot_tiny4412_0929.tar.gz

以上的三组命令并非必需,在图形界面里解压也并没有什么影响。

2.4 编译源码

2.4.1 编译kernel
  1. 首先进入源码所在的目录,例如:

    cd /tmp/compile/kernel/linux-3.0.86
  2. 接下来将源码中tiny4412的内核配置设为默认配置

    cp tiny4412_android_defconfig .config
  3. 然后可以对内核的编译选项进行自己的调整,执行

    make menuconfig

    会进入一个终端里的简单界面,用于调整kernel的一些编译选项

  4. 接下来就可以使用make命令进行编译工作了。

    make -jN    # N代表编译时的线程数,根据实际情况修改,可以加速编译(如 make -j8)
  5. 编译好后就可以在

    arch/arm/boot
    路径下得到一个
    zImage
    文件,这就是编译好的内核。

    下图为编译好内核时的输出

2.4.2 编译Android源码
  1. 与编译kernel类似,首先cd进入源码所在目录,并载入setenv脚本设置编译时的环境:

    cd /tmp/compile/android/android-5.0.2    # 进入目录
    . setenv   #这个点其实是个source命令,中间要有空格
  2. 执行make命令开始编译。(需要很长时间)

    make -jN    # N代表编译时的线程数,根据实际情况修改,可以加速编译(如 make -j8)

    我们的8线程笔记本在编译时的情况,CPU全部占用:

    编译结束后的输出:用时 1小时18分钟56秒

  3. 这时还没有结束,还需要执行一个脚本生成一些img文件

    ./gen-img.sh

    然后当前目录就生成了

    system.img
    ,
    ramdisk-u.img
    ,这两个就是我们接下来要用到的。

2.4.3 编译uboot
uboot这里被坑了,启动andoird后一段时间lcd灭,无反应,弄好了来填坑

2.5 烧录系统

uboot这里被坑了,启动andoird后一段时间lcd灭,无反应,弄好了来填坑

3. 参考资料

该配置指导所参考的资源、网站、个人博客有:

转载于:https://www.cnblogs.com/VV0H/p/6561310.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
anpcx9798 发布了0 篇原创文章 · 获赞 0 · 访问量 131 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: