请选择 进入手机版 | 继续访问电脑版
搜索

121

主题

128

帖子

665

积分

网站编辑

Rank: 8Rank: 8

积分
665
发表于 2021-5-22 13:30:03 6681 浏览 0 回复

iTOP-3399开发板Android 7系统编译

Android7的编译环境和Android8是一样的。
首先从网盘下载迅为提供的 android 7.1 源码,在光盘的“iTOP-3399光盘资料\20210109(使用最新日期即可)\08源码_Android7.1文件系统\rk3399_7.1_industry_20201009.tar.gz”下载后得到的源码文件目录如下图:
拷贝解压生产的rk3399_7.1_industry_20201009.tar.gz(源码的发布日期会更新)文件到 Ubuntu 系统,然后在 Ubuntu 系统下解压,如下图所示:
ls rk3399_7.1_industry_20201009.tar.gz
tar -vxf rk3399_7.1_industry_20201009.tar.gz
解压完成后,得到文件夹:rk3399_7.1_industry,如下图:
1 设置屏幕
打开Android7的源码,进入/home/topeet/rk3399_7.1_industry/kernel/arch/arm64/boot/dts/rockchip目录下,打开rk3399-topeet.dtsi设备树文件,如下图所示,默认源码里面指定屏幕是10.1寸,如果我们想源码里面指定屏幕是其他尺寸,将指定屏幕的宏定义生效就好了。如果想指定屏幕为HDMI屏幕,指定屏幕宏定义的任意一个即可支持HDMI屏幕。
例如,我想指定屏幕为7寸屏,修改设备树,如下图所示:
2 整体编译
注意!!!编译Android 7 要首先输入“su”命令,然后输入“topeet”密码,切换到root用户下再开始编译。
指定好屏幕后,使用 cd 命令进入到rk3399_7.1_industry文件夹,然后输入编译脚本“./build-rk3399-topeet.sh ”开始编译 android 7.1 系统,如下图:
编译中,如下图所示:
编译的过程中,可能会遇到错误,出现这个错误是由于电脑内存不足,如下图所示:
我们需要终端输入如下命令:
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g"
./prebuilts/sdk/tools/jack-admin kill-server
./prebuilts/sdk/tools/jack-admin start-server
然后再继续编译,如下图所示:
编译过程如下图所示:
如果编译出现如下图所示的错误,请参考章节Android8系统整体编译
编译完成,如下图所示:
我们进入到rockdev/Image-rk3399_topeet/目录下,可以看到生成的镜像,如下图所示:
3 单独编译
单独编译前,我们将原来的编译脚本备份一下,然后将光盘资料“iTOP-3399开发板\01_iTOP-3399光盘资料\20210408(使用最新日期即可)\08源码_Android7.1文件系统\Android7编译脚本.zip”目录下的编译脚本替换原来的编译脚本,再进行单独编译操作。
3.1 单独编译uboot
注意!!!编译Android 7 要首先输入“su”命令,然后输入“topeet”密码,切换到root用户下再开始编译。
使用 cd 命令进入到rk3399_7.1_industry文件夹,然后输入编译脚本“./build-rk3399-topeet.sh uboot”开始编译 android7系统的uboot,如下图所示:
编译成功如下图所示:
编译完成后生成的文件位于 u-boot 目录:
3.2 单独编译内核和设备树
注意!!!编译Android 7 要首先输入“su”命令,然后输入“topeet”密码,切换到root用户下再开始编译。
使用 cd 命令进入到 rk3399_7.1_industry文件夹,然后输入编译脚本“./build-rk3399-topeet.sh kernell”开始编译 android7 系统的内核和设备树,如下图所示:
编译完如下图所示:
编译完成后生成的文件位于 kernel 目录 。
如果修改了内核可以单独烧写kernel.img 。如果修改了设备树可以单独烧写 resource.img,这里的boot.img 用于 ota 升级,并非对应于otg烧写的 boot 分区。
3.3 单独编译Android文件系统
注意!!!编译Android 7 要首先输入“su”命令,然后输入“topeet”密码,切换到root用户下再开始编译。
使用 cd 命令进入到 rk3399_7.1_industry文件夹,然后输入编译脚本“./build-rk3399-topeet.sh android”开始编译 android 8.1 系统的文件系统,如下图所示:
文件系统编译完如下图所示:
如果出现报错,如下图所示:
我们需要在终端输入如下命令,然后再继续编译
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g"
./prebuilts/sdk/tools/jack-admin kill-server
./prebuilts/sdk/tools/jack-admin start-server
编译完成后生成的文件位于 out/target/product/rk3399_topeet目录下
如果您修改了 android 系统源码可以单独烧写 system.img,如果修改的是 android 系统中位于
ramdisk 中的内容,则需要重新烧写 boot.img注意: 这里的 boot.img 并不对应于 otg 烧写中的 boot 分区,这里的 boot.img 用于 ota 升级,烧写用的 boot.img 使用 mkimage.sh脚本 生成
3.4 编译打包镜像update.img
使用 cd 命令进入到  rk3399_7.1_industry文件夹,然后输入编译脚本“./build-rk3399-topeet.sh -u”开始编译update.img镜像,如下图所示:
编译完成,如下图所示:
3.5 清除编译命令
使用 cd 命令进入到 rk3399_7.1_industry文件夹,然后输入编译脚本“./build-rk3399-topeet.sh clean”开始清除编译,如下图所示:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表